ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【转载】rocksdb对leveldb做了哪些优化?

2022-05-08 21:32:22  阅读:209  来源: 互联网

标签:files leveldb based rocksdb filter cache compaction 转载 bloom


作者:godj
链接:https://www.zhihu.com/question/328622742/answer/713388283

RocksDB Features that are not in LevelDB

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
  • 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

Alternative Data Structures And Formats

  • 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)

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
  • 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.

Manageability

  • 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
  • Persistent options to option files

标签:files,leveldb,based,rocksdb,filter,cache,compaction,转载,bloom
来源: https://www.cnblogs.com/jiangshifu/p/16246986.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有