Why Riak was the best candidate for knocking Angry Birds into order
What do you do when Angry Birds are giving you issues? Well, if you’re creator Rovio, you smack them into submission with a NoSQL database.
Addressing scalability issues without messing with the architecture of an application is a common point of vexation, but there are solutions out there. Last month, Basho Technologies announced that it was partnering with the Finnish mobile game giant to help them deal with their growing user base. While Rovio was unwilling to share exact numbers, we do know that Angry Birds, the firm’s signature creation, has been downloaded two billion times - that’s the equivalent of over a quarter of the world’s population.
The company has implemented Riak, Basho’s scalable, open source NoSQL database, to deal with newly mushrooming data volumes stemming from a growing number of operations. This influx of new data was primarily generated by a new cartoon series, Angry Birds Toons, and new mobile video games.
According to Rovio, the sheer scale of the systems that the company was running had rendered traditional SQL databases untenable for the rapid operations they required. A spokesperson for the company told JAXenter: “Replication, high availability and scalability can be achieved much more easily with NoSQL databases. Riak will scale up easily without thinking of complicated sharing strategies”.
Although there are a number of NoSQL options out there, Riak was specifically chosen for the diverse set of use cases it can support. It doesn’t lose data, so is suitable for storing the payment data that the company makes from hardcore gaming fans. Additionally, its horizontal scalability, ability to support extremely large and dynamic data sets, and multi data center deployments support with real-time data replication made it a particularly good fit for the company, as well as the fact that it can be operated on any public and private cloud.
Rovio admits that it had a few issues making the switch from the DaaS solution it was using prior to Riak on the operations front, but for the most part the transition has been relatively painless.
When asked what they would have done differently when making the move to NoSQL, Rovio told us, “We could have put more attention to actual data access patterns beforehand. That would have helped us to fine tune our database clusters and finalize design for our data model early on.”
As well as adapting to the demands of a burgeoning database (something that many a game maker can relate to), the biggest technical issues facing Rovio developers to date relate to the search and mass query capabilities of the database. The company has used Riak's secondary index searches so far, but admits that they are somewhat limited in their use cases. However, an upcoming release from Basho will provide Rovio with a new feature for searching, and should help them to build more flexible search mechanisms.