1,000,000 daily users with no cache

by Satoon 10/26/2011, 4:12 AMwith 36 comments

by Udoon 10/26/2011, 6:27 AM

That was an interesting read. I'd love to watch the actual presentation if it's available somewhere.

One thing that struck me as odd from a software design point of view is the "tile table". The name and the absurdly high number of I/Os per second suggest that each tile was stored in a separate database record? The game looks like a Farmville clone, so wouldn't it have been more economical to store the entire farm of a player in one blob?

Is there someone from Wooga here to shed some light on the architectural decisions that went into the game?

by tyleron 10/26/2011, 8:48 AM

"with no cache" is a bit of a misleading statement, considering the entirety of their data set is stored in RAM. Turns out you don't really need memcached if you don't read anything from disk.

by fleitzon 10/26/2011, 8:26 AM

I really want to know what would have happened if they just bought a couple 24 drive arrays and stacked them full of SSDs. 50,000 IOPS per second sounds like it could be handled with a couple gigs of BBWC and a decent drive array. Typically, you want about 200 15K spindles per CPU spread over a couple controllers, jammed full of delicious battery backed RAM.

by srgsegon 10/26/2011, 12:14 PM

In this Wooga presentation they talk about how DB hosting in the cloud is 20x more expensive than on rented dedicated servers, or 5x more expensive per DAU across the entire variety of servers required.

http://www.slideshare.net/wooga/games-for-the-masses-scaling...

by iconfinderon 10/26/2011, 6:19 AM

Why did you go for Ruby instead of PHP?

Would you have had the (roughly) same database issues if you didn't have that many writes to the db?

by gibyboon 10/26/2011, 7:19 AM

50,000 writes/sec seems insanely high for a flash game, would love to hear more about what those writes are doing.

by henrikschroderon 10/26/2011, 8:29 AM

I'm amazed that some people still do services without using memcached or similar. It's not very difficult, and brings enormous benefits.

So, why not?

by rmorizon 10/26/2011, 6:25 AM

In another presentation of Wooga they described why they went off-cloud with the later games using cheap dedicated servers from http://hetzner.de/

Since hetzner recently upgraded the hardware but also limited the different options it would be very interesting to see what Wooga takes out of this...

by revoradon 10/26/2011, 10:47 AM

Can any DB veterans offer any insight on how this would scale if they had used PostgreSQL instead of MySQL?

by Satoon 10/26/2011, 6:49 AM

I just notified @jrirei of this discussion.

by fgielowon 10/26/2011, 12:08 PM

How do you people think this would cope with using NoSQL approaches, such as MongoDB, instead of SQL based ones?