February 07, 2013, 8:37 PM — I feel like some kind of dubious character from a crime movie: "Psst, buddy! Wanna cloud database that's non-stop, geographically and elastically scalable? And it's also ACID compliant, roughly 75% of the cost of using Oracle, good at hybrid workloads, SQL-compliant, ridiculously easy to install, equally easy to manage, and runs on multiple platforms. And did I mention cheap? Oh yeah, I did."
Anyway, those are the claims made by NuoDB about its eponymous database product, and its pitch for what it calls a Cloud Data Management System is compelling. A few weeks ago, just before NuoDB's mid-January launch, I talked with one of the company's founders and CEO, Barry Morris, about the product, and it's a fascinating story.
One of NuoDB's design presumptions was that optimization is hard but scale-out is easy. In other words, if you want better performance from your database you can do the time-honored wash-rinse-repeat cycle beloved by database analysts everywhere (measure, analyze, tune, re-measure, re-analyze, etc.), or you can just throw more hardware at the problem. And that is what NuoDB has chosen to do.
[ CLEAR CHOICE TEST: Six free databases with commercial-quality features ]
Of course, throwing more hardware at a database performance problem requires that the database system be easy to scale which, in turn, requires an architecture that is modular rather than monolithic. And that's what NuoDB is: a distributed system of self-organizing units rather than using the hub-and-spoke command and control architecture of traditional databases.
A consequence of this architecture is that installing a NuoDB host takes about five minutes, has hardly any parameters to set, and requires very little in the way of administration once it's running!
Where NuoDB gets really interesting is that communications between the hosts is not synchronous as you might expect, but rather asynchronous which, while it requires high bandwidth connections between hosts, is not overly sensitive to network latency, making it more compatible with real-world WAN configurations.
The issue of NuoDB being good at handling hybrid loads -- that is, making analytical queries while under transactional loading -- is a powerful argument for the product, because most major SQL database product performance will tank if you try such a thing.
Fundamental to NuoDB is being SQL-complaint (It is ANSI SQL-92 compliant with SQL-99 extensions, and works with and ships with a set of JDBC/ODBC drivers) which, it is claimed, makes it a "drop-in" replacement for any standard SQL environment. Morris told me of a customer who moved an Oracle-based application with 500 tables, hundreds of threads, and many complex interactions to NuoDB in under one month.