Skip to content

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.

    Data Model

  • Transactions


    Understand ACID transactions and optimistic concurrency.

    Transactions

  • ACID Guarantees


    Explore FoundationDB's strong consistency guarantees.

    ACID Guarantees

  • Architecture


    Discover the distributed architecture that powers FDB.

    Architecture

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:

  1. Data Model — Ordered key-value pairs, the tuple layer, and key design patterns
  2. Transactions — ACID transactions, optimistic concurrency, and conflict handling
  3. ACID Guarantees — What each property means and how FDB achieves them at scale
  4. Architecture — Components, transaction flow, fault tolerance, and scaling

Academic Resources

For a deeper dive into FoundationDB's design: