FoundationDB Version 1.0 Released
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.

 

foundationdb

 

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

FoundationDB

Flow: Actor-based Concurrency with C++

Download FoundationDB

Pricing

 

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

 

Banner


The Weekly Top 10: Ruby and Rails
28/07/2016

The I Programmer team tries to cover as many as possible of the languages you might be interested in, but now and then it's good to have outside help. This round up of posts from around the web is foc [ ... ]



Hollerith Census Machine - A Milestone In Big Data Big
16/08/2016

August 16, 1890 was the date on which the US Census Bureau announced that the US population was 62,662,250. It was the first time that machinery was used to automate the process and the use of Holleri [ ... ]


More News

 

 

Last Updated ( Wednesday, 28 August 2013 )
 
 

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