IndexLib 系列文章 Mermaid 图表补充
IndexLib 系列文章 Mermaid 图表补充
本文档记录了已添加到 IndexLib 系列文章中的 Mermaid 图表,以及建议添加的图表。
已添加的 Mermaid 图表
1. 索引构建完整流程(第3篇文章)
位置:_posts/2025-07-03-indexlib-3-build-flow.md
类型:流程图(Flow Chart)
内容:
- 展示从 Build 到 Commit 的完整流程
- 包括决策分支(是否需要 Flush、Seal、Commit)
- 展示循环构建的过程
优势:
- 清晰展示流程步骤
- 易于理解决策逻辑
- 可以交互查看
2. 索引构建流程概览(第3篇文章)
位置:_posts/2025-07-03-indexlib-3-build-flow.md
类型:流程图(Flow Chart)
内容:
- 展示 Build、Flush、Seal、Commit 的关系
- 展示数据流向(MemSegment → DiskSegment → Version)
优势:
- 简洁明了
- 清晰展示阶段关系
3. 查询完整流程(第4篇文章)
位置:_posts/2025-07-04-indexlib-4-query-flow.md
类型:流程图(Flow Chart)
内容:
- 展示从 JSON 查询到结果返回的完整过程
- 包括解析、查询、合并、序列化等步骤
优势:
- 详细展示查询步骤
- 易于理解查询流程
4. 查询流程序列图(第4篇文章)
位置:_posts/2025-07-04-indexlib-4-query-flow.md
类型:序列图(Sequence Diagram)
内容:
- 展示 TabletReader、IndexReader、Segment 之间的交互
- 展示并行查询的过程
优势:
- 清晰展示组件交互
- 易于理解时序关系
- 适合展示异步操作
5. Tablet 生命周期状态图(第1篇文章)
位置:_posts/2025-07-01-indexlib-1-architecture-overview.md
类型:状态图(State Diagram)
内容:
- 展示 Tablet 从 Open 到 Commit 的状态转换
- 包括状态说明(Building、Flushing、Sealing、Committing)
优势:
- 清晰展示状态转换
- 易于理解生命周期
- 适合展示状态机
6. Segment 合并流程(第6篇文章)
位置:_posts/2025-07-06-indexlib-6-segment-merge.md
类型:流程图(Flow Chart)
内容:
- 展示从合并策略选择到合并执行的完整流程
- 包括验证、调整、执行等步骤
优势:
- 详细展示合并流程
- 易于理解合并逻辑
建议添加的 Mermaid 图表
高优先级
- 增量更新流程(第5篇文章)
- 类型:流程图
- 展示增量更新的完整流程
- 版本管理流程(第5篇文章)
- 类型:状态图
- 展示版本的状态转换
- 内存管理流程(第7篇文章)
- 类型:流程图
- 展示内存分配、回收的流程
中优先级
- 文件系统操作流程(第10篇文章)
- 类型:序列图
- 展示文件系统组件的交互
- Locator 比较逻辑(第9篇文章)
- 类型:流程图
- 展示 Locator 比较的决策逻辑
- 索引类型对比(第8篇文章)
- 类型:类图
- 展示不同索引类型的继承关系
Mermaid 图表的使用建议
1. 与 SVG 图表的关系
- SVG 图表:保持作为主要图表,提供详细的视觉展示
- Mermaid 图表:作为补充,提供可交互的文本格式图表
- 两者并存:读者可以选择查看哪种格式
2. 何时使用 Mermaid
- ✅ 流程图:展示步骤流程、决策分支
- ✅ 序列图:展示组件交互、消息传递
- ✅ 状态图:展示状态转换、生命周期
- ✅ 类图:展示类关系、继承结构
- ❌ 复杂架构图:保持 SVG 格式
- ❌ 详细示意图:保持 SVG 格式
3. Jekyll 配置
如果 Jekyll 支持 Mermaid,可以直接在 Markdown 中使用。如果不支持,可以考虑:
- 使用 GitHub Pages 的 Mermaid 支持
- 使用第三方 Mermaid 渲染服务
- 在构建时转换为 SVG
总结
已为以下关键流程添加了 Mermaid 版本:
- ✅ 索引构建完整流程
- ✅ 索引构建流程概览
- ✅ 查询完整流程
- ✅ 查询流程序列图
- ✅ Tablet 生命周期状态图
- ✅ Segment 合并流程
这些 Mermaid 图表作为 SVG 图表的补充,提供了:
- 文本格式,易于版本控制
- 可交互查看
- 易于编辑和维护
- 适合在 Markdown 中直接渲染
建议继续为其他关键流程添加 Mermaid 版本,提高文章的可读性和可维护性。