Core Concepts¶
Understanding the fundamental concepts behind FoundationDB will help you build better applications.
-
Data Model
Learn how FoundationDB organizes data as ordered key-value pairs.
-
Transactions
Understand ACID transactions and optimistic concurrency.
-
ACID Guarantees
Explore FoundationDB's strong consistency guarantees.
-
Architecture
Discover the distributed architecture that powers FDB.
Why These Concepts Matter¶
FoundationDB's design philosophy differs from most databases:
| Concept | Traditional DB | FoundationDB |
|---|---|---|
| Data model | Tables/documents | Ordered key-value |
| Transactions | Limited scope | Full database |
| Scaling | Vertical first | Horizontal first |
| Consistency | Eventually (often) | Always strict |
The Layer Concept¶
FoundationDB provides a minimal, highly reliable core. Higher-level data models (SQL, documents, graphs) are built as layers on top:
graph TB
subgraph "Your Application"
App[Application Code]
end
subgraph "Layers (Choose Your Data Model)"
SQL[SQL Layer]
Doc[Document Layer]
Record[Record Layer]
Custom[Your Custom Layer]
end
subgraph "FoundationDB Core"
KV[Ordered Key-Value Store]
ACID[ACID Transactions]
end
App --> SQL & Doc & Record & Custom
SQL & Doc & Record & Custom --> KV
KV --- ACID Why Layers?
By keeping the core minimal, FoundationDB can focus on reliability, performance, and consistency. You get to choose the data model that fits your application—or build your own layer that inherits all of FoundationDB's guarantees.
Notable Layers:
- Record Layer — Structured records with schemas and indexes (powers Apple's CloudKit)
- Document Layer — MongoDB-compatible API
Learning Path¶
We recommend reading these concepts in order:
- Data Model — Ordered key-value pairs, the tuple layer, and key design patterns
- Transactions — ACID transactions, optimistic concurrency, and conflict handling
- ACID Guarantees — What each property means and how FDB achieves them at scale
- Architecture — Components, transaction flow, fault tolerance, and scaling
Academic Resources¶
For a deeper dive into FoundationDB's design:
- SIGMOD 2021 Paper — "FoundationDB: A Distributed Unbounded Ordered Key-Value Store"
- Transaction Manifesto — Why ACID transactions are essential
- CAP Theorem Analysis — How FoundationDB chooses consistency