That was an interesting read. I'd love to watch the actual presentation if it's available somewhere.<p>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?<p>Is there someone from Wooga here to shed some light on the architectural decisions that went into the game?
"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.
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.
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.<p><a href="http://www.slideshare.net/wooga/games-for-the-masses-scaling-rails-to-the-extreme" rel="nofollow">http://www.slideshare.net/wooga/games-for-the-masses-scaling...</a>
I'm amazed that some people still do services without using memcached or similar. It's not very difficult, and brings enormous benefits.<p>So, why not?
In another presentation of Wooga they described why they went off-cloud with the later games using cheap dedicated servers from <a href="http://hetzner.de/" rel="nofollow">http://hetzner.de/</a><p>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...