LevelDB 不存在的特性
不属于LevelDB的RocksDB特性
Performance 性能
- Multithread compaction 多线程 compaction压缩
- Multithread memtable inserts 多线程memtable插入
- Reduced DB mutex holding 减少 DB互斥锁的持有
- Optimized level-based compaction style and universal compaction style 优化的分级压缩方式和通用压缩方式
- Prefix bloom filter 前缀Bloom过滤器
- Memtable bloom filter MemtableBloom过滤器
- Single bloom filter covering the whole SST file 单Bloom过滤器覆盖整个SST文件
- Write lock optimization 写锁优化
- Improved Iter::Prev() performance 改进Iter::Prev()性能
- Fewer comparator calls during SkipList searches 在SkipList跳表搜索期间,比较器调用更少
- Allocate memtable memory using huge page. 使用大页面分配内存。
Features 特性
- Column Families 列族
- Transactions and WriteBatchWithIndex 事务 和 WriteBatchWithIndex
- Backup and Checkpoints 备份 和 检查点
- Merge Operators Merge合并操作
- Compaction Filters 压缩过滤器
- RocksDB Java (RocksDB Java)
- Manual Compactions Run in Parallel with Automatic Compactions 手动压缩与自动压缩并行运行
- Persistent Cache 持久化Cache
- Bulk loading 批量加载
- Forward Iterators/ Tailing iterator 正向迭代器/尾随迭代器
- Single delete 单删除
- Delete files in range 删除范围内的文件
- Pin iterator key/value Pin iterator 键/值
Alternative Data Structures And Formats 可选的数据结构和格式
- Plain Table format for memory-only use cases 仅用于内存用例的普通表格式
- Vector-based and hash-based memtable format 基于向量和基于散列的memtable格式
- Clock-based cache (coming soon) 基于时钟的缓存(即将推出)
- Pluggable information log 可插入信息日志
- Annotate transaction log write with blob (for replication) 用blob注释事务日志(用于复制)
Tunability 可调谐性
- Rate limiting 速度限制
- Tunable Slowdown and Stop threshold 可调减速和停止阈值
- Option to keep all files open 保留所有文件打开的选项
- Option to keep all index and bloom filter blocks in block cache 选项可将所有索引和bloom过滤器块保存在块缓存中
- Multiple WAL recovery modes 多种WAL恢复模式
- Fadvise hints for readahead and to avoid caching in OS page cache Fadvise提示提前读取,避免在OS页面缓存中缓存
- Option to pin indexes and bloom filters of L0 files in memory 选择将L0文件的索引和Bloom过滤器固定在内存中
- More Compression Types: zlib, lz4, zstd 更多压缩类型:zlib, lz4, zstd
- Compression Dictionary 压缩字典
- Checksum Type: xxhash 校验和类型:xxhash
- Different level size multiplier and compression type for each level. 每个级别的级别大小乘法器和压缩类型不同。
Manageability 可管理性
- Statistics 统计
- Thread-local profiling 线程局部剖析
- More commands in command-line tools 命令行工具中的更多命令
- User-defined table properties 用户定义的表属性
- Event listeners 事件监听器
- More DB Properties 更多DB属性
- Dynamic option changes 动态选项更改
- Get options from a string or map 从字符串或映射中获取选项
- Persistent options to option files 持久选项的选项文件