MySQL, ScyllaDB, and RabbitMQ. A stack made in pragmatist heaven by devops angels. Now to find some developers who don’t hate it ;)
MySQL, ScyllaDB, and RabbitMQ. A stack made in pragmatist heaven by devops angels. Now to find some developers who don’t hate it ;)
I have to say, I do love PostGIS. But for "this data absolutely cannot be lost or its game-over", I'd go MySQL every time. I can and have debugged MySQL replication on zero hours of sleep. It's entirely possible Postgres 16 is the better choice for new projects today, but I haven't had the time to try it out in production yet.
Man...times have seriously changed if that's the case. Good for MySQL to improve enough to get that recommendation.
* undetected hard disk in array fails
* battery in array controller fails
* disk fills up
* dubious backups, with no point-in-time recovery
* extremely poorly written SQL queries
* poory configured MySQL (in oh-so-many ways)
The top three (at least) would lastly cause replication lag, which would eventually trigger an alert. ... And yet we never lost a cluster. (And we far a lot of them!)
My team sweated blood improving processes and tooling, and then I spent a 6 month stint on database clusters (switching to GTID based replication and rewriting the ops config code so that they were all consistently configured and monitored).
Occasionally we'd get a new senior hire insist that PostgreSQL was a necessity, so we'd stand back and let them produce a proof of concept that stood up to the types of failures our MySQL clusters dealt with regularly, without waking oncall up at night. And it was always a bit of a joke by comparison.
The way Facebook apparently uses MySQL is not "MySQL + k/v store" but "MySQL is the k/v store". Forget SQL, they treat it as a key-value lookup and it's good enough for that. This also explains a lot of oddities coming out of FB engineering open source that at times look like they're trying to roll their own database on top of ... well, a database.
I wouldn't go to Facebook for architecture advice unless you have both the scale of Facebook and the technological baggage of Facebook. I'm not sure how transferrable this writeup about Threads is either given that Threads is so strongly tied to Instagram (although EU legislation seems to have motivated Meta at least to no longer require users to delete their Instagram account in order to delete their Threads profile).
That’s exactly what fb is doing. MySQL isn’t used as a k/v store per se but as the storage layer of the Tao graph database (which is also using memcache. So fb builds a database on top of 2 databases, technically). Source: https://engineering.fb.com/2013/06/25/core-infra/tao-the-pow...
source: I'm a former member of one of Facebook's MySQL teams, and among other things I worked heavily on the managed database-as-a-service tier. This was like an internal-only RDS, used by thousands of engineers for many different purposes, most of which involved SQL.
I'm a big fan of MySQL's scaling properties and some of the tooling (Vitess).
Do you see any emergent general purpose RDBMS achieving similar popularity of MySQL and/or PostgreSQL in the near future?
I heard good things about Clickhouse but it's a different tool (column based) from my understanding.
In all seriousness though, as a bootstrapped founder I'm not usually able to devote time to tinkering with emergent databases, sorry!
From what I've heard, Clickhouse is excellent, but it is OLAP focused rather than OLTP.
Keep it up!
Not nearly enough So please do that more often :)
Seriously I dont want HN to be one sided about RMDBS and I constantly submit a lot of MySQL related content and release notes. And there is still a whole world using MySQL for a lot of different reasons.
Especially now Oracle has finally updated MySQL release schedule.
Do they still use TAO?
Just wondering if they will ever open source TAO.