0%

DirectWriter 这个类的主要作用是将 long[] 型数据集编码存储到 byte[] 中,其实现充分考虑压缩比和性能因素。 编码原理 DirectWriter 使用的是固定位编码方式,即数据集中的所有元数均按照

本章主要从源码角度来分析 Pebble 对 Skiplist(跳表)的高性能设计,对于跳表的介绍及原理可以参考 百科 或网上其他文章,本文不做冗余介绍。 数据结构

上一章,分析了 Pebble 写入的整体流程,并深入分析了 Pipeline 的三个执行阶段。但还未对 large batch 和 makeRoomForWrite 具体执行逻辑进行分析,本章将对这两点内容展开讨论。 Large Batch 这里首先

在上一章,我们介绍了 Size-Tiered Compaction 策略(STCS),讨论了 STCS 的原理,并着重分析了它的缺陷 – 空间放大。本章我们将会介绍另一种策略 – Level Compaction Strategy (LCS),该策

开篇 本系列文章主要介绍 LSM-Tree 中非常重要的技术点 – Compaction。理解 Compaction 的作用及工作机制,对基于 LSM-Tree 类型的数据库开发或者调优有极大的益处。本系

本章会结合 Pebble 源码来剖析整个写入流程,并会深入分析整个写入路径上涉及的一些技术细节。这里说明,文章只会贴一些关键代码和代码行数较少的函数或者方

Pebble 来源 Pebble 是 Cockroach 参考 RocksDB 并用 Go 语言开发的高性能 KV 存储引擎。一直以来 CockroachDB 以 RocksDB 作为底层存储引擎,虽然 RocksDB 是一款非常优秀的 KV 内嵌式数据库,但是在 Cockroach 的使用过程