FoundationDB SQL Layer Documentation

Welcome.

The FoundationDB SQL Layer is a scalable, fault tolerant, OLTP SQL database. It inherits FoundationDB performance, multi-node scalability, high availability, fault tolerance, and ACID transactions, and adds a sophisticated SQL environment with hierarchical modeling of tables, and a RESTful object access API.

At a high-level the architecture looks as follows:

_images/architecture-simple.png

Reading through the docs

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, and stores rows of the tables interleaved in a way that reflects the same hierarchy. The Table-Group unified storage structure enables both object and table views of the same data.

To start using the system follow one of the Getting Started guides. The guides begin with installation on different platforms, and then provide a brief introduction to using the SQL engine through ORMs, SQL, and the REST API. Several Hands-on Tutorials offer in-depth examples of common usage scenarios.

Once you’re ready to really dig in, you’ll want to get into the details of physical architecture and follow the installation guide most suitable for your environment. Then review the operational configuration, administration, security and back-up and restoration options. 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.