你当像鸟飞往你的山
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
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
SSTable 介绍 SSTable 介绍
SSTable(Sorted String Table)是一个简单,但是非常有用的用来交换大量的、排好序的数据片段的数据结构。其使用场景为: 需要高效地存储大量地 K-V 数据; 数据是顺序写入的; 要求高效地顺序读写; 没有随机读取或者
2022-10-12
布隆过滤器 布隆过滤器
BloomFilter 实际上是一个很长的二进制向量和一系列随机映射函数,主要用于判断一个元素是否在一个集合中。 通常我们要判断一个元素是否在某个集合,一般想到的是将集合中所有元素保存起来,然后通过比较确定。链表、树、哈希表等等数据结构都是
2022-10-12
LSM-Tree(一) 初识 LSM-Tree(一) 初识
写在前面:本篇博客为综述《LSM-based Storage Techniques: A Survey》的学习笔记(一),该综述介绍了 LSM-Tree 的前世今生、思想本质、性能权衡、面临问题、优化方案等等,也是我正式接触 LSTM-T
2022-10-12
3 / 3