Resources
Unorganized
rocksdb
crate docs- The Design of the Postgres Storage System (VLDB 1987)
- How CockroachDB's MVCC Model Works (RocksDB Meetup 2015, video, slides
- they store one key for metadata, then key per each MVCC version
- custom order logic to get MVCC versions sorted largest-first
- RocksDB transactions: https://github.com/facebook/rocksdb/wiki/Transactions#optimistictransactiondb, https://github.com/facebook/rocksdb/wiki/WritePrepared-Transactions, https://github.com/facebook/rocksdb/wiki/WriteUnprepared-Transactions
- RocksDB objects must be deleted before exit (or you crash with
"pure virtual method called" in destructor
): https://github.com/facebook/rocksdb/issues/649#issuecomment-119779477 via https://github.com/rust-rocksdb/rust-rocksdb/issues/463 - RocksDB merge operator: https://github.com/facebook/rocksdb/wiki/Merge-Operator, https://github.com/facebook/rocksdb/wiki/Merge-Operator-Implementation
- each RocksDB column family takes about 64 MiB RAM: https://github.com/facebook/rocksdb/issues/2426