你当像鸟飞往你的山
RocksDB源码学习(七): 写(三)-WAL RocksDB源码学习(七): 写(三)-WAL
本篇博客将从源码层面分析 RocksDB 中 WAL 的创建与写入,且不考虑 2pc,所用代码版本为 v7.7.4 WAL 主要的功能是当 RocksDB 异常退出后,能够恢复出错前的 memtable 中的数据,因此 RocksDB 默
2022-10-26
RocksDB源码学习(六): 写(二)-WriteGroup RocksDB源码学习(六): 写(二)-WriteGroup
本篇博客将从源码层面分析 RocksDB 写操作中与 WriteGroup 有关的内容,且不考虑 pipelined_write 与 2pc,所用代码版本为 v7.7.4 WAL 主要的功能是当 RocksDB 异常退出后,能够恢复出错前
2022-10-25
RocksDB源码学习(五): 写(一)-框架 RocksDB源码学习(五): 写(一)-框架
RocksDB 的写流程比读流程要复杂很多,其中涉及到了多线程写入与 RocksDB 采用的很多优化,比如 unordered_write、pipelined_write 等等,还有一些可选策略,比如 2pc、parallel 等等,所以写
2022-10-25
RocksDB源码学习(四): 读(三) RocksDB源码学习(四): 读(三)
注:本篇博客涉及的代码版本均为v7.7.4。 上两篇博客中我们分析了 RocksDB 如何在内存中查找对应的数据,这一篇我们将会详细分析当内存中未找到记录时,RocksDB 如何在磁盘上查找对应的数据。 依旧是从 DBImpl::GetI
2022-10-21
RocksDB源码学习(三): 读(二) RocksDB源码学习(三): 读(二)
本篇博客关注 RocksDB 从 immutable memtable 中的读取,所有代码版本均为 v7.7.3。 在 Rocksdb 中,memtable 和 immutable memtable 都位于内存,且它俩是一样的数据结构,唯一
2022-10-21
RocksDB源码学习(二): 读(一) RocksDB源码学习(二): 读(一)
注:本篇博客所用代码版本均为 v7.7.3。 前言RocksDB 的所有对记录 delete 和 update 操作,都不是就地删或者就地更新,而是新增一个记录表示这个操作,而这个记录也是一个 <k, v>,和其他所有的 <
2022-10-19
k8s源码系列文章 k8s源码系列文章
k8s源码(一): Pod创建流程 k8s源码(二): Pod创建过程中Container的卷挂载
2022-10-18
LSM-Tree系列文章 LSM-Tree系列文章
LSM-Tree(一) 初识 布隆过滤器 SSTable
2022-10-18
RocksDB系列文章 RocksDB系列文章
RocksDB静态编译以及使用 RocksDB源码学习(一): 事务 RocksDB源码学习(二): 读(一) RocksDB源码学习(三): 读(二) RocksDB源码学习(四): 读(三) RocksDB源码学习(五): 写(一)-
2022-10-18
RocksDB源码学习(一): 事务 RocksDB源码学习(一): 事务
本篇博客试图从宏观上理一下 RocksDB 有关事务的部分。内容包含 DB、Transaction、WriteBatch、Sequence Num、Snapshot、Lock 等等。 注:本篇博客除了另行说明的代码截图版本为v5.18.4,
2022-10-16
4 / 8