I can't speak to general performance between MySQL and PostgreSQL, but I can tell you a real-world specific issue I we have faced being on MySQL for Airflow.
MySQL locking and Airflow's rendering of task fields do not play nice, and we see many errors (the relevant GitHub issue: https://github.com/apache/airflow/issues/32342). It has led us to avoid using Dynamic Task Mapping, as well as nesting of Task Groups, while we are still on MySQL, which is a shame because these features would be a natural fit to solve some of our problems. Damian -----Original Message----- From: Jigar Parekh <ji...@vizeit.com> Sent: Monday, October 14, 2024 2:35 PM To: dev@airflow.apache.org Subject: Re: [DISCUSSION] Plans for Database backend In my understanding, the slower performance of PostgreSQL is a known behavior for write intensive applications. PGBouncer used for connection pooling cannot change/improve that. And Airflow with multiple DAGs and/or dynamic tasks with heavy workload will be write intensive. I have done extensive tests and have collected database statistics that show the bottleneck. I can share the details if you would like to see. I am wondering if there are any load tests or comparisons done so far by anyone in the community. Unless I am doing something totally wrong, PostgreSQL actually does not seem to be a right choice at all; slower performance and higher cost (due to PGBouncer process) compared to MySQL Jigar > On Oct 14, 2024, at 2:41 AM, Jarek Potiuk <ja...@potiuk.com> wrote: > > MySQL is not going away. You can use it if you want. We have no plans > to remove it. > > The advice did not change. Postgres is generally more stable that's > why we recommend it. MySQL has much worse locking behaviour that is > somewhat unpredictable and - especially when you use backfills - it is > known to generate occasional deadlocks. This is likely why you got the > advice (quite likely by me). > > But in general it's fully supported and works and we have no plans to > get rid of it. > > Re: cost/price - it's up to you to choose and pay for services you use > - we do not compare pricing of all possible available services. > > Also if you follow the best practices for Postgres (use pgbouncer: > https://airflow.apache.org/docs/apache-airflow/stable/howto/set-up-dat > abase.html#setting-up-a-postgresql-database), > it's unlikely you will have slower postgres with similar machine/setup. > > J. > > >> On Mon, Oct 14, 2024 at 7:38 AM Jigar Parekh <ji...@vizeit.com> wrote: >> >> Back in June’24, I had a discussion on Slack about a database issue. >> My database backend for the Airflow instance is MySQL. It was >> recommended to migrate to PostgreSQL to resolve such issues. I was >> also told that MySQL may not be supported in the future versions. I >> configured PostgreSQL and performed few tests to compare both the DBs >> with the type of heavy workload I was expecting for my airflow >> instance in the production environment. The test results did not show >> a reason to switch from MySQL to PostgreSQL. In fact, PostgreSQL >> performed slower and airflow configuration cost more compared to >> MySQL. I wanted to start this discussion to find out if others have >> any similar observations about Postgres and what is Airflow community >> planning to do about MySQL support in the future versions? >> >> Jigar >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org >> For additional commands, e-mail: dev-h...@airflow.apache.org >> >> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org For additional commands, e-mail: dev-h...@airflow.apache.org ________________________________ Strike Technologies, LLC (“Strike”) is part of the GTS family of companies. Strike is a technology solutions provider, and is not a broker or dealer and does not transact any securities related business directly whatsoever. This communication is the property of Strike and its affiliates, and does not constitute an offer to sell or the solicitation of an offer to buy any security in any jurisdiction. It is intended only for the person to whom it is addressed and may contain information that is privileged, confidential, or otherwise protected from disclosure. Distribution or copying of this communication, or the information contained herein, by anyone other than the intended recipient is prohibited. If you have received this communication in error, please immediately notify Strike at i...@striketechnologies.com, and delete and destroy any copies hereof. ________________________________ CONFIDENTIALITY / PRIVILEGE NOTICE: This transmission and any attachments are intended solely for the addressee. This transmission is covered by the Electronic Communications Privacy Act, 18 U.S.C ''2510-2521. The information contained in this transmission is confidential in nature and protected from further use or disclosure under U.S. Pub. L. 106-102, 113 U.S. Stat. 1338 (1999), and may be subject to attorney-client or other legal privilege. Your use or disclosure of this information for any purpose other than that intended by its transmittal is strictly prohibited, and may subject you to fines and/or penalties under federal and state law. If you are not the intended recipient of this transmission, please DESTROY ALL COPIES RECEIVED and confirm destruction to the sender via return transmittal.