lucene 编码技术 - DirectMonotonicWriter Publish on: 2022-12-18 Classify at: lucene Comments: 从名称可以看出,DirectMonotonicWriter 这个类主要是针对单调递增或者递减(即有序)数据集的编码。本文将结合源码分析其编码原
lucene 编码技术 - DirectWriter Publish on: 2022-12-04 Classify at: lucene Comments: DirectWriter 这个类的主要作用是将 long[] 型数据集编码存储到 byte[] 中,其实现充分考虑压缩比和性能因素。 编码原理 DirectWriter 使用的是固定位编码方式,即数据集中的所有元数均按照
Pebble 源码剖析 - Skiplist Publish on: 2022-02-26 Classify at: pebble Comments: 本章主要从源码角度来分析 Pebble 对 Skiplist(跳表)的高性能设计,对于跳表的介绍及原理可以参考 百科 或网上其他文章,本文不做冗余介绍。 数据结构
Pebble 源码剖析-写入流程(续) Publish on: 2022-02-16 Classify at: pebble Comments: 上一章,分析了 Pebble 写入的整体流程,并深入分析了 Pipeline 的三个执行阶段。但还未对 large batch 和 makeRoomForWrite 具体执行逻辑进行分析,本章将对这两点内容展开讨论。 Large Batch 这里首先
Compaction 策略 - Leveled Publish on: 2022-01-30 Classify at: lsm Comments: 在上一章,我们介绍了 Size-Tiered Compaction 策略(STCS),讨论了 STCS 的原理,并着重分析了它的缺陷 – 空间放大。本章我们将会介绍另一种策略 – Level Compaction Strategy (LCS),该策
Compaction 策略 - Size-Tiered Publish on: 2022-01-27 Classify at: lsm Comments: 开篇 本系列文章主要介绍 LSM-Tree 中非常重要的技术点 – Compaction。理解 Compaction 的作用及工作机制,对基于 LSM-Tree 类型的数据库开发或者调优有极大的益处。本系
Pebble 源码剖析-写入流程 Publish on: 2022-01-24 Classify at: pebble Comments: 本章会结合 Pebble 源码来剖析整个写入流程,并会深入分析整个写入路径上涉及的一些技术细节。这里说明,文章只会贴一些关键代码和代码行数较少的函数或者方
初识Pebble Publish on: 2022-01-20 Classify at: pebble Comments: Pebble 来源 Pebble 是 Cockroach 参考 RocksDB 并用 Go 语言开发的高性能 KV 存储引擎。一直以来 CockroachDB 以 RocksDB 作为底层存储引擎,虽然 RocksDB 是一款非常优秀的 KV 内嵌式数据库,但是在 Cockroach 的使用过程