The FoundationDB SQL layer is a full SQL implementation that builds on FoundationDB’s core features. It gets the same high performance, multi-node scalability, fault-tolerance, and true multi-key ACID transactions while also providing new capabilities, including a sophisticated SQL environment and direct object access.
It was written from the ground up in Java and utilizes the FoundationDB SQL Parser.
Check out https://foundationdb.com/layers/sql for the full documentation.
The FoundationDB SQL Layer requires Java 7 Runtime Environment and FoundationDB.
The FoundationDB SQL Layer requires the Java 7 Runtime Environment (JRE). Both OpenJDK JRE and the official Oracle JRE are supported.
See the Oracle Java SE Downloads page for installation details.
To install FoundationDB, follow the official Getting Started guides, being sure to check that the cluster is up and running (covered in Testing your FoundationDB installation).
The SQL Layer can be installed from system packages (appropriate for most people) or directly from source (intended for developers).
Official packages for Windows, OS X, Ubuntu and CentOS/RedHat are available. See the installation section for more details.
A single instance of the SQL Layer is installed by default and is appropriate for local development. Consult the documentation for recommended multi-node configurations.
Note: This section is intended only for developers.
Use Maven to build the project:
$ mvn package
All unit and integration tests will be run by default, which could be lengthy.
Test execution can be avoided with the skipTests
option:
$ mvn package -DskipTests=true
An executable jar, and required dependencies, will be the target/
directory
once packaging is complete.
The server can then be started with the fdbsqllayer
script. The -f
flag
will run it in the foreground:
$ ./bin/fdbsqllayer -f
A handful of informational messages will print and then the server will state it is ready:
2013-03-22 15:36:29,561 [main] INFO ServiceManager - FoundationDB SQL Layer ready.
When installing from source, you'll also want the SQL Layer Client Tools.
The SQL Layer can then be accessed using the SQL client on port 15432
:
$ fdbsqlcli -c 'SELECT VERSION();'
_SQL_COL_1
--------------------------
FoundationDB x.y.z +hash
(1 row)
And using a RESTful API on port 8091
:
$ curl http://localhost:8091/v1/version
[
{"server_name":"FoundationDB SQL Layer","server_version":"x.y.z+hash"}
]
- GitHub: http://github.com/FoundationDB/sql-layer
- Community: https://foundationdb.com/community
- IRC: #FoundationDB on irc.freenode.net