Game Tech

Guide to Scalable Data Storage eBook

Issue link: https://read.uberflip.com/i/1440195

Contents of this Issue

Navigation

Page 2 of 22

With modern game applications that scale horizontally and globally with your players, the traditional approach of using a single, large relational database becomes less tenable. It is important to spend time thinking about your overall game data architecture—where data lives, how to query it, and how to efficiently update it. A number of new databases have become popular that eschew traditional atomicity, consistency, isolation, and durability (ACID) concepts in favor of lightweight access, distributed storage, and eventual consistency. These NoSQL databases can be especially beneficial for games, where data structures tend to be lists and sets—like friends, levels, and items—as opposed to complex relational data. As a general rule, the biggest bottleneck for online games tends to be database performance. A typical web-based app has a high number of reads and few writes—think of reading blogs, watching videos, and so forth. Games are quite the opposite, with reads and writes frequently hitting the database due to constant state changes in the game. There are many database options out there for both relational and NoSQL flavors, but the ones used most frequently for games on AWS are Amazon Aurora, Amazon ElastiCache for Redis, Amazon DynamoDB, Amazon RDS for MySQL, and Amazon DocumentDB (with MongoDB capability). First, we will cover MySQL because it is both popular and applicable to gaming. Combinations such as MySQL and Redis, or MySQL and DynamoDB, are especially successful on AWS. All database alternatives described in this section support atomic operations, such as increment and decrement, which are crucial for gaming. 3 The advent of horizontal scaling has changed the application tier as well as the traditional approach of a single large relational database. 1.0 Relational vs. NoSQL databases THE BAT TLE OF THE CENTURY

Articles in this issue

view archives of Game Tech - Guide to Scalable Data Storage eBook