AlexStocks / alexstocks.github.io

AlexStocks's blog
Other
15 stars 7 forks source link

rocksdb #22

Open AlexStocks opened 6 years ago

AlexStocks commented 6 years ago

https://alexstocks.github.io/html/rocksdb.html

absolute8511 commented 6 years ago

你好, 您文章说的2.6 memory pool 是在哪里配置, 貌似没找到? 我这边也被写毛刺困扰, 希望能了解下, 谢谢

AlexStocks commented 6 years ago

@absolute8511 你好, 您文章说的2.6 memory pool 是在哪里配置, 貌似没找到? 我这边也被写毛刺困扰, 希望能了解下, 谢谢

看下1.7和2.3。主要修改write_buffer_size。

nanne007 commented 6 years ago

每个 shard 大小不超过 512k => 每个 shard 大小不少于 512k

AlexStocks commented 6 years ago

@lerencao 每个 shard 大小不超过 512k => 每个 shard 大小不少于 512k

已经修改。

bneliao commented 5 years ago

整理非常详尽全面,赞

royforu commented 5 years ago

寫的很詳細 感謝分享

lizunmvn commented 5 years ago

prefix seek 是怎么实现的?

XhinLiang commented 5 years ago

如果 RocksDB 进行 compaction 比较频繁,虽然有利于空间和读,但是会造成读放大;compaction 过低则会造成读放大和空间放大;

这句话貌似有问题

levy5307 commented 5 years ago

RocksDB还提供了一个 ClockCache,每个 shard 有自己的一个 circular list,有一个 clock handle 会轮询这个 circular list,寻找过时的 kv,如果 entry 中的 kv 已经被访问过则可以继续存留,相对于 LRU 好处是无 mutex lock,circular list 本质是 tbb::concurrenthashmap,从 benchmark 来看,二者命中率相似,但吞吐率 Clock 比 LRU 稍高。

clock cache也是有锁的,只是在lookup时无需像lru cache一样加锁(需要更新lru list)