← Back to context

Comment by bigwheels

3 days ago

It was a huge cluster (30 large servers in total) of MySQL with the MyISAM engine running in a Master-Master configuration. No foreign-keys allowed, the Apps were responsible for correctly enforcing data constraints.

Nowadays it seems the answer has somehow become "Pay MongoDB a ton of money for a support contract" and call it a day (Fortnite by Epic Games). Let's just say this isn't really my style, but somehow the game does work. To be real with you, keeping track of player scores, doing lobby matchmaking, and storing a few hundred or thousand items is pretty straightforward, even at "high-scale".

> No foreign-keys allowed

So it was sharded? And no cross-shard queries or txns were allowed?

Or it was replicated? And no FKs were allowed because of consistency problems?

> MyISAM engine

MyISAM didn't support ACID transactions, thus can't be apples to apples comparison, its just very different niches.

There are plenty of distributed databases on the market today which could be used if you don't need ACID transactions.

  • Oops - I wasn't fully awake yet! It was using InnoDB.

    MyISAM is mostly a huge "NOPE!" from me -_-

    • And do you know what was the transaction+replication story there? Were all changes transactionally and synchronously replicated?