土法炼钢兴趣小组的算法知识备份

【WiredTiger 内核】选型与阅读地图:何时 MongoDB / WiredTiger

文章导航

分类入口
databasestorage
标签入口
#wiredtiger#mongodb#engine-selection#history-store#rocksdb#postgresql#sqlite#decision-tree

目录

第 16 篇 给了机制对照。本文做两件事:一是何时选 MongoDB(从而落到 WiredTiger) 的决策树;二是回收系列开放问题并指向后续阅读。仍然不写未实测跨引擎延迟排名。

本文是「WiredTiger 内核」系列第 17 篇(共 17 篇,收束)。→ 系列目录

先修:第 1、8、16 篇。


一、决策树(机制条件,非营销)

flowchart TD
  start["Workload"] --> doc{"Document model<br/>primary?"}
  doc -->|no| sql{"Need SQL server<br/>multi-writer?"}
  sql -->|yes| pg["PostgreSQL / InnoDB"]
  sql -->|embed SQL| sqlite["SQLite"]
  sql -->|raw KV high write| rocks["RocksDB"]
  doc -->|yes| mongo{"Need MongoDB ecosystem<br/>repl/shard/query?"}
  mongo -->|yes| wt["MongoDB + WiredTiger"]
  mongo -->|only WT library| embed["Embed WiredTiger<br/>without MongoDB"]
  wt --> cost{"OK with HS disk =<br/>update rate x window?"}
  cost -->|no| rethink["Revisit schema / window<br/>or another store"]
  cost -->|yes| ok["Fit"]
若你的硬约束是… 更偏向
标准 SQL、成熟 ORM、复杂事务与约束 PG / InnoDB(postgresql-kernelmysql-innodb
进程内 SQL、单写者、可 cp 的库文件 SQLite(sqlite-kernel
嵌入式有序 KV、写优化、自管 compaction RocksDB(rocksdb
文档模型 + MongoDB 查询/复制/生态 MongoDB → WiredTiger(本系列)
只要 WT 库、不要文档服务器 可直接链 WT;本系列机制仍适用,运维参数篇(14–15)需自行改写

负向信号(选 WT/MongoDB 前要想清楚):


二、开放问题回收

# 问题 状态
1 局部更新 vs 全量历史载荷 → HS 曲线 开放;入口第 08、15 篇;需实测
2 历史窗口 × 复制延迟 / prepared × oldest 开放;入口第 7、11、14 篇
3 HS 页与用户热页抢 cache 的可复现阈值 开放;入口第 4、15 篇;需实测

系列承诺是把问题钉在 Guide/源码路径上,而不是用口号关闭。


三、17 篇阅读地图(收束)

部分 一句话
模型与缓存 1–4 生态位;Session;Cache;Eviction 必须 reconcile
写路径与版本 5–8 Update chain;Reconcile;Timestamps;HS
持久化与恢复 9–11 Checkpoint;Journal;RTS
磁盘与嵌入 12–15 Block;Compact/Backup;MongoDB 参数;排障
对照与选型 16–17 对照表;决策树

必读核心仍建议:1 → 3 → 4 → 6 → 8 → 9 → 17。


四、三句话结语

  1. WiredTiger 是文档库默认引擎的内核答案:页式 B-Tree、旁路 History Store、checkpoint + journal、时间戳与 RTS。
  2. 它与 PG/InnoDB/SQLite/RocksDB 分工清晰;选它通常因为 MongoDB 文档生态,而不是「比 InnoDB 更快」这类无证据句。
  3. 机制上记住一句:脏页要 reconcile;最新留用户表,旧版进 HS;旧快照靠链 → 盘 → HS。

规划与实验台账见 PLAN.md。有环境时把第 08、15 篇实验补进 reproduce/ 再写数据结论。


参考资料


上一篇与 PG / InnoDB / RocksDB 对照
返回系列目录 · 数据库索引

同主题继续阅读

把当前热点继续串成多页阅读,而不是停在单篇消费。

2026-07-22 · db / storage

数据库内核实验索引

汇总本站数据库内核文章:PostgreSQL / MySQL InnoDB / 列存、湖仓、流处理、查询引擎、RocksDB、向量、Redis、全文检索、TiKV/HTAP、FoundationDB、SQLite 与 WiredTiger 内核,以及 LSM-Tree 实验与其它单篇。


By .