- A skip list (i.e. memtable) to support fast retrieval of the most recent db writes
- A write-ahead-log (i.e. journal) to add basic persistence and support recovery in the event of a crash
- SSTables to flush older data to disk that no longer fits in memory (i.e. the memtable)
- On-disk indexes to improve performance when searching SSTables
- Bloom Filter to improve performance when searching SSTables
Intrigued by collaboration tools like Google Docs, we set out to build one from scratch. Conclave uses a Conflict-Free Replicated Data Type (CRDT) to make sure all users stay in-sync and WebRTC to allow users to communicate directly to one another without a central server. The result is a private and secure way for users to collaborate.
Read our case study to learn how we built it from scratch.