Übersicht
Milvus-CDC ist ein benutzerfreundliches Tool, das inkrementelle Daten in Milvus-Instanzen erfassen und synchronisieren kann. Es stellt die Zuverlässigkeit von Geschäftsdaten sicher, indem es sie nahtlos zwischen Quell- und Zielinstanzen überträgt und so eine einfache inkrementelle Sicherung und Notfallwiederherstellung ermöglicht.
Wichtigste Funktionen
Sequentielle Datensynchronisierung: Sorgt für Datenintegrität und -konsistenz, indem Datenänderungen sequentiell zwischen Milvus-Instanzen synchronisiert werden.
Inkrementelle Datenreplikation: Repliziert inkrementelle Daten, einschließlich Einfügungen und Löschungen, von der Milvus-Quelle zur Milvus-Zielinstanz und bietet so eine dauerhafte Speicherung.
CDC-Aufgabenverwaltung: Ermöglicht die Verwaltung von CDC-Aufgaben über OpenAPI-Anfragen, einschließlich der Erstellung, Statusabfrage und Löschung von CDC-Aufgaben.
Darüber hinaus planen wir, unsere Fähigkeiten zu erweitern, um in Zukunft auch die Integration mit Stream-Processing-Systemen zu unterstützen.
Architektur
Milvus-CDC verwendet eine Architektur mit zwei Hauptkomponenten - einem HTTP-Server, der Aufgaben und Metadaten verwaltet, und einer Corelib, die die Aufgabenausführung mit einem Reader, der Daten von der Milvus-Quellinstanz erhält, und einem Writer, der verarbeitete Daten an die Milvus-Zielinstanz sendet, synchronisiert.
milvus-cdc-architektur
Im vorstehenden Diagramm,
HTTP-Server: Bearbeitet Benutzeranfragen, führt Aufgaben aus und verwaltet Metadaten. Er dient als Steuerungsebene für die Aufgabenorchestrierung innerhalb des Milvus-CDC-Systems.
Corelib: Verantwortlich für die eigentliche Synchronisation von Aufgaben. Sie umfasst eine Lesekomponente, die Informationen aus dem etcd und der Message Queue (MQ) des Quell-Milvus abruft, sowie eine Schreibkomponente, die Nachrichten aus der MQ in API-Parameter für das Milvus-System übersetzt und diese Anfragen an das Ziel-Milvus sendet, um den Synchronisierungsprozess abzuschließen.
Arbeitsablauf
Der Milvus-CDC-Datenverarbeitungsfluss umfasst die folgenden Schritte:
Aufgabenerstellung: Benutzer initiieren eine CDC-Aufgabe über HTTP-Anfragen.
Abruf von Metadaten: Das System holt sammlungsspezifische Metadaten aus dem etcd der Milvus-Quelle, einschließlich Kanal- und Checkpoint-Informationen für die Sammlung.
MQ-Verbindung: Mit den vorliegenden Metadaten stellt das System eine Verbindung zum MQ her, um mit dem Abonnieren des Datenstroms zu beginnen.
Verarbeitung der Daten: Die Daten aus dem MQ werden gelesen, geparst und entweder mit dem Go SDK weitergegeben oder verarbeitet, um die in der Milvus-Quelle durchgeführten Operationen zu replizieren.
milvus-cdc-workflow
Begrenzungen
Inkrementelle Datensynchronisation: Derzeit ist Milvus-CDC so konzipiert, dass nur inkrementelle Daten synchronisiert werden können. Wenn Ihr Unternehmen eine vollständige Datensicherung benötigt, wenden Sie sich bitte an uns, um Unterstützung zu erhalten.
Umfang der Synchronisierung: Derzeit kann Milvus-CDC Daten auf Clusterebene synchronisieren. Wir arbeiten daran, in kommenden Versionen Unterstützung für die Synchronisierung von Daten auf Sammlungsebene hinzuzufügen.
Unterstützte API-Anfragen: Milvus-CDC unterstützt derzeit die folgenden API-Anfragen. Wir planen, die Unterstützung für weitere Anfragen in zukünftigen Versionen zu erweitern:
Sammlung erstellen/verwerfen
Einfügen/Löschen/Upload
Partition erstellen/löschen
Index erstellen/löschen
Laden/Freigeben/Flush
Partition laden/freigeben
Datenbank erstellen/verwerfen