概要
Milvus-CDCは、Milvusインスタンスの増分データを取り込み、同期することができるユーザフレンドリーなツールです。ソースインスタンスとターゲットインスタンス間でシームレスにデータを転送することで、ビジネスデータの信頼性を確保し、増分バックアップやディザスタリカバリを容易に行うことができます。
主な機能
逐次データ同期:Milvusインスタンス間でデータの変更を逐次同期することにより、データの整合性と一貫性を確保します。
増分データのレプリケーション挿入や削除を含む増分データをソースMilvusからターゲットMilvusにレプリケートし、永続的なストレージを提供します。
CDCタスク管理:OpenAPIリクエストによるCDCタスクの管理(CDCタスクの作成、ステータスの照会、削除を含む)を可能にします。
さらに、将来的にはストリーム処理システムとの統合をサポートするように機能を拡張する予定です。
アーキテクチャ
Milvus-CDCは、タスクとメタデータを管理するHTTPサーバと、ソースMilvusインスタンスからデータを取得するリーダと処理したデータをターゲットMilvusインスタンスに送信するライタとタスク実行を同期するcorelibの2つの主要コンポーネントからなるアーキテクチャを採用しています。
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-ワークフロー
リミット
インクリメンタルデータ同期:現在のところ、Milvus-CDCは増分データのみを同期するように設計されています。完全なデータバックアップが必要な場合は、弊社までお問い合わせください。
同期範囲現在、Milvus-CDCはクラスタレベルでの同期が可能です。今後のリリースでは、コレクションレベルでのデータ同期のサポートを追加する予定です。
サポートされるAPIリクエストMilvus-CDCは現在以下のAPIリクエストに対応しています。今後のリリースでは、より多くのリクエストに対応する予定です:
コレクションの作成/削除
挿入/削除/アップサート
パーティションの作成/削除
インデックスの作成/削除
ロード/リリース/フラッシュ
パーティションのロード/リリース
データベースの作成/削除