The FoundationDB SQL Layer is a scalable OLTP SQL system that builds upon FoundationDB’s storage substrate. It inherits the substrate’s performance, multinode scalability, high availability, fault tolerance, and multikey ACID transactions, and adds a sophisticated SQL environment with direct object access. A user of the system will see the following advantages:
An unbounded number of SQL Layer instances can be deployed against a single FoundationDB cluster.
The SQL Layer is an operational rather than an analytical database system.
The SQL Layer is best suited for operational applications with high concurrency and transactional workloads. It is able to ingest high volumes of data in real time and respond to large numbers of short queries from many clients. The SQL Layer trades-off latency for concurrency. A single request will take longer than on a local database, but many more requests can be executed in parallel. For example, loading one million rows serially will be slower than in a traditional database but will be much faster and more scalable when done in parallel.
This documentation is still in Alpha. Feel free to contact us if you’re looking for any information and can’t find it, or, even better, if you find something that you really like.
If you’re new to the SQL Layer, it is important to understand the fundamental ways in which it differs from traditional relational databases. Start by reading about features and anti-features, and carefully review the known limitations.
Next, we recommend reading about Table-Groups. Table-Groups are a fundamental concept in the SQL Layer that introduces hierarchies of tables in the schema design and maps rows of these tables to a nested physical representation. The Table-Group unified storage structure enables both object and table views of the same data.
To start using the system follow the Getting Started guide that will guide you through the installation process on different platforms and provide a brief introduction to using the SQL engine. The Getting Started with the REST API guide introduces the REST object API interface to the same Table-Group data. Hands-on tutorials offer in-depth examples of common usage scenarios alongside the SQL reference and REST API reference. Drivers, ORM adapters and other tools are covered in the Application Integration section.
To begin deploying, review the recommended physical architecture followed by configuration, administration, security and back-up and restoration of a FoundationDB SQL Layer cluster. To migrate data from another database, check out the migration guide.
We encourage you to participate on our community site. We keep tabs on discussion there and can usually reply to questions or comments quickly. The SQL Layer is open source, and we invite you to follow and participate in its development on github.