Summary
- Ordered, transactional, K/V Store. Multi-key strictly serializable transactions across entire key space. ACID compliant.
- Lock Free architecture. FDB defaults to strict serializable transactions, allowing relaxing them with flexible fine-grained controls over conflicts. Optimistic Locking + MVCC adds write overhead and makes reads more efficient. Quorum solutions, like dynamo, does not resolve the conflicts on write
- Uses optimistic concurrency control primitives over locks.
- Unbundled architecture that comprises the Control Plane and Data plane. Control plane based on active disk paxos for HA. Data plane consist of a transaction management system and a distributed storage layer that serves reads. Both can be scaled independently.
- “decouples an in-memory transaction management system, a distributed storage system, and a built-in distributed configuration system”
- The control plane manages metadata and uses Active Disk Paxos for HA
- The data plane consists of
- transaction management system → processing updates
- distributed storage → serving reads
Design Principles
Architecture
Usages