10/31/2023 0 Comments Postgresql vs mysql vs mariadb![]() And this is a logical prioritization choice for the project’s maintainers - according to the 2022 JetBrains survey of Django developers, 79% of them work with PostgreSQL while only 28% use MySQL in any capacity.īetter full text search. Django has many useful features that only work with PostgreSQL, and many more cases where “ this works on MySQL, but not as well as on PostgreSQLâ€. In PostgreSQL, such a failure simply results in the transaction being rolled back so the database is left in the state it was in before the migration attempt.ġst-class Django support. ![]() If a database schema migration fails in MySQL, it has a nontrivial risk of leaving the database in a broken state that triggers a CAT-1 incident to restore site functionality. Why add PostgreSQL support?Īt first the gaps in functionality and reliability between MySQL and PostgreSQL were perceived as annoying nuisances, but as the scale of Open edX and the sites running it have grown, so has the scale of the pain in dealing with MySQL’s foibles. And even more problematic, they would have a pretty foundational difference in their software stack from the edx.org site driving most development on the code, leaving them exposed to potential bugs related to new commits not correctly accounting for the different database (or having bug reports de-prioritized as being potentially due to a custom choice of database that doesn’t impact most site operators). Most of the other development organizations in the Open edX ecosystem also have large legacy MySQL databases that would need to be migrated or maintained in parallel with newer PostgreSQL databases. ![]() Why hasn’t anybody outside edX/2U added PostgreSQL support? The migration would not have been trivial, and the arguments for it boiled down to “we could stop wasting time on this assortment of MySQL bugs and quirks that we’ve mostly learned to work around and live withâ€. So, why didn’t we switch once Aurora offered it?īy that point we had a pretty large database with 6 years of history for one of the highest-traffic educational web sites in the world. PostgreSQL support again lagged, not becoming available until October 2017. Then in November 2014, AWS Aurora was released with functionality even more appealing for operating sites of the scale edx.org was becoming. Why didn’t we switch to PostgreSQL once RDS offered it?įirst, edX developers were too busy adding the aforementioned new features. Using RDS freed up developer bandwidth to work on the new features needed in the startup phase to ensure that edX would survive long enough for anyone to still care about the choice of database. ![]() General consensus among the developers at the time was that PostgreSQL would have been a better long-term choice, but RDS offered vastly simpler operational overhead compared to the other database hosting options available at the time. (PostgreSQL support was added in November 2013). History Why was MySQL chosen in the first place?Īlmost exclusively because when edX was started back in 2011, AWS RDS supported MySQL but not PostgreSQL. This page attempts to summarize the reasons on both sides and detect if/when we reach a point when it becomes worthwhile to prioritize adding PostgreSQL support. There are also very good reasons why this hasn’t been done already. Currently MySQL is the only relational database supported for use with Open edX, but there are solid reasons to seriously consider adding support for PostgreSQL also.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |