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.

 

espbook

 

Comments




or email your comment to: comments@i-programmer.info

 

Banner


Discover PostgreSQL How-Tos
16/12/2024

A veritable treasure trove of assorted how-to recipes for PostgreSQL, stored as a Github repository, has been started by Nikolay Samokhvalov, well known in the PostgreSQL world.



GitHub Announces Free Copilot
19/12/2024

GitHub has launched GitHub Copilot Free, a free version of Copilot that provides limited access to selected features of Copilot and is automatically integrated into VS Code. The free tier is aimed at  [ ... ]


More News

 

 

Last Updated ( Wednesday, 28 August 2013 )