Rocksdb对leveldb的优化
RocksDB Features that are not in LevelDB
We stopped maintaining this page since 2016. New features are not added to the lists.
Performance
- 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.
Features
- Column Families
- Transactions and WriteBatchWithIndex
- Backup and Checkpoints
- Merge Operators
- Compaction Filters
- Persistent Cache
- Bulk loading
- Delete files in range
- Pin iterator key/value
Alternative Data Structures And Formats
- Plain Table format for memory-only use cases
- Vector-based and hash-based memtable format
- Clock-based cache
- Annotate transaction log write with blob (for replication)
Tunability
- 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