FoundationDB uncloaks ACID-compliant NoSQL beta
Lets developers have infinite cake and eat it in ACID-compliant bites
A tool for Google-scale problems
No decent ideas are born in a vacuum, and FoundationDB's heritage can be traced back to ideas conceived at Google after the web giant ran into problems with its own systems.
The technology's proposition is roughly equivalent to Google's "Spanner", a globe-spanning database that Google developed after Mountain View engineers ran into problems with a NoSQL storage substrate called BigTable.
Both Spanner and FoundationDB are designed to run in a distributed manner and can house large amounts of data. Google's Spanner is expected to eventually scale to embrace millions of nodes. FoundationDB's beta can handle many nodes and terabyte-scale databases at launch, but expects to eventually scale by "a couple of orders of magnitude," Rosenthal said.
"We're not quite at the data volume that a massive Hadoop installation would be at today," he told The Reg. "That's because ... we're not targeting analytics directly. The thing that is special about FoundationDB is it can do a lot of reads and writes in a transactional way."
How many reads and writes?
The company has published detailed metrics based on running off of a $39k 24-machine cluster across a dataset of two billion key-value pairs. It reports a stable 500,000 operations per second of 90 percent read and 10 percent write, 150,000 operations per second if 50/50, and up to 1,080,000 writes per second across blocks of 140 adjacent keys.
The system is available for download beginning on Monday.
"I think FoundationDB is evidence that as organizations have dabbled with NoSQL, they miss features and consistency guarantees that they've grown to expect from conventional [SQL] databases," Mike Lyle, the CTO for TransLattice, a PostgreSQL-based technology that implements some spanner tricks with a SQL flavor, told us via email.
But while FoundationDB's techniques may be solid, the demand for it may be limited, as other companies can implement ACID-like capabilities without going the whole CAP-ACID hog. Some applications may not need its magic.
"DB guys say they love ACID, but most developers don't care – they just want to be comfortable their DB won't lose their data," Bradford Stephens, the CEO of Drawn to Scale, a massive SQL database set on top of Hadoop, told The Register via email. "You can do that by minimizing bugs, choosing good hardware, etc. If you're doing credit cards, ERP, tracking shipping containers, etc. ... then you need ACID/transactions. The average web/mobile app doesn't."
Whether the size of its market is large or limited, FoundationDB's approach to the storage of data is representative of a shift that is percolating through the industry: companies have spent a few years drinking the NoSQL scaling Kool-Aid and are now trying to redesign them to better fit with enterprise models of data consistency and reliability (ACID), or to be easier to deal with to the layman (SQL-query engines).
How this shift will play out will determine not only the scaling properties inherent to future websites, but also the types of massively distributed applications that can be built on top of them. ®