What is it about?
FoundationDB is an open-source, distributed storage system that provides strong transactional guarantees for building stateful applications on top. Apple, Snowflake, and other companies have used it as the underpinning cloud infrastructure for their cloud-based services. This paper delves into the architecture of the system, elucidating its inner workings and demonstrating how simulation techniques contribute to its remarkable resilience and dependability.
Featured Image
Why is it important?
FoundationDB was created in 2009 and is arguably one of the first NoSQL systems that has strong consistency so that applications don't have to trade consistency for high availability. This paper discusses design principles in building such a distributed storage system.
Perspectives
For a system to be successful, there has to be at least two things done right. For FoundationDB, the first thing is the deterministic simulation that greatly helped developer to build a correct system. The other is the asynchronous C++ language extension, called flow, which just makes writing code so much simpler. Modern languages have gradually added support for asynchronous co-routines, while in my opinion, some may not be as elegant as how flow is constructed.
Jingyu Zhou
Read the Original
This page is a summary of: FoundationDB: A Distributed Key-Value Store, Communications of the ACM, May 2023, ACM (Association for Computing Machinery),
DOI: 10.1145/3592838.
You can read the full text:
Contributors
The following have contributed to this page