Vue d'ensemble
Milvus-CDC est un outil convivial qui permet de capturer et de synchroniser des données incrémentielles dans les instances Milvus. Il garantit la fiabilité des données d'entreprise en les transférant de manière transparente entre les instances source et cible, ce qui facilite la sauvegarde incrémentielle et la reprise après sinistre.
Principales fonctionnalités
Synchronisation séquentielle des données: Assure l'intégrité et la cohérence des données en synchronisant les modifications de données de manière séquentielle entre les instances Milvus.
Réplication incrémentielle des données: Réplique les données incrémentielles, y compris les insertions et les suppressions, du Milvus source au Milvus cible, offrant ainsi un stockage persistant.
Gestion des tâches CDC: Permet la gestion des tâches CDC par le biais de requêtes OpenAPI, y compris la création, l'interrogation de l'état et la suppression des tâches CDC.
En outre, nous prévoyons d'étendre nos capacités pour inclure la prise en charge de l'intégration avec les systèmes de traitement des flux à l'avenir.
L'architecture
Milvus-CDC adopte une architecture composée de deux éléments principaux : un serveur HTTP qui gère les tâches et les métadonnées, et la corelib qui synchronise l'exécution des tâches avec un lecteur qui obtient les données de l'instance Milvus source et un rédacteur qui envoie les données traitées à l'instance Milvus cible.
milvus-cdc-architecture
Dans le diagramme précédent,
Serveur HTTP: Traite les demandes des utilisateurs, exécute les tâches et maintient les métadonnées. Il sert de plan de contrôle pour l'orchestration des tâches au sein du système Milvus-CDC.
Corelib: Responsable de la synchronisation effective des tâches. Elle comprend un composant lecteur qui récupère les informations de la file d'attente de messages (MQ) et de etcd du Milvus source, ainsi qu'un composant rédacteur qui traduit les messages du MQ en paramètres API pour le système Milvus et envoie ces demandes au Milvus cible pour achever le processus de synchronisation.
Flux de travail
Le flux de traitement des données Milvus-CDC comprend les étapes suivantes :
Création d'une tâche: Les utilisateurs lancent une tâche CDC via des requêtes HTTP.
Récupération des métadonnées: Le système récupère les métadonnées spécifiques à la collection à partir de la source etcd de Milvus, y compris les informations relatives au canal et au point de contrôle de la collection.
Connexion MQ: Avec les métadonnées en main, le système se connecte au MQ pour commencer à s'abonner au flux de données.
Traitement des données: Les données du MQ sont lues, analysées et transmises à l'aide du SDK Go ou traitées pour reproduire les opérations effectuées dans la source Milvus.
milvus-cdc-workflow
Limites
Synchronisation incrémentielle des données: Pour l'instant, Milvus-CDC est conçu pour synchroniser uniquement les données incrémentielles. Si votre entreprise a besoin d'une sauvegarde complète des données, veuillez nous contacter pour obtenir de l'aide.
Portée de la synchronisation: Actuellement, Milvus-CDC peut synchroniser les données au niveau du cluster. Nous travaillons à l'ajout de la prise en charge de la synchronisation des données au niveau de la collection dans les prochaines versions.
Requêtes API prises en charge: Milvus-CDC prend actuellement en charge les demandes d'API suivantes. Nous prévoyons d'étendre la prise en charge à d'autres demandes dans les prochaines versions :
Créer/Déposer une collection
Insérer/supprimer/supprimer
Créer/Déposer une partition
Créer/Déposer un index
Charger/libérer/effacer
Charger/libérer une partition
Créer/supprimer une base de données