Essential reading for choosing a NoSQL database

Primers, tips, and benchmarks to get you started with NoSQL

Like most software engineers, I’ve spent a great deal of time mastering relational databases. Getting started with a distributed database (or NoSQL) can have your head spinning as you try to unlearn your relational ways and adapt to a new style of data storage and access. Here are some helpful resources to get you going and choose the right platform.

CAP Theorem

The extremely challenging effort of scaling, creating high availability, and creating disaster recovery of enterprise SQL servers is what drives most teams to a distributed solution. To understand why RDBMS systems have such a tough time scaling, a great place to start is with Brewer’s CAP Theorem

medium_media_httpfarm5static_mevIk.png

The gist of CAP Theorem is that you can have two of the following three capabilities, but not all three:

  • Consistency (all nodes see the same data at the same time)

  • Availability (a guarantee that every request receives a response about whether it was successful or failed)

  • Partition tolerance (the system continues to operate despite arbitrary message loss or failure of part of the system)

RDBMS systems have Consistency and Availability and thus scale vertically but not horizontally.

NOSQL systems choose either Consistency and Partition tolerance, or Availability and Partition tolerance depending on the engine and the data model. These combinations allow for horizontal scaling in both hardware and storage capacity in exchange for (sometimes) eventual consistency.

Data Modeling

Engine Comparison

A big challenge outside of the understanding of how NoSQL data modeling works is to choose the right NoSQL engine, and there are a vast amount of them. To make matters more difficult, each is really geared toward a specific set of strengths, so there is no general best solution, it’s dependent on what your application will be doing.

Benchmarking

As some bonus reading, if you’re considering a large-scale deployment of MongoDB, do yourself a favor and read this rant/warning before you do.

Read more of Matthew Mombrea's ByteStream blog and follow Matt on Twitter (@mombrea) and Google+. For the latest IT news, analysis and how-tos, follow ITworld on Twitter and Facebook.

Insider: How the basic tech behind the Internet works
Join the discussion
Be the first to comment on this article. Our Commenting Policies