Milvus 数据刷新管道文档索引

📚 文档列表

本文档系列详细介绍了 Milvus DataNode 中数据刷新(Flush)管道的核心组件和机制。

主文档

  1. 总览文档
    • 系统架构总览
    • 组件关系图
    • 数据流程图
    • 关键概念介绍

组件文档

  1. FlowGraph 管理器

    • fgManagerImpl 的设计与职责
    • FlowGraph 生命周期管理
    • 多通道并发管理
  2. DataSyncService

    • DataSyncService 架构
    • FlowGraph 组装流程
    • 节点初始化与启动
  3. DD Node(数据分发节点)

    • ddNode 的消息过滤机制
    • DDL 消息处理
    • 消息类型(MsgType)赋值流程
  4. WriteBuffer 管理器

    • bufferManager 的设计与实现
    • 内存管理与驱逐策略
    • 通道注册与生命周期
  5. WriteBuffer 实现

    • WriteBuffer 接口与基础实现
    • l0WriteBuffer 特殊设计
    • 段缓冲(segmentBuffer)管理
  6. SyncManager 与 SyncTask

    • SyncManager 异步同步机制
    • SyncTask 执行流程
    • 数据持久化与元数据更新
  7. TT Node(时间戳节点)

    • ttNode 的检查点更新机制
    • ChannelCheckpointUpdater 异步更新
    • 检查点失败处理
  8. Flush 与 Checkpoint 机制

    • Flush 操作的全链路影响
    • Checkpoint 更新流程
    • flushTs 的作用与重置条件
    • 数据一致性保障

🔗 文档关系图

1
2
3
4
5
6
7
8
9
10
11
12
flush_pipeline_overview.md (总览)

├── flush_pipeline_flowgraph_manager.md
│ └── flush_pipeline_data_sync_service.md
│ ├── flush_pipeline_dd_node.md
│ ├── flush_pipeline_write_buffer_manager.md
│ │ ├── flush_pipeline_write_buffer.md
│ │ └── flush_pipeline_sync_manager.md
│ └── flush_pipeline_tt_node.md
│ └── flush_pipeline_flush_checkpoint.md

└── (所有文档都链接回总览文档)

📖 阅读建议

新手入门路径

  1. 总览文档 → 了解整体架构
  2. FlowGraph 管理器 → 理解多通道管理
  3. DataSyncService → 理解单通道服务
  4. DD Node → 理解消息过滤
  5. WriteBuffer 管理器 → 理解数据缓冲
  6. WriteBuffer 实现 → 理解缓冲细节
  7. SyncManager → 理解数据同步
  8. TT Node → 理解检查点更新
  9. Flush 与 Checkpoint → 理解完整流程

专题深入路径

消息处理流程

  • DD Node → WriteBuffer → SyncManager

数据刷新流程

  • WriteBuffer 管理器 → WriteBuffer 实现 → SyncManager → Flush 与 Checkpoint

检查点机制

  • TT Node → Flush 与 Checkpoint

🎯 关键概念速查

核心组件

  • fgManagerImpl: 管理多个 DataSyncService
  • DataSyncService: 控制单个通道的 FlowGraph
  • ddNode: 消息过滤和 DDL 处理
  • WriteBufferManager: 管理多个 WriteBuffer
  • WriteBuffer: 管理单个通道的数据缓冲
  • SyncManager: 异步数据同步管理器
  • SyncTask: 数据同步任务单元
  • ttNode: 检查点更新节点
  • ChannelCheckpointUpdater: 异步检查点更新器

关键机制

  • Flush: 数据刷新操作,将内存数据持久化
  • Checkpoint: 数据消费位置,用于故障恢复
  • flushTs: 刷新目标时间戳
  • SyncPolicy: 同步策略,决定何时同步数据
  • MetaCache: 本地段元数据缓存

📝 相关代码路径

  • FlowGraph 管理: internal/flushcommon/pipeline/flow_graph_manager.go
  • DataSyncService: internal/flushcommon/pipeline/data_sync_service.go
  • DD Node: internal/flushcommon/pipeline/flow_graph_dd_node.go
  • WriteBuffer 管理器: internal/flushcommon/writebuffer/manager.go
  • WriteBuffer 实现: internal/flushcommon/writebuffer/write_buffer.go
  • L0 WriteBuffer: internal/flushcommon/writebuffer/l0_write_buffer.go
  • SyncManager: internal/flushcommon/syncmgr/sync_manager.go
  • SyncTask: internal/flushcommon/syncmgr/task.go
  • TT Node: internal/flushcommon/pipeline/flow_graph_time_tick_node.go
  • CheckpointUpdater: internal/flushcommon/util/checkpoint_updater.go

🔍 快速查找

按功能查找

按组件查找


开始阅读: 从 总览文档 开始您的学习之旅!