MySQL

The world's most popular open source database

Contact a MySQL Representative


  • MySQL.com
  • Developer Zone
  • Partners & Solutions
  • Customer Login
  • DevZone
  • Downloads
  • Documentation
  • Articles
  • Forums
  • Bugs
  • Forge
  • Blogs
 
  • Pages

    • About me
    • Bio
    • Press Release: “Kaj Arnö Appointed MySQL VP of Community Relations”
  • Archives

    • October 2008
    • September 2008
    • August 2008
    • July 2008
    • June 2008
    • May 2008
    • April 2008
    • March 2008
    • February 2008
    • January 2008
    • December 2007
    • November 2007
    • October 2007
    • September 2007
    • August 2007
    • July 2007
    • June 2007
    • May 2007
    • April 2007
    • March 2007
    • February 2007
    • January 2007
    • December 2006
    • November 2006
    • October 2006
    • September 2006
    • August 2006
    • July 2006
    • June 2006
    • May 2006
    • April 2006
    • March 2006
    • February 2006
    • January 2006
    • December 2005
    • November 2005
    • October 2005
    • September 2005
  • Categories

    • Architecture of Participation (55)
    • Connectors (12)
    • Documentation (4)
    • Events (50)
    • Falcon (5)
    • GPL (9)
    • GUI (3)
    • Licensing (12)
    • MySQL (219)
    • MySQL Cluster (5)
    • MySQL Proxy (4)
    • MySQL Server (32)
    • MySQL Users Conferences (27)
    • MySQL Workbench (5)
    • Photography (11)
    • PHP (9)
    • Release Policy (20)
    • Ruby on Rails (5)
    • Running (6)
    • Summer of Code (8)
    • Sun (53)
    • Sun visits (24)
    • Travel (22)
    • Uncategorized (1)
    • Use cases (12)
    • Virtual company (37)



Observations by Kaj Arnö @Sun
« In Search of a CIO for MySQL
Alfresco, Optaros & MySQL Seminar in Munich 26.6.2007 »

Habbo Hotel: Scale-out from Finland — “everyone can play”

A good three years ago at the Linux Summit 26-27.2.2004 in the Finlandia Hall in Helsinki, I gave a presentation on “Why MySQL?” together with Osma Ahvenlampi, CTO of Sulake Labs, the creators of Habbo Hotel, one of the world’s largest teen online communities present in 29 countries.

Now, browsing the web pages of COSS, the Finnish Centre for Open Source Solutions, I ran across their slide repository and specifically Osma’s slides on the topic of “Infrastructure for Innovation, which is all about scale-out and describes their site which is built with MySQL as the database.

Sulake Corporation was founded May 2000 in Helsinki, and is an interactive entertainment company based on online communities and casual multiplayer games. Their tagline is “everyone can play“, which they expand in their credo “Habbo provides the most fun and creative hangout packed with friends and excitement“.

Now for the slightly more technical overview:

  • Global infrastructure: 4 data centers, 29 countries
  • Distributed game servers
    • Over 300 live CPU cores
    • 20 MySQL servers
    • Capacity for 130,000 concurrent users
  • Self-developed game server technology
  • Director/Shockwave based in-browser game client

The technology they build upon is the Linux-Java-MySQL stack, mostly with Linux servers, some Solaris. The server software Java 2 Standard Edition, with transaction processing using J2EE / JBoss. Look at Osma’s slides for more buzzwords: Hibernate, Spring, Jakarta Commons, EHCache, ICU4J, DOM4J, JMock, JGroups, JS Rhino, Junit, Sitemesh, Webwork…

Habbo runs on MySQL 5.0 with terabytes of data. Sulake claims they upgraded since they found 5.0 to perform better with complex queries, and their setup now includes the 5.0 features of federated tables and SQL views. Most interesting is probably their unique scale-out solution, with multi-master, backup+analytics replicas, averaging 10000 events / second. The nature of the online community application is such that they get an order of magnitude more write-intensive database load than traditional Master + Slaves applications. Distributed replication is used for online backups, where Ibbackup and filesystem snapshots minimise availability impact. Data volumes aren’t exactly modest, with over 10 gigs of transaction logs per day.

Go Habbo! Go Sulake! And go Osma!

This entry was posted on Friday, June 15th, 2007 at 19:49 and is filed under MySQL, MySQL Server, Use cases. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply

Observations by Kaj Arnö @Sun is proudly powered by WordPress MU running on Blogs.mysql.com.
Entries (RSS) and Comments (RSS).