Goals for completion of this ticket:
- Different format for unique indexes. Probably the same thing that wiredtiger is doing – storing duplicates as a list (as oposed to storing RecordIDs as part of keys). This should also enable using bloom filters for duplicate key checks.
- Phase-out old keys in RocksTransaction. Currently all written keys ever are stored in RocksTransaction. We need to remove keys that are not being touched by any currently running transactions.
- Improve rocks_engine metadata. Introduce DB version to support changes in disk format in the future.
- Configure RocksDB + expose some config options to users.
(Copied from email from the submitter)