Wednesday, April 27

Power tools: Sorting through the crowded specialized database toolbox

Choosing a database is pretty similar—it's all about the right fit. (credit: Flickr user: Sven Slootweg)

When you think of game development, the first thing that comes to mind probably isn't a database. But in the world of Jamaa, the setting for WildWorks' massively multiplayer online kids' game Animal Jam, a database keeps millions of cartoon animal characters frolicking and the cartoon trees from crashing down. The database chosen for this job was a specialized, non-relational database from Basho called Riak—one among the herd of new databases that have risen to handle Web-generated gluts of non-structured data.

The database landscape is increasingly complicated. As of April, Solid IT's DB-Engines initiative was tracking 303 separate relational and non-relational databases. In the golden years of relational databases, benchmarks such as TPC could theoretically give you some sort of way to compare databases directly. But today, it's difficult to assign a one-size-fits-all measurement to the world of non-relational databases such as Riak and Apache Cassandra (the distributed database project originally developed at Facebook). WildWorks ran its benchmarks and decided on Riak for Animal Jam, and Uber did the same for its dispatch platform. IoT car tech company VCARO decided the exact opposite: Cassandra beat Riak at handling vehicle-generated sensor data. Software company Nuance Communications opted for something else entirely, choosing Couchbase for handling speech and imaging apps.

The "why" of decisions like these are as complicated as the database technologies themselves. It may hinge on which two of three CAP theorem guarantees—consistency, availability, and partitionability—a business values most. The tipping point could alternatively be which database handles software containers or what skills you already have on hand. This list of factors is seemingly infinite.

Read 38 remaining paragraphs | Comments

No comments:

Post a Comment