leveldb 标签归档

共 9 篇文章 · 返回首页

【存储工程】嵌入式存储引擎对比

当我们提到"数据库"时,多数人首先想到的是 MySQL、PostgreSQL 这类以独立进程运行的数据库服务器。客户端通过网络协议连接到服务器,服务器管理存储、索引、事务和并发控制。然而,还有一类存储系统以库(Library)的形式直接链接到应用进程中,不需要独立的服务器进程,不需要网络通信,不需要序列化和反序列化——…

【从零写一个 LSM-Tree 存储引擎】Compaction:LSM-Tree 的心脏手术

从零实现 LSM-Tree Compaction:最小堆多路归并迭代器、Level 分层与 Compaction 打分、Tombstone 下推、Version/VersionEdit/MANIFEST 版本管理,以及 Leveled/Size-Tiered/Universal 三种策略的量化对比。从零写一个 LSM-Tree 存储引擎系列第 4 篇。

【从零写一个 LSM-Tree 存储引擎】完整引擎 + Rust 重写对比

组装完整 LSM-Tree 存储引擎:DB 接口(Open/Put/Get/Delete/Iterator/Snapshot)、单写多读并发控制、启动恢复,然后用 Rust 重写核心模块,记录 5 个编译器不让我过的故事,最后三方 benchmark 对比。从零写一个 LSM-Tree 存储引擎系列第 5 篇。

【从零写一个 LSM-Tree 存储引擎】LSM-Tree 全景:为什么要先写日志再排序

从零理解 LSM-Tree 存储引擎的设计哲学:B-Tree 与 LSM-Tree 的本质差异,写放大/读放大/空间放大的三角权衡,以及 WAL、MemTable、SSTable、Compaction、Bloom Filter 各组件的角色与协作关系。从零写一个 LSM-Tree 存储引擎系列第 1 篇。