The samza-kv implementation is currently using LevelDB. RocksDB seems to have a number of interesting options that would be useful to Samza:
- Ability to swap out skip list for a faster implementation when restoring data from a changelog stream.
- Ability to disable compaction during changelog stream restoration.
- Ability to have a single level (or single SST) rather than multiple levels in order to reduce read amplification.
- A merge operation for doing lazy read-modify-write during compaction.
And a lot more.