brent timothy saner via plug on 5 Dec 2021 13:37:26 -0800 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: [PLUG] Thoughts on MySQL from a developer |
On 12/5/21 15:50, JP Vossen via plug wrote: > Here are some thoughts on MySQL from a developer that just left Oracle > and the MySQL team. They are...interesting. > > http://blog.sesse.net/blog/tech/2021-12-05-16-41_leaving_mysql.html > > I wasn't surprised that the code was "not good" but I *was* surprised at > how not good it was and the flat out statement: "MySQL is a pretty poor > database, and you should strongly consider using Postgres instead." > I've never quite understood how MySQL got the mindshare it did, but > there are an awful lot of projects that Just Work with MySQL and either > don't work or require contortions for Postgres. Given a choice I'd > always go Postgres. > > Later, > JP Sausage is always gross when you see how it's made, so grain of salt. That being said, a couple points: - I'm absolutely positive "the Oracle effect" was in full swing on MySQL (proper)'s codebase. - MariaDB has gone a long way in fixing some terrible design decisions MySQL proper ("Oracle MySQL"?) has made, and historical messes before the acquisition. - PostgreSQL is still a memory hog for concurrent clients. If you're scaling horizontally, your DB box will need swathes of RAM as each client connection (*each connection*) requires about 10MB RAM on the DB box for PostgreSQL. Your program opens a pool of 50 workers? That's 500MB consumed on the DB server. Scaling that out to multiple app nodes; say, three nodes? Instant ~1.5GB consumed *before you start even running queries*. - If you need something simple and relational that's *really* performant on reads but still.. networkable/not something local on the filesystem, nothing beats MySQL with ISAM tables. (And yes, the argument can be made that ISAM shouldn't be used, and there are valid concerns, but if performance is your primary concern...) - you know, like 90% of webapps out there would benefit from. - It is very, very common that something supports both PostgreSQL and MySQL. It is very common something only supports MySQL. It is *extremely rare* that something only supports PostgreSQL. Do I use PostgreSQL if I need complex queries/in-engine operations, or extensive type constraining, etc.? Absolutely. It's fantastic for that. It fulfills a certain set of needs *wonderfully*. But would I use it for something like a basic inventory system, or a pub/sub backend, etc.? No. Stick with MariaDB for that. There's no need to feed the PostgreSQL beast if you don't need it shackled in your basement. ___________________________________________________________________________ Philadelphia Linux Users Group -- http://www.phillylinux.org Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug