FoundationDB is a new-generation database built to support a diverse set of applications and data models while delivering exceptional performance, data consistency, and operational resilience.
FoundationDB is a new-generation database built to support a diverse set of applications and data models while delivering exceptional performance, data consistency, and operational resilience.
FoundationDB's core is a simple key-value API with useful properties and strong guarantees. Features in the core are deliberately kept to a minimum. We choose to expose additional data models and features via "layers".
Scalable
FoundationDB adapts to efficiently support applications with diverse performance requirements. By using a shared-nothing distributed architecture, FoundationDB scales out by adding more machines to a cluster rather than just scaling up by increasing the capacity of a single machine. Best of all, the hard work of managing data redundancy, partitioning, caching, etc., is all handled automatically.
Read more about our scalability→
ACID transactions
All reads and writes in FoundationDB are accomplished using transactions. These transactions are fully ACID (Atomic, Consistent, Isolated, and Durable) and span multiple machines with high performance. FoundationDB's isolation is the highest available—transactions appear to occur sequentially. FoundationDB's durability is the strongest—all transactions are redundantly stored to disk before they are considered committed.
Fault tolerance
A system designed to be distributed across many machines must be highly fault tolerant because the likelihood of hardware and network failures increases with the number of machines involved. FoundationDB has been designed and relentlessly tested to provide exceptionally high levels of fault tolerance. We've gone much further than designing for "no single point of failure". FoundationDB has also been designed and tested to guarantee that all ACID properties are preserved, even under catastrophic failures.
Read more about our fault tolerance→
Replicated storage
FoundationDB stores each piece of data on multiple servers. If a server containing one of the copies is lost, FoundationDB will automatically heal, finding a new location for the lost copy. For read operations, clients communicate directly to the servers with the replicas, requesting a specific version to ensure a consistent view of the data.
Ordered key-value API
Simple can be powerful. FoundationDB uses an ordered key-value store data model. Each "row" within the database consists of a key that is used to reference the row and a value which stores data associated with the key. No specific format for the keys or values is required; they are simply binary data. Because keys are kept in lexicographical (sorted) order, ranges of key-value pairs can be read efficiently.
OLTP and OLAP
FoundationDB is optimized for online transaction processing (OLTP) workloads consisting of many small reads and writes. However, because it is an ordered key-value store, FoundationDB can use range reads to efficiently scan large swaths of data. Thus, FoundationDB can be effectively used for online analytical processing (OLAP) workloads as well.
Visit http://www.foundationdb.com/ for more details.