RocksDB有哪些好的文章和资料(markDY)?

本文探讨RocksDB与LevelDB的区别,包括RocksDB的多线程写入逻辑、事务支持和读写优化。推荐了一系列关于RocksDB源码分析、事务实现、减少内存拷贝及数据校验的文章,并介绍了TerarkDB如何增强RocksDB的性能和压缩能力。
摘要由CSDN通过智能技术生成

RocksDB有哪些好的文章和资料(markDY)? - 知乎 https://www.zhihu.com/question/270732348

 

一点感悟:

c/c++ 还是不可替换
c++ 11 反反复复在那里纠结内存要不要拷贝一次,还是直接赋值
“完全转发”啥的
真正操作计算机,还得 c/c++


LevelDB以下简称LD,RocksDB以下简称RD。

引用 的话:

N次阅读rocksdb和leveldb源码后,我对它们的简答粗暴概括理解如下:

跟leveldb学习LSM-Tree及C++(C98)实践
跟rocksdb学习存储引擎的实现

 

RocksDB的多线程流水线效果写入的逻辑组织,可以看 ——

张友东前辈的 RocksDB 写入流程详解 , 注意WAL处事多线程写入,且第一个线程所创建的Writer类会成为leader; memtable支持并发无锁写入。

 

LevelDB和RocksDB内存跳表数据结构和代码实现,可以看——

大神的  RocksDB——内联跳跃表

或 我的修订 - https://zhuanlan.zhihu.com/p/35191545

【转载并修改】RocksDB中的memtable之一——内联跳跃表(Inline Skip List)

郑重声明:转载自UncP 大神并修改

 

摘要:

LevelDB使用Skip List

RocksDB使用Inline Skip List

 

 

这篇文章介绍RocksDB中的memtable之一——内联跳跃表(Inline Skip List)。

RocksDB是Facebook基于LevelDB研发的键值存储引擎,它不但对LevelDB的不足之处进行了优化(比如多线程压缩**),而且引入了很多新特性(比如事务)。

如果你对LevelDB有所了解的话那应该对跳跃表不会陌生,跳跃表在LevelDB中用于存储内存数据,在LevelDB中被称作Memtable。

 

 

 

如果你并不熟悉跳跃表的话,这里有篇博客:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值