5 ms·
In-memory capability, hiring pool of MySQL/MariaDB developers tends to be larger/wider, Galera cluster (M-M functionality), if the queries trend towards simplic
by icelancer 9y ago
In-memory capability, hiring pool of MySQL/MariaDB developers tends to be larger/wider, Galera cluster (M-M functionality), if the queries trend towards simplicity then MySQL/MariaDB tends to be more performant, Postgres can have issues with write amplification, etc.
Uber (I know, I know) switched to MySQL, here are some reasons why:
https://eng.uber.com/mysql-migration/ https://eng.uber.com/mysql-migration/
- netcraft 9y agocan you elaborate on the in-memory capabilities you mention? My google searches aren't yielding anything.
- j_s 9y agohttps://dev.mysql.com/doc/refman/5.5/en/memory-storage-engine.html https://dev.mysql.com/doc/refman/5.5/en/memory-storage-engin... https://stackoverflow.com/questions/10692398/how-do-i-make-a-mysql-database-run-completely-in-memory https://stackoverflow.com/questions/10692398/how-do-i-make-a... https://www.google.com/search?q=mysql+in-memory https://www.google.com/search?q=mysql+in-memory maybe?
- netcraft 9y agoI'm aware of the memory capabilities of mysql in general, but the insinuation was that mysql had more capabilities of in-memory processing than postgres - I dont see anything in those links that are things that postgres cant do - although they may be implemented differently.
- haimez 9y agoThe honest answer is that you can get the desired result with Postgres, even if it might require a custom foreign data wrapper implementation. Carpenters pick their favorite saws, and they like MySQL. To be fair, uber did get burned by a Postgres replication failure- but they also had a NOC team promote 3 bad replicas to primary before stepping back to reconsider their approach. Carpenters do hate losing their fingers in circular saws.
- riku_iki 9y agoIt is simple, MySql has in-memory storage, and PSQL doesn't: all updates for your table are forced to be synced to the disk, which kills performance.
- j_s 9y agoWhy Uber Engineering Switched from Postgres to MySQL | https://news.ycombinator.com/item?id=12166585 https://news.ycombinator.com/item?id=12166585 Re: Why Uber Engineering Switched from Postgres to MySQL | https://news.ycombinator.com/item?id=12179222 https://news.ycombinator.com/item?id=12179222 Why we lost Uber as a user | https://news.ycombinator.com/item?id=12201353 https://news.ycombinator.com/item?id=12201353 > naming / pronunciation diversion: https://news.ycombinator.com/item?id=12201672 https://news.ycombinator.com/item?id=12201672
- dx034 9y agoI never understood which table caused these issues at Uber. They use an example with birthday changes for users. That's no real world example. Apparently issues were caused by a small table updated 500+ times a second and used in a lot of joins. That could be the driver table but why would they update it so much? Personal information rarely changes and live information about the driver (trip status, position, online/offline) should be stored separate from that? And you wouldn't need transactions around those updates? Did they ever clarify what data actually caused the issues?
- merb 9y agoplease don't use uber as an example. they made just so many mistakes with postgresql (mistakes that would probably blow up a ton of databases including mysql)
- technion 9y agoThe fact is there are decision makers - often non-technical ones - who do look at Uber as an example. It's something we should at least consider an issue, even if it doesn't feel like a valid technical issue.
- merb 9y ago> Galera cluster (M-M functionality) not sure if galera cluster is a good thing.. we've started out with galera and it was a pain. we now run on postgres, but even if we would've stayed with mysql we wouldn't use galera anymore. network split was a pita, even if you had major quorum.