RocksDB v3.2.0 Release Notes

Release Date: 2014-06-20 // almost 10 years ago
  • Public API changes

    • 👀 We removed seek compaction as a concept from RocksDB because: 📌 1) It makes more sense for spinning disk workloads, while RocksDB is primarily designed for flash and memory, 2) It added some complexity to the important code-paths, 3) None of our internal customers were really using it. 👀 Because of that, Options::disable_seek_compaction is now obsolete. It is still a parameter in Options, so it does not break the build, but it does not have any effect. We plan to completely remove it at some point, so we ask users to please remove this option from your code base.
    • ➕ Add two parameters to NewHashLinkListRepFactory() for logging on too many entries in a hash bucket when flushing.
    • Added new option BlockBasedTableOptions::hash_index_allow_collision. When enabled, prefix hash index for block-based table will not store prefix and allow hash collision, reducing memory consumption.

    🆕 New Features

    • 👍 PlainTable now supports a new key encoding: for keys of the same prefix, the prefix is only written once. It can be enabled through encoding_type parameter of NewPlainTableFactory()
    • ➕ Add AdaptiveTableFactory, which is used to convert from a DB of PlainTable to BlockBasedTabe, or vise versa. It can be created using NewAdaptiveTableFactory()

    🐎 Performance Improvements

    • 👀 Tailing Iterator re-implemeted with ForwardIterator + Cascading Search Hint , see ~20% throughput improvement.