RocksDB Features that are not in LevelDB

    • Multithread compaction
    • Multithread memtable inserts
    • Reduced DB mutex holding
    • Optimized level-based compaction style and universal compaction style
    • Prefix bloom filter
    • Memtable bloom filter
    • Single bloom filter covering the whole SST file
    • Write lock optimization
    • Improved Iter::Prev() performance
    • Fewer comparator calls during SkipList searches
    • Allocate memtable memory using huge page.
    • Column Families
    • Backup and Checkpoints
    • Merge Operators
    • Compaction Filters
    • RocksDB Java
    • Manual Compactions Run in Parallel with Automatic Compactions
    • Persistent Cache
    • Bulk loading
    • Forward Iterators/ Tailing iterator
    • Single delete
    • Delete files in range
    • Pin iterator key/value
    • Plain Table format for memory-only use cases
    • Vector-based and hash-based memtable format
    • Clock-based cache (coming soon)
    • Pluggable information log
    • Annotate transaction log write with blob (for replication)
    • Rate limiting
    • Option to keep all files open
    • Option to keep all index and bloom filter blocks in block cache
    • Multiple WAL recovery modes
    • Fadvise hints for readahead and to avoid caching in OS page cache
    • Option to pin indexes and bloom filters of L0 files in memory
    • More Compression Types: zlib, lz4, zstd
    • Compression Dictionary
    • Checksum Type: xxhash
    • Different level size multiplier and compression type for each level.
    • Statistics
    • Thread-local profiling
    • More commands in command-line tools
    • User-defined table properties
    • Event listeners
    • More DB Properties
    • Dynamic option changes
    • Get options from a string or map