Databases in Online (Social) Gaming

This paper discusses the importance of databases for the gaming industry, what its requirements are in terms of database technology as well as a discussion on why MySQL is or should be the database of choice for anyone wanting to develop online social games that are reliable and stable in all their aspects.

Table of contents

  • 1. Introduction
  • 2. Business and Technical Challenges
  • 3. Data Modeling and Sharding
    • 3.1. Game Accounts (Legally Liable)
    • 3.2. User Profiles (Legally Liable)
    • 3.3. Friends Connections
    • 3.4. Messaging (Ingame) (Legally Liable)
    • 3.5. Billing (Legally Liable)
    • 3.6. Entitlements
    • 3.7. Sessions
    • 3.8. Inventory
    • 3.9. Leaderboards
    • 3.10. Achievements/Trophies
  • 4. Database recommendation
  • 4.1. Replication limitations

1. Introduction

Massively Multiplayer Online Games (MMOG) are multiplayer video games capable of supporting thousands of players simultaneously. They are played on the Internet and players connect via personal computers, game consoles or even smart phones. The game allows players from around the world to interact, cooperate and compete with each other on a large scale.

With the arrival of social network platforms, the industry has seen an explosion in casual gaming, called social gaming. MMOGs have effectively moved from the hard-core gamer community to the mainstream. For instance, Happy Farm has 228 million active users and 23 million daily users, mostly in Asia. World of Warcraft has over 11 million monthly subscribers worldwide.

Caprica, the prequel to the hugely popular and cult-like TV series Battle Star Galactica explores the future of online gaming and its potential. What seems like fiction however is not that far away from today’s gaming reality. Sony’s Playstation Home is a virtual world where users evolve in an elaborate online world with millions of people from across the globe. Users have their own avatar, their own apartments that they can furnish by purchasing virtual furniture. They go to the cinema to watch the latest movies from the “real” world – within Playstation Home. It seems that we are only one step away from Caprica’s parallel virtual worlds and consciousness-gaining robots.

In today’s online gaming world, powerful database systems are needed however to power all this virtual activity.

MMOGs host a large number of players and all these players can interact with each other at any given time. Because of scale, a game universe can ‘be sharded’ in several ways. One way may be where each shard is a smaller universe deployed on a server. Another way is to have the shard hold a certain number of simultaneous players on a complete universe or playing field. Other games might feature a single universe, which is divided and placed on different servers. Players who log into a particular server will be in one part of the universe; they will need to switch servers to go to another part of the game universe.

MMOGs are data-driven applications, and databases used in these applications have to satisfy stringent requirements in terms of performance, availability and scalability.

This paper discusses the importance of databases for the gaming industry, what its requirements are in terms of database technology as well as a discussion on why MySQL is or should be the database of choice for anyone wanting to develop online social games that are reliable and stable in all their aspects.

In addition, the paper also discusses the different types of data that need to be stored by a social MMOG with recommendations on how to handle these.

Want to read the rest?

Download the full whitepaper for free