At a glance
| Data model | Ordered key-value; other models through layers |
| Query language | Key and range API through bindings; SQL via the Record Layer (JDBC) |
| Consistency model | ACID transactions for all operations |
| Replication | Automatic replication across servers (for example triple replication) |
| Partitioning or sharding | Automatic, by key range |
| Transactions | Multi-key ACID; limits of 5 seconds and 10,000,000 bytes per transaction |
| Deployment and cloud availability | Self-managed: packages for Ubuntu 18.04+, RHEL/Rocky 7+, macOS 13+; Windows installer only for 6.3.12; no managed service from the project |
| Licensing | Apache License 2.0, free |
| Size limits | Keys up to 10,000 bytes, values up to 100,000 bytes |
FoundationDB is a building block rather than a finished application database: it gives you strictly ACID, ordered key-value storage across a cluster, and you add data models on top through layers or your own code. It is free and battle-tested, but its five-second and 10 MB transaction limits, sparse tooling and lack of a managed service make it a fit for platform teams, not for quick application projects.
Overview
FoundationDB is a distributed database that stores data as an ordered map of keys to values and runs every operation inside an ACID transaction, across a cluster of commodity servers. Its source is in Apple's GitHub organisation under the Apache License 2.0. Applications talk to it through bindings for C, Python, Java, Go and Ruby, or through a layer: a stateless component that maps a richer data model onto keys and values.
The best-known layer is the FoundationDB Record Layer, an Apache 2.0 Java library that provides record-oriented storage and a relational interface with SQL over JDBC, including joins and aggregation. The documented limits shape every design: transactions cannot run longer than five seconds or touch more than 10,000,000 bytes, keys are capped at 10,000 bytes and values at 100,000 bytes, and the project says testing covered clusters of up to 500 processes and 100 TB of key-value data.
Key features
- Ordered key-value store with range reads over sorted keys
- ACID transactions across the whole cluster, not limited to one partition
- Layers concept: stateless components that add document, record or relational models on top
- FoundationDB Record Layer for record storage and SQL over JDBC (Java)
- Automatic data distribution, replication and recovery across servers
- Bindings for C, Python 3.8+, Java 11+, Go 1.22+ and Ruby
Integrations and ecosystem
Pros and cons
Pros
- Strict ACID transactions across keys and nodes, which most NoSQL stores do not offer
- Permissive Apache 2.0 licence with no editions or usage limits
- Layer model lets one cluster serve several data models
- Record Layer adds SQL and relational features for Java applications
Cons
- Transactions are limited to five seconds and 10 MB of affected data, so long or bulk jobs must be split
- Low-level API: most teams need a layer or significant code to model their data
- No commercial support or managed service from the project
- Anyone who can connect to a cluster can read and write every key unless you add external protections, per the known limitations page
Pricing
FoundationDB is free open source software under the Apache License 2.0, published in Apple's GitHub organisation. There is no paid edition, commercial support offering or managed service from the project; you run and support it yourself.
Pricing checked on the vendor's official page on 7 November 2026. Prices change; confirm before buying.
Who it is best for
Platform and infrastructure teams that need a transactional, distributed storage core to build their own data services or layers on.
Typical use cases
- Storage engine for a custom metadata or configuration service
- Building multi-tenant record stores with the Record Layer
- Strongly consistent queues, indexes and counters across a cluster
- Foundation for in-house document or graph layers
Who should look elsewhere
- Application teams wanting a ready-made document or SQL database with managed hosting: see MongoDB or CockroachDB.
- Long-running analytical queries or large bulk transactions, which hit the five-second and 10 MB limits.
Verdict
FoundationDB offers something rare in NoSQL: cluster-wide ACID transactions under a permissive licence. Its limits and low-level API mean it pays off for teams building their own data platform, while most application teams will be better served by a database with a richer model and a managed option.
Frequently asked questions
Who owns FoundationDB?
The project lives in Apple's GitHub organisation (apple/foundationdb) and is open source under the Apache License 2.0, with discussion on the FoundationDB forums.
What are FoundationDB layers?
Layers are stateless components that add a data model on top of FoundationDB's ordered key-value store. The FoundationDB Record Layer, for example, is a Java library that stores structured records and offers a relational interface with SQL over JDBC.
What are FoundationDB's transaction limits?
The known limitations page says transactions cannot run for more than five seconds or exceed 10,000,000 bytes of affected data, keys cannot exceed 10,000 bytes and values cannot exceed 100,000 bytes. It advises redesigning if one transaction touches more than about 1 MB.
What is the current FoundationDB version?
On GitHub the release marked Latest is 7.3.77, and the downloads page offers 7.3.77 packages for Ubuntu and RHEL. Newer 7.3, 7.4 and 8.0.0 builds are published as pre-releases.
Sources
- FoundationDB documentation
- FoundationDB known limitations
- FoundationDB downloads
- apple/foundationdb repository (GitHub)
- FoundationDB releases (GitHub)
- FoundationDB Record Layer (GitHub)
Checked November 2026.
Listed in: NoSQL & Distributed Databases.
How we research reviews and what star ratings mean: our editorial method.