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 图表

高优先级

  1. 增量更新流程(第5篇文章)
    • 类型:流程图
    • 展示增量更新的完整流程
  2. 版本管理流程(第5篇文章)
    • 类型:状态图
    • 展示版本的状态转换
  3. 内存管理流程(第7篇文章)
    • 类型:流程图
    • 展示内存分配、回收的流程

中优先级

  1. 文件系统操作流程(第10篇文章)
    • 类型:序列图
    • 展示文件系统组件的交互
  2. Locator 比较逻辑(第9篇文章)
    • 类型:流程图
    • 展示 Locator 比较的决策逻辑
  3. 索引类型对比(第8篇文章)
    • 类型:类图
    • 展示不同索引类型的继承关系

Mermaid 图表的使用建议

1. 与 SVG 图表的关系

  • SVG 图表:保持作为主要图表,提供详细的视觉展示
  • Mermaid 图表:作为补充,提供可交互的文本格式图表
  • 两者并存:读者可以选择查看哪种格式

2. 何时使用 Mermaid

  • 流程图:展示步骤流程、决策分支
  • 序列图:展示组件交互、消息传递
  • 状态图:展示状态转换、生命周期
  • 类图:展示类关系、继承结构
  • 复杂架构图:保持 SVG 格式
  • 详细示意图:保持 SVG 格式

3. Jekyll 配置

如果 Jekyll 支持 Mermaid,可以直接在 Markdown 中使用。如果不支持,可以考虑:

  1. 使用 GitHub Pages 的 Mermaid 支持
  2. 使用第三方 Mermaid 渲染服务
  3. 在构建时转换为 SVG

总结

已为以下关键流程添加了 Mermaid 版本:

  • ✅ 索引构建完整流程
  • ✅ 索引构建流程概览
  • ✅ 查询完整流程
  • ✅ 查询流程序列图
  • ✅ Tablet 生命周期状态图
  • ✅ Segment 合并流程

这些 Mermaid 图表作为 SVG 图表的补充,提供了:

  • 文本格式,易于版本控制
  • 可交互查看
  • 易于编辑和维护
  • 适合在 Markdown 中直接渲染

建议继续为其他关键流程添加 Mermaid 版本,提高文章的可读性和可维护性。