小红花·文摘
  • 首页
  • AI Tokens🪙
  • 排行榜🏆
  • 直播
  • FAQ
Dify.AI

本文介绍WiredTiger作为MongoDB默认存储引擎的内核机制,定位为文档库页式B-Tree加旁路History Store,与PG/InnoDB、SQLite、RocksDB等分工明确。文章规划17篇系列,涵盖Session、Cache、Eviction、Reconciliation、Timestamps、Checkpoint等核心流程,并指出脏页须先reconcile才能驱逐,HS体积受更新率与窗口影响,为后续深入解析奠定框架。

【WiredTiger 内核】文档库存储引擎全景:MongoDB 默认引擎的生态位

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-07-22T00:00:00Z

WiredTiger的Eviction机制通过server线程近似LRU选页,worker线程执行驱逐,区分clean(直接释放)和dirty(需reconcile,最新值进用户表,旧版进History Store)。配置target/trigger控制后台或应用线程参与驱逐,dirty超限时应用线程被迫协助。Eviction也是checkpoint前置减压阀,HS页同样参与驱逐。

【WiredTiger 内核】Eviction:脏页必须先 reconcile

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-07-22T00:00:00Z

WiredTiger的reconciliation将内存页转为磁盘格式,触发于脏页驱逐和检查点。用户表保留最新已提交更新,旧版本写入History Store。行存储叶页按序遍历,依leaf_page_max和split_pct分裂为多页镜像。History Store页reconcile时移除全局可见墓碑。Eviction为腾缓存,Checkpoint为一致快照,两者分工明确。

【WiredTiger 内核】Reconciliation:内存页到 on-disk image

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-07-22T00:00:00Z

WiredTiger通过History Store实现MVCC:用户表仅存最新已提交版本,旧版本存入独立的WiredTigerHS.wt文件。读路径按update chain→磁盘页→History Store顺序查找。相比Lookaside,Durable History提供跨eviction/checkpoint的可查询历史契约,由minSnapshotHistoryWindowInSeconds控制保留窗口。与PG堆版本、InnoDB undo相比,WT将当前与历史分离,利于用户页驱逐,但增加历史I/O与磁盘开销。

【WiredTiger 内核】History Store 与 Durable History:文档库里的第三种 MVCC

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-07-19T00:00:00Z
  • <<
  • <
  • 1 (current)
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码