foundationdb

k-v engine to build your own database

Created: by Pradeep Gowda Updated: Sep 19, 2023 Tagged: foundationdb · databases

Homepage: FoundationDB

FoundationDB is an open source multi-modal distributed k-v store database developed by Apple. It backs Snowflake and also many iCloud services.

It is often thought of as a toolkit to build your layers of database to suit your needs instead of inventing the hard parts of database yourself (See 1)

Articles

Skipping the boring parts of building a database using FoundationDB 2 Sep 2022.

A good blog post explaining the why behind FoundationDB. The author is creating tigrisdata, a storage platform for real-time apps.

The most complicated and time-consuming parts of building a new database system are usually the edge cases and low-level details. Concurrency control, consistency, handling faults, load balancing

why does every new system have to completely rebuild (not even reinvent!) the wheel? Most of them decide to reimplement common processes and components without substantially increasing the value gained from reimplementing them.

FoundationDB: A Distributed Key-Value Store 3

Novel:  It is one of the first systems to combine the flexibility and scalability of NoSQL architectures with the power of ACID transactions.

Architecture: FoundationDB adopts an unbundled architecture that decouples an in-memory transaction management system, a distributed storage system, and a built-in distributed configuration system. Each sub-system can be independently provisioned and configured to achieve scalability, high availability, and fault tolerance.

Engineering:  FoundationDB includes a deterministic simulation framework, used to test every new feature under a myriad of possible faults. This rigorous testing makes FoundationDB extremely stable and allows developers to introduce and release new features in a rapid cadence.

Success: FoundationDB is the underpinning of cloud infrastructure at Apple, Snowflake, and other companies, due to its consistency, robustness, and availability for storing user data, system metadata and configuration, and other critical information.

The Catch: FoundationDB offers a minimal and carefully chosen feature set, which has enabled a range of disparate systems to be built as layers on top.

How FoundationDB works and why it works; Jul 2021. > FDB is probably the best k/v store for regional deployment out there. It’s rock solid thanks to its simulation framework. The FDB team, in my opinion, made all the best design choices, which is just remarkable. The paper is dense. A lot of important details are only briefly mentioned or even omitted, which is probably due to the paper length limit. Congratulations to the FoundationDB team.

Databases / Applications using FoundationDB

Discussions

References


  1. Chaudhary, Himank. “Skipping the boring parts of building a database using FoundationDB,” 2022.↩︎

  2. Chaudhary, Himank. “Skipping the boring parts of building a database using FoundationDB,” 2022.↩︎

  3. Kemper, Alfons. “Technical Perspective: FoundationDB Performs Balancing Act,” 2023. 66 (6).↩︎

  4. Chaudhary, Himank. “Skipping the boring parts of building a database using FoundationDB,” 2022.↩︎