概述
Milvus-CDC 是一款用戶友好的工具,可捕捉和同步 Milvus 實例中的增量資料。它透過在來源與目標實體之間的無縫傳輸,確保業務資料的可靠性,讓增量備份和災難復原變得簡單。
主要功能
順序資料同步:透過在 Milvus 實體間依序同步資料變更,確保資料完整性與一致性。
增量資料複製:從源 Milvus 複製增量資料(包括插入和刪除)到目標 Milvus,提供持久性儲存。
CDC 任務管理:允許透過 OpenAPI 請求管理 CDC 任務,包括建立、查詢狀態及刪除 CDC 任務。
此外,我們正計劃擴充我們的功能,以在未來支援與串流處理系統的整合。
架構
Milvus-CDC 採用的架構包含兩個主要元件 - 管理任務與元資料的 HTTP 伺服器,以及同步任務執行的corelib,後者是從來源 Milvus 實體取得資料的閱讀器,而寫入器則是將處理後的資料傳送至目標 Milvus 實體。
milvus-cdc 架構
在上圖中
HTTP 伺服器:處理使用者請求、執行任務並維護元資料。它是 Milvus-CDC 系統內任務協調的控制平面。
Corelib:負責任務的實際同步。它包括一個從來源 Milvus 的 etcd 和訊息佇列 (MQ) 擷取資訊的讀取元件,以及一個將訊息從 MQ 轉換成 Milvus 系統 API 參數的寫入元件,並將這些要求傳送至目標 Milvus 以完成同步處理。
工作流程
Milvus-CDC 資料處理流程包含下列步驟:
任務建立:使用者透過 HTTP 請求啟動 CDC 任務。
元資料擷取:系統從源 Milvus 的 etcd 抓取特定於集合的元資料,包括集合的通道和檢查點資訊。
MQ 連線:有了元資料後,系統會連線至 MQ,開始訂閱資料串流。
資料處理:從 MQ 讀取、解析資料,並使用 Go SDK 傳送資料或處理資料,以複製在源 Milvus 執行的作業。
Milvus-cdc-workflow
限制
增量資料同步:到目前為止,Milvus-CDC 僅能同步增量資料。如果您的業務需要完整的資料備份,請聯絡我們尋求協助。
同步範圍:目前,Milvus-CDC 可同步群集層級的資料。我們正努力在即將發佈的版本中增加對集合層級資料同步的支援。
支援的 API 請求:Milvus-CDC 目前支援下列 API 請求。我們計劃在未來的版本中擴展對其他請求的支援:
建立/刪除資料集
插入/刪除/增加
建立/刪除分割區
建立/刪除索引
載入/釋放/沖洗
載入/釋放磁碟分割
建立/刪除資料庫