The issue that a lot of organizations have with anything to do with NoSQL comes down to the Atomicity, Consistency, Isolation, Durability (ACID) test. Most SQL database administrators (DBAs) worship at the altar of database reliability based on these attributes. When presented with a new database management platform to manage they will resist anything that in their minds is going to make the ACID grade.
Of course, most developers don’t much care about ACID tests. They often view NoSQL databases as an inexpensive way to get around the constraints of a SQL database, and by extension the DBA.
This issue has led to a lot of tension in the enterprise between developers and DBAs, which FoundationDB founder Dave Rosenthal says is wholly unnecessary.
FoundationDB is a NoSQL database that passes all the ACID tests a DBA could require while still giving developers access to database architecture that easily scales out. As the application grows all that is required, says Rosenthal, is for the DBA to add additional industry standard servers, versus a traditional SQL database that scales up, but then typically requires another servers costing hundreds of thousands of dollars when it runs out of headroom.
Rosenthal says what makes FoundationDB really different from traditional databases is that it is invokes via an API. That means developers can layer multiple type of data models on top of the FoundationDB, making it possible to run transaction processing and OLAP applications on the same database foundation.
At its core FoundationDB is another instance of a Key/Value store database that doesn’t require SQL. Unlike other NoSQL databases, however, Rosenthal says FoundationDB is based on a shared-nothing architecture that was specifically designed to meet the stringent ACID tests most DBAs will require before putting anything resembling a mission-critical application on a NoSQL database.
There’s never been much love lost between developers and DBAs. FoundationDB represents an opportunity for both parties to put their respective biases aside. The fact is that the expense and complexity associated with traditional SQL databases keeps a lot of applications from ever being developed. An alternative approach that bypasses those issues while at the same time meeting all the ACID requirements that DBAs require provides an alternative worth exploring.
The good news is that there have never been more types of databases floating around the enterprise. The days when organizations standardized on only one type of SQL database from a major vendors such as Oracle or IBM are pretty much over. The only thing left is to discover what percentage of the application workloads in the enterprise still need a traditional SQL database versus those that can run on new database platform that are a whole lot less expensive to deploy and scale.