Hey everyone, Some of us had a discussion about MariaDB support here https://github.com/apache/airflow/pull/18506 and as a result I think this might be a good time to talk about the Elephant in the room we have.
I would like to know what others think about the potential of REMOVING MySQL support in future Airflow versions ? I believe for quite some time MySQL is the "Elephant in the room" for us, and it's one of the things that already slows us down when we add new features and when at some point we start thinking about Airflow 3, maybe, just maybe we could think about removing support for it. Why thinking about removing MySQL? Quoting the quote of Kaxil from our discussion " "Do less but do them well". We are relying more and more on more sophisticated features and queries of the underlying DB and this has already hit - especially the people who developed new features but also those who helped others with issues. There are multiple problems with MySQL: deadlocks, encoding problems, support for different query constructs we have and they keep on reappearing. I personally developed quite negative feelings for MySQL while working on Airflow. Some more context: * All the Airflow-As-A-Service providers are using Postgres now as of Airflow 2. * It seems from some discussions with people - that migration from MySQL to Postgres is possible and we could even develop a tool for that for users who would like to migrate in Airflow 3. * We also have MsSQL - which is fresh but I think there might be stronger reasons for people to use it - especially if they are in Azure/MS "world" (but we could also consider dropping it as well) * I do not think there are "super-strong" reasons why people would like to stick to MySQL. Yes, there are people who prefer it - but in our case the DB is really an "internal" piece of Airflow. I can imagine people use Postgres only for Airflow even if for the majority of other things they use MySQL. * MySQL was 25% last time we checked: https://airflow.apache.org/blog/airflow-survey-2020/ but I bet a lot of that was Composer 1.* (Which with Airflow 2 is gone). I wonder what others think? J.