April 16, 2014
The world of gaming can be unpredictable. It can be hard to judge if a game is going to be the next Angry Birds and experience exponential, global growth. Riak is designed to help gaming platforms handle this uncertainty with ease. Its focus on high availability means that all data remains accessibility, even during node failure. Its flexible data model and redundant, fault-tolerant design easily allows gaming platforms to store any type of data needed. Riak is also built for operational simplicity at scale, so Riak will seamlessly grow with data and popularity. Finally, the option for multi-datacenter replication means that gamers all over the world will get the same low-latency experience across multiple devices.
Top Use Cases for Riak in Gaming
- Player Data: Riak provides low-latency, highly available data storage for key player data, including user and profile information, game performance, statistics and rankings, and more. Riak also provides many different tools for querying and indexing this data, such as Riak Search, Secondary Indexing, and MapReduce.
- Session Storage: Riak is frequently used to store and serve session data with predictable low-latency – necessary for game play. Riak imposes no restrictions on the type of content stored (since all objects are stored on disk as binaries), so session data can be encoded in many ways and can evolve without administrative changes to schemas.
- Social Information: Riak provides flexible, robust storage for social data such as social graph information, player profiles and relationships, and social authentication tokens.
- Global Data Locality: When gaming, players require a low-latency experience, regardless of where they’re physically located. Otherwise, interrupted or slow game play can lead to poor user experience and possible user abandonment. Riak Enterprise’s multi-datacenter capabilities allow game data to be physically close to players and serve them data no matter where they happen to be.
Riak in Production
Riak is already in production by many top gaming platforms. Here’s a look at a few that have switched to Riak.
Rovio is the creator of the popular mobile game, Angry Birds. Since user growth can be hard to predict, they needed an infrastructure that could support unexpected viral growth without failing or causing downtime. They selected Riak due to its ease-of-scale and fault tolerance. Riak now powers their new cartoon series, Angry Birds Toons, and new mobile games. Learn more about why they moved to Riak in this case study and video from GDC.
Hibernum is a creator and developer of unique gaming experiences that combine the latest in social gaming, top quality visuals and animations, and cutting edge design. They switched from a relational database to Riak due to the high availability, ability to scale to peak loads, and predictable operational cost. Riak is used to store user game information for one of their most popular social games. Check out the complete case study, Hibernum Selects Riak for User Data Storage.
Kiip is a platform for building rewards and achievements into your games. Kiip replaced MongoDB with Riak in order to achieve low read/write latencies and horizontal scalability. Kiip uses Riak for storing and serving session and device data. Learn more from the video on scaling Riak to 25MM Ops/Day.
Riot Games is the creator of League of Legends and faced some challenges with supporting millions of concurrent players at any given moment. They switched to Riak from MySQL for their next generation stats system, which tracks gameplay statistics and stores terabytes of data that gets aggregated and presented to players in near real-time. More information on how they use Riak and why they selected it can be found here.
Data Modeling in Riak
Riak has a “schemaless” design. Objects are comprised of key/value pairs, which are stored in flat namespaces called buckets. Here are some common approaches to structuring gaming data with Riak’s key/value design:
|Player Data||Login, Email, UUID||Player Attributes (often stored as a JSON document); Player Rewards and Stats|
|Social Data||Login, Email, UUID||Player Profiles, Social Graph Information, Facebook/Twitter Tokens|
|Session Information||User/Session ID||Session Data|
|Image or Video Content||Content Name, ID or Integer||.JPG .PNG, .GIF or other image format; .MOV, .MPG, .MP4 or other video file format|
To learn more about how gaming platforms can use Riak for their data needs, check out the complete overview, “Gaming on Riak: A Technical Introduction.” To get started with Riak, Contact Us or download it now.
March 17, 2014
This week is the Game Developers Conference (GDC) in San Francisco. GDC is the largest, professionals-only game industry events and brings together programmers, artists, producers, game designers, audio professionals, business decision-makers, and more to exchange ideas and shape the future of the industry. Basho is a proud sponsor of GDC and this is our second year speaking and exhibiting at the event.
On Thursday, March 20th, join us for the session, “Riak for Games,” presented by Quark Games and Basho. The talk will be about database choices, mistakes, successes, and lessons learned by the presenters: Eric Liaw and Seth Thomas. Eric, Co-Founder at Quark Games, will give insight from five years of mobile game development. Seth, Technical Evangelist at Basho Technologies, will give insight from his time at Vigil and SOE, as well as success stories from current Riak customers. Their talk will be at 11:30am in Room 3020, West Hall.
In addition to this session, Basho will also be exhibiting. Be sure and stop by our booth to talk Riak and pick up some great swag.
Riak is an ideal solution for many gaming use cases, including storing session data, player stats, and user profile information. For more information on how companies like Rovio, Riot Games, Hibernum, and Mochi Media use Riak, check out our Riak Users Page. To learn more about why Riak is a fit for gaming, download our whitepaper, “Riak on Gaming.”
December 16, 2013
At Strange Loop 2013, Garrett Eardley (Software Engineer at Riot Games) presented “Tracking Millions of Ganks in Near Real Time.” His talk focused on the popular game, League of Legends, and the challenges that come with supporting millions of concurrent players at any given moment of the day. At this scale, tracking even simple gameplay statistics results in the creation of terabytes of data that must be aggregated and presented to players in near real-time. Garrett and his team found that scaling the system and developing additional features became difficult while using Riot’s initial technology choice for statistics, MySQL.
They found that they weren’t using many of the features available with MySQL and began to evaluate some NoSQL solutions. They looked at HBase, Cassandra, CouchDB, and Riak. With this new system, they wanted high availability over consistency, which narrowed the options down to Riak and Cassandra. Based on negative past experiences and a lack of conflict resolution control, the team ultimately decided on Riak over Cassandra.
Garrett’s talk explores how Riak is leveraged for their next generation stats system, discusses why they selected Riak, looks at how they structure their data and indexes, and shares strategies for working with eventually consistent data. The complete recording of Garrett’s talk is now available. You can check out the talk and his slides here.
For more information on how Riak is being used for gaming services and applications, download the Gaming on Riak whitepaper.
September 19, 2013
Strange Loop 2013 is currently taking over St. Louis, MO through September 20th. Strange Loop is a multi-disciplinary conference that brings together developers and thinkers to discuss technologies around emerging languages, concurrent and distributed systems, mobile development, and the web. Basho is a proud sponsor and many members of our team will be there to discuss Riak CS, our open source cloud storage software.
Garrett Eardley, Software Engineer at Riot Games, will also be presenting on how Riot Games is leveraging Riak for their next generation stats system. His talk, “Tracking Millions of Ganks in Near Real Time,” will discuss why they chose to use Riak (and move from their existing MySQL architecture), how they structure their data model and indexes, and their strategies for working with eventually consistent data. His talk will take place today, September 19th, at 9:50am.
Stop by the Basho table to grab some swag and to learn more about distributed systems.