FoundationDB Version 1.0 Released
Written by Kay Ewbank   
Wednesday, 28 August 2013

FoundationDB, which combines a NoSQL key-value store with support for ACID transactions to ensure consistency, has reached general availability after an 18-month Alpha and Beta testing program involving more than 2,000 participants.




Current NoSQL databases have, in general, not included support for ACID (Atomic, Consistent, Isolated, Durable) transactions, meaning the database developer has to either write their own code for transaction management or live with potential problems if a transaction doesn’t complete correctly. Transactions should be atomic in the sense that all changes to data are performed as if they are a single operation. That is, all the changes are performed, or none of them are. Money isn’t transferred out of one account unless it’s successfully transferred into another, for example.

The transaction should be consistent in the sense that data is in a consistent state when the transaction starts and when it ends. Using our money transfer example, the total value of the money taking both accounts into consideration should be the same at the beginning and the end of the transaction.

A transaction should be isolated in the sense that the intermediate states of the transaction are invisible to other transactions so that more than one transaction can run at the same time. When transferring the money in our imaginary transaction, another transaction would see the money in one account or the other, but never in both, and never in neither account. Durability ensures that once the transaction is completed, the changes are permanent and not undone, even if there’s a system failure. These four qualities of transactions underpin standard databases.

In this short video FoundationDB's Developer Evangelist Stephen Pimentel explains the advantages of ACID transactions:



While other NoSQL databases stop short of full support for ACID transactions, FoundationDB has this support. Announcing the new release, OpenSource Connections says

"many of the new NoSQL databases frequently have rigid transactionality features. HBase, for example, only gives you transactionality guarantees for a single row”.

FoundationDB is a key-value store that implements its ACID compliance using a C++-based language called Flow that is used by machines in a cluster to communicate about transaction processing and conflict resolution. Flow adds actor-based concurrency to C++ via a set of new keywords and control-flow primitives for managing concurrency. It is implemented as a compiler which analyzes an asynchronous function (actor) and rewrites it as an object with many different sub-functions that use callbacks to avoid blocking. Streamlinejs is a similar concept using JavaScript. The Flow compiler's output is normal C++11 code, which is then compiled to a binary using traditional tools. A whitepaper on Flow explains how it works.

FoundationDB can be deployed in configurations from a single server, to a cluster in a private datacenter, or in the cloud, or anything in between. It comes with APIs for C, Python, Ruby, Node.js and Java. It supports a number of different models including JSON document, graph, and SQL following FoundationDB's purchase of Akiban this July.

You can try FoundationDB out for free under its Community License, and run as many server processes as you’d like to in non-production use. You can even use up to six processes in production for free with no sign up necessary. Commerical licences start at $99 per process per month.

FoundationDB can be downloaded for Ubuntu, RHEL/CentOS, OS X, Windows and Amazon EC2,

More Information


Flow: Actor-based Concurrency with C++

Download FoundationDB



Related Articles

NuoDB Challenges NoSQL

OrientDB Graph Database Upgraded

NoSQL Predicted To Grow in 2012

NoSQL Gaining Popularity In Enterprises




To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin,  or sign up for our weekly newsletter.


blog comments powered by Disqus



Google Shrinks List of GSoC Open Source Organizations

The list of mentoring organisations for Google Summer of Code 2015 has some surprising omissions. The Linux Foundation and Mozilla are among those missing from the list of just 137 open source or [ ... ]

Masters Level Computer Science From Udacity

Applications for the Fall 2015 admission to Georgia Tech's Online Master of Science in Computer Science (OMS CS) are due before April 17, 2015. But if you don't want to wait you can fol [ ... ]

More News



Last Updated ( Wednesday, 28 August 2013 )

RSS feed of news items only
I Programmer News
Copyright © 2015 All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.