Skip to content

KV 数据库

KV 存储引擎知识体系 —— 按存储模型分类整理 RocksDB / LevelDB / Pebble / Badger / LMDB / redb / bbolt,以及 Bitcask 模型(rosedb / basho/bitcask)的机制 与选型。

存储模型分类

模型 代表引擎 核心思路
LSM-Tree RocksDB / LevelDB / Pebble / Badger 顺序写 + 分层 compaction,写密集首选;key 索引不必全放内存
B+Tree LMDB / redb / bbolt 原地更新 + mmap,读密集 / 低内存
Bitcask(日志 + 内存索引) rosedb / basho/bitcask append-only 日志 + 全部 key 的 keydir 常驻内存,读最多一次 seek,靠 merge 回收空间

Docs

Docs Description
KV 数据库对比 KV 引擎全面对比(语言、存储结构、性能、生态)
Bitcask 存储模型 日志结构哈希表:数据结构(entry / keydir / hint file / merge)、读写路径、优劣与实现列表
Backlinks (1)
flowchart LR
  n0["Collection"]
  n1["Maps"]
  n2["Database"]
  n3["Bitcask 存储模型(日志结构哈希表)"]
  n4["KV 数据库对比"]
  n5["KV 数据库"]
  n6["PostgreSQL 活跃会话诊断(Active Sessions)"]
  n7["PostgreSQL 磁盘占用查看(Table Size / Datafile)"]
  n8["PostgreSQL"]
  n9["PostgreSQL 内存占用查看(Memory / Buffers / Connections)"]
  n10["PostgreSQL 查看慢查询(Slow Query)"]
  n11["PostgreSQL WAL 与 LSN"]
  n12["Knowledge"]
  n13["Cloud"]
  n14["对象存储基本用法(Bucket / Object / 常用操作)"]
  n15["对象存储数据迁移(R2 → MinIO / 跨厂商搬迁)"]
  n16["Object Storage"]
  n17["挂载 Bucket 为本地文件系统(FUSE Mount)"]
  n18["对象存储签名 URL(Signed URL)原理与实战"]
  n19["对象存储供应商对比(S3 / R2 / OSS / Supabase / MinIO)"]
  n20["Infrastructure"]
  n21["Prototypes"]
  n22["Research"]
  n23["Better Auth 源码阅读指南"]
  n24["DuckDB 实战研究"]
  n25["英语学习 Dashboard"]
  n26["Jellyfin 源码阅读指南"]
  n27["Lux 资料整理"]
  n28["Nest Commander 学习资料"]
  n29["NestJS 源码阅读指南"]
  n30["Protomaps 自建底图研究"]
  n31["自制 PMTiles 地图(最简单例子)"]
  n32["MapLibre 集成 Protomaps"]
  n33["PMTiles 格式与工具链"]
  n34["上海地区底图项目"]
  n35["Redash 源码阅读指南"]
  n36["Rust 学习计划"]
  n37["shadcn/ui 实用研究(从环境到基本使用)"]
  n38["TRIP 项目核心原理与代码阅读指南"]
  n0 --> n1
  n0 --> n22
  n2 --> n5
  n2 --> n8
  n4 --> n3
  n5 --> n3
  n5 --> n4
  n8 --> n6
  n8 --> n7
  n8 --> n9
  n8 --> n10
  n8 --> n11
  n9 --> n6
  n9 --> n7
  n10 --> n6
  n12 --> n2
  n12 --> n20
  n13 --> n16
  n14 --> n15
  n14 --> n18
  n14 --> n19
  n14 --> n21
  n15 --> n14
  n15 --> n17
  n15 --> n18
  n15 --> n19
  n16 --> n14
  n16 --> n15
  n16 --> n17
  n16 --> n18
  n16 --> n19
  n17 --> n14
  n17 --> n18
  n17 --> n19
  n18 --> n21
  n19 --> n14
  n19 --> n15
  n19 --> n18
  n19 --> n21
  n20 --> n13
  n21 --> n3
  n21 --> n14
  n21 --> n17
  n21 --> n18
  n21 --> n19
  n21 --> n30
  n22 --> n23
  n22 --> n24
  n22 --> n25
  n22 --> n26
  n22 --> n27
  n22 --> n28
  n22 --> n29
  n22 --> n30
  n22 --> n35
  n22 --> n36
  n22 --> n37
  n22 --> n38
  n24 --> n22
  n30 --> n1
  n30 --> n31
  n30 --> n32
  n30 --> n33
  n30 --> n34
  n31 --> n33
  n32 --> n21
  n32 --> n34
  n33 --> n31
  n33 --> n34
  n34 --> n32
  n34 --> n33
  n37 --> n22
  click n0 "../../../collection/" "Collection"
  click n1 "../../../collection/maps/" "Maps"
  click n2 "../" "Database"
  click n3 "bitcask/" "Bitcask 存储模型(日志结构哈希表)"
  click n4 "comparison/" "KV 数据库对比"
  click n5 "./" "KV 数据库"
  click n6 "../postgresql/active-sessions/" "PostgreSQL 活跃会话诊断(Active Sessions)"
  click n7 "../postgresql/disk-usage/" "PostgreSQL 磁盘占用查看(Table Size / Datafile)"
  click n8 "../postgresql/" "PostgreSQL"
  click n9 "../postgresql/memory-usage/" "PostgreSQL 内存占用查看(Memory / Buffers / Connections)"
  click n10 "../postgresql/slow-queries/" "PostgreSQL 查看慢查询(Slow Query)"
  click n11 "../postgresql/wal-lsn/" "PostgreSQL WAL 与 LSN"
  click n12 "../../" "Knowledge"
  click n13 "../../infrastructure/cloud/" "Cloud"
  click n14 "../../infrastructure/cloud/object-storage/basic-usage/" "对象存储基本用法(Bucket / Object / 常用操作)"
  click n15 "../../infrastructure/cloud/object-storage/data-migration/" "对象存储数据迁移(R2 → MinIO / 跨厂商搬迁)"
  click n16 "../../infrastructure/cloud/object-storage/" "Object Storage"
  click n17 "../../infrastructure/cloud/object-storage/mount-bucket/" "挂载 Bucket 为本地文件系统(FUSE Mount)"
  click n18 "../../infrastructure/cloud/object-storage/signed-url/" "对象存储签名 URL(Signed URL)原理与实战"
  click n19 "../../infrastructure/cloud/object-storage/vendors-comparison/" "对象存储供应商对比(S3 / R2 / OSS / Supabase / MinIO)"
  click n20 "../../infrastructure/" "Infrastructure"
  click n21 "../../../prototypes/" "Prototypes"
  click n22 "../../../research/" "Research"
  click n23 "../../../research/topics/better-auth/" "Better Auth 源码阅读指南"
  click n24 "../../../research/topics/duckdb/" "DuckDB 实战研究"
  click n25 "../../../research/topics/english/" "英语学习 Dashboard"
  click n26 "../../../research/topics/jellyfin/" "Jellyfin 源码阅读指南"
  click n27 "../../../research/topics/lux/" "Lux 资料整理"
  click n28 "../../../research/topics/nest-commander/" "Nest Commander 学习资料"
  click n29 "../../../research/topics/nestjs/" "NestJS 源码阅读指南"
  click n30 "../../../research/topics/protomaps/" "Protomaps 自建底图研究"
  click n31 "../../../research/topics/protomaps/make-own-map/" "自制 PMTiles 地图(最简单例子)"
  click n32 "../../../research/topics/protomaps/maplibre/" "MapLibre 集成 Protomaps"
  click n33 "../../../research/topics/protomaps/pmtiles/" "PMTiles 格式与工具链"
  click n34 "../../../research/topics/protomaps/shanghai-map/" "上海地区底图项目"
  click n35 "../../../research/topics/redash/" "Redash 源码阅读指南"
  click n36 "../../../research/topics/rust/" "Rust 学习计划"
  click n37 "../../../research/topics/shadcn-ui/" "shadcn/ui 实用研究(从环境到基本使用)"
  click n38 "../../../research/topics/trip/" "TRIP 项目核心原理与代码阅读指南"
Links (2)