Some say architecture is destiny. But it seems as if the world of analytic databases is moving on many fronts in all directions with no particular destination. That, in fact, is probably a good working definition of “postmodern.”
That’s the only reasonable conclusion you can draw from the sprawling mess of a movement known as “NoSQL.” It defines itself by what it is not, which would be easy to do if all it were rebelling against were something well-defined, such as the need to use Structured Query Language (SQL) to access, query, update, and manipulate data, or the need to store and manage that data in third-normal-form relational databases.
But no. The NoSQL movement seems to fancy itself a catchall for all things “next-generation database,” though even there it is not clear what exactly they’re rebelling against. Check out this “NoSQL” scoping definition on the movement’s principal website: “Next Generation Databases [are] non-relational, distributed, open-source...horizontally scalable... modern web-scale databases....schema-free, replication support, easy API, eventual consistency, and more.”
Whew! If that non-definition didn’t leave you gasping for breath, the unruly menagerie of “No SQL” database approaches listed on the website will completely rob you of your oxygen supply. Apparently, this movement includes an unholy host of old and new database approaches, including wide column store/ column families, document store, key value/ tuple store, eventually consistent key value store, graph databases, object databases, grid database solutions, and XML databases.
What’s the perfect database management system (DBMS) architecture, where analytics is concerned? It seems as if everybody in business intelligence (BI), data warehousing (DW), and related areas has their own opinion on this topic. In fact, it’s more than just opinions. In the database wars, we have huge communities of vendors and users with substantial investments in one or more approaches—from traditional relational DBMSs to column-oriented, in-memory, dimensional, inverted indexing, and other approaches.
In the analytic database wars, new architectures are springing up everywhere, each with its own devotees and differentiators, and each with a go-to-market message that takes potshots at established approaches. The “No SQL” movement is just the latest coalition to emerge in this titanic struggle, and is essentially a loose coalition of diverse approaches rallying around a common theme: that traditional RDBMSs and their SQL-based access languages are unfit, or at least, maladapted to the new world of cloud, social networking, and Web-oriented analytics applications.
DW industry analysts such as myself are of course embedded in these wars—we’re the neutral observers often caught in the crossfire. Of course, this is not a new battle. The columnar database industry has been around for many years and positioned itself as the chief high-performance, low-footprint analytics contender to traditional row-based RDBMSs. And columnar has steadily encroached on relational’s turf, not only through established columnar-based DW vendors such as Sybase, Vertica, and ParAccel, but also through recent adoption (albeit in limited fashion) by the likes of Oracle, SAP, and others into their analytics architectures.