In the case of World of Warcraft, there is actually not that much data that needs to be persisted in the database at any one time. Your character’s level, position, gold. Even the position does not need to be saved that often. This is why you might find yourself somewhere in the past if you get disconnected and log back in. The biggest part by far is the inventory. And you actually don’t change inventory that often, so even multiplied by thousands it is still manageable by a database.
Blizzard has a few tech articles out where they go into detail on how the database is the bottleneck for the game, and that is the reason they deployed the login queues. The login queues would control influx of db transactions, and players would be let in as the db activity would allow it.
This is also why modern WoW servers can host 10x more players than at launch: the database servers have increased drastically in power since then.
Latest Answers