In my last blog post, I talked about the emergence of NoSQL as an antidote to the deficiencies of traditional SQL RDBMS products, and I concluded with the question about where the data management industry is going given the current environment, and whether we’re really addressing the needs of senior technology leadership.
Let’s start with going a bit further into the trade-offs represented by NoSQL.
KISS and the cloud
The NoSQL movement is not merely a slam against the traditional RDBMS. NoSQL seeks to offer solutions, solutions that address the list of needs I outlined in my last post.
The central design theme of NoSQL database systems is semantic simplification. Many of the following things are finding their way back into the systems today, but early NoSQL systems pursued the cloud-style requirements by avoiding schema design, normalization, consistency guarantees, and server-side processing complexity. The idea is to trade powerful traditional database capabilities for powerful cloud-style database capabilities.
Simplifying a database system is the easy route to elastic scalability. File systems scale arbitrarily because they are simple, independent key-value stores with very few guarantees of anything. What Jack does on his laptop has nothing to do with what Jane does on hers. Obtaining more laptops linearly increases storage capacity, I/O throughput, and user concurrency. It is the complexities (such as maintaining files consistently across machines or maintaining formal relationships between files on different machines) that would limit the scalability of the overall system.
The easy way to autoscale is to trade semantic power of database services for elastic scalability.
Between Scylla and Charybdis
In this new world, the CIO is presented with two choices:
- Stick with traditional database technologies, with all of the proven power of those systems but with limitations on elastic scalability (see my post on database elasticity as the primary…