BT

FoundationDB SQL Layer: Storing SQL Data in a NoSQL Database

| by Abel Avram Follow 9 Followers on Sep 10, 2014. Estimated reading time: 1 minute |

FoundationDB has announced the general availability of SQL Layer, and ANSI SQL engine that runs on top of their key-value store. The result is a relational database backed up by a scalable, fault-tolerant, shared-nothing, distributed NoSQL store with support for multi-key ACID transactions.

FoundationDB’s approach was to separate the data model from its storage. For example, the data store does not have indexing built in. The respective functionality is provided by an upper layer which implements indexing by creating and storing a pair of key-values, one for the data and one for the index.

Providing simple storage access through an API and delegating some of the functionality to an upper layer enables developers to create various layers on top of FoundationDB. One layer is the SQL Layer. The community has created a number of other layers, such as Protocol Buffers for Ruby, Fowl – a query layer for Node.js, and others.

SQL data normally organized in tables is stored in FoundationDB as tuples. The data is accessed through ordered keys which are also tuples. Besides the data index, such a tuple contains information about the table a data belongs to and relations with other tables. Through the use of tuples it is possible to retrieve/store ranges of data in one operation.

SQL Layer is written in Java and uses FoundationDB SQL Parser which is derived from Apache Derby, and it is compatible with several ORMs – Hibernate, Entity Framework, ActiveRecord, Django, SQLAlchemy, Doctrine. The layer is available on GitHub under a GNU GPL license.

FoundationDB supports a number of languages for development – Java, .NET, C, Ruby, Node.js, Go, PHP, Python –, and can be deployed on Linux, Mac OS X or Windows, on a single machine, on a cluster of them, on premises or in the cloud. Besides the paid Silver, Gold and Platinum editions, FoundationDB offers a free edition that is limited in production to 6 processes.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

SQL is a language... by Mark N

There is no such thing as SQL data. You use SQL to "query" some data repository. You can use SQL with Excel. You can use SQL with HBase and HDFS.

Re: SQL is a language... by Abel Avram

Yes, perhaps not the most inspired expression. Something like "SQL-accessed data" would have been probably better. But the reader gets the idea...

SPAM by Cameron Purdy

Isn't this just an advertisement? If the license is GPL, it's not safe to use as part of a commercial product, and thus you need to purchase some sort of commercial license. Oh, lucky us, "FoundationDB offers a free edition that is limited in production".

Peace,

Cameron Purdy | Oracle

For the sake of full disclosure, I work at Oracle. The opinions and views expressed in this post are my own, and do not necessarily reflect the opinions or views of my employer.

Re: SPAM by Charles Humble

Hi Cameron,
Isn't this just an advertisement? If the license is GPL, it's not safe to use as part of a commercial product, and thus you need to purchase some sort of commercial license.


I'm puzzled by your comment. It seems to me we were quite careful to not simply say their SQL Layer is open-source, but rather explicitly call out the fact that it is GPL-licensed, and that FoundationDB itself is a commercial product.

I personally think the growing push towards transaction support/ACID compliance amongst the various NoSQL vendors, and the corresponding convergence between NoSQL and relational persistence mechanisms is a significant trend and one we absolutely should be covering.

Charles Humble
Head of Editorial, InfoQ

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

4 Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT