NewSQL database startup NuoDB likes to think big. This week as it makes its scalable database generally available, it is also pitching an update to database guru Edgar F. Codd’s 12 rules of relational databases for the age of cloud computing. It’s a move that is bound to raise eyebrows since Codd, an IBM computer scientist who defined the relational database model, is viewed as a god in that arena.
NuoDB CEO Barry Morris (pictured above) seems girded for blowback.”The rules from Codd are intended to be obvious. If [the new rules] were strange or oriented around a particular product, they’d be self-serving, but they’re not. We want to say: ‘let’s stop screwing around with incremental database improvements. If you were to design your own requirements for an ideal 21st century database, what would they be?’ This is what we came up with. What’s missing? We want the conversation.”
Cambridge, Mass.-based NuoDB was founded by Jim Starkey, a database pioneer who piloted Digital Equipment Corp.’s RdB database (now part of Oracle) and Interbase (acquired by Borland) and is responsible for many object database innovations. He also founded Netrastructure which was acquired by MySQL, the popular open-source database, that is now also owned by Oracle (sorcl). He is now listed as founder and senior advisor to NuoDB. He also used to be CTO.
A cloud database management system, according to NuoDB, is a superset of the tried-and-true relational model. Below is a truncated version of NuoDB’s 12 rules of Cloud Database Management System (CDMS). The unabbreviated list is here.
1. Elastic Scale-out for Extreme Performance
A CDMS must deliver capacity on demand by adding/deleting computational and storage resources in a running database. It must be able to handle very high transaction volumes and petabytes of data as needed and scale back “gracefully” when those resources are no longer needed.
2. Single Logical Database
A CDMS must present its users the view of a single, logical, consistent and always available database, no matter how complicated the application.
3. Run Anywhere, Scale Anywhere
A CDMS must be able to run on any infrastructure from single machines to private clouds, public clouds and combinations of the above and must be able to run in a heterogeneous environments.
4. Nonstop Availability
A CDMS must be able to running continuously — for months or years — without failing or being made unavailable for maintenance.
5. Dynamic Multi-tenancy
A CDMS must be dynamically multi-tenant and be able to manage large numbers of databases on a finite set of resources, and to reassign resources to databases as needed.
6. Active/Active Geo-distribution
A CDMS must be able to run concurrently in multiple data centers to support geographically distributed workloads, always-on applications, and for disaster recovery.
7. Embrace Cloud
A CDMS must integrate and run in a cloud environment, and designed to support cloud-scale performance requirements while being resilient against the inherent concurrency and latency challenges.
8. Store Anywhere, Store Redundantly
A CDMS must be able to store the data locally, remotely, in a data center or on a public or private cloud and in whatever storage system is appropriate.
9. Workload Mix
A CDMS must be flexible in the kinds of workloads it supports, and to efficiently run different workloads concurrently.
10. Tunable Durability Guarantees
A CDMS must allow a user to define infrastructure reliability constraints that control the trade off between durability guarantees and database performance.
11. Developer Empowerment
A CDMS must support rapid application development and frictionless application evolution. It should be easy to use without need for time-consuming provisioning requirements.
12. Admin Empowerment
A CDMS should provide a single, secure point of administration for all its databases and resources. It should make it simple to automate logging, auditing, profiling, process management and resource allocation.
Matt Aslett, a research manager for The 451 Group who has spent a good deal of time mapping out the modern database scene, said NuoDB, which promises to bring the strengths of a relational SQL database to highly distributed webscale computing, competes most directly with offerings like GenieDB and in some cases VMware’s SQLFire.
He agreed that NuoDB is making an aggressive statement with its list of rules but that it does so from a credible place. “The NuoDB guys are the real deal. There will be an element of skepticism for any company that claims to do fully-distributed ACID SQL database, but if anyone has the expertise to do this, Jim Starkey is one of those people.”
ACID stands for “Atomicity, Consistency, Isolation, Durability.” Relational databases must offer this capability — which ensures that transactions are performed reliably and accurately. That’s an obvious requirement for modern e-commerce applications, where every transaction relies on the accuracy of the entire data set.
What will database gurus think of this new list? I’m not sure but would love for them to sound off in comments.