Visión general
Milvus-CDC es una herramienta fácil de usar que puede capturar y sincronizar datos incrementales en instancias Milvus. Garantiza la fiabilidad de los datos empresariales transfiriéndolos sin problemas entre las instancias de origen y de destino, lo que permite realizar fácilmente copias de seguridad incrementales y la recuperación ante desastres.
Principales funciones
Sincronización secuencial de datos: Garantiza la integridad y coherencia de los datos sincronizando los cambios de datos secuencialmente entre las instancias de Milvus.
Replicación incremental de datos: Replica datos incrementales, incluidas inserciones y eliminaciones, de Milvus de origen a Milvus de destino, ofreciendo almacenamiento persistente.
Gestión de tareas CDC: Permite la gestión de tareas CDC a través de peticiones OpenAPI, incluyendo la creación, consulta de estado y eliminación de tareas CDC.
Además, estamos planeando ampliar nuestras capacidades para incluir soporte para la integración con sistemas de procesamiento de flujos en el futuro.
Arquitectura
Milvus-CDC adopta una arquitectura con dos componentes principales - un servidor HTTP que gestiona tareas y metadatos, y corelib que sincroniza la ejecución de tareas con un lector que obtiene datos de la instancia Milvus de origen y un escritor que envía datos procesados a la instancia Milvus de destino.
arquitectura milvus-cdc
En el diagrama anterior,
Servidor HTTP: Gestiona las peticiones de los usuarios, ejecuta las tareas y mantiene los metadatos. Sirve como plano de control para la orquestación de tareas dentro del sistema Milvus-CDC.
Corelib: Responsable de la sincronización real de las tareas. Incluye un componente lector que recupera información del etcd y de la cola de mensajes (MQ) del Milvus de origen, y un componente escritor que traduce los mensajes de la MQ en parámetros API para el sistema Milvus y envía estas solicitudes al Milvus de destino para completar el proceso de sincronización.
Flujo de trabajo
El flujo de procesamiento de datos Milvus-CDC implica los siguientes pasos:
Creación de tareas: Los usuarios inician una tarea CDC mediante peticiones HTTP.
Recuperación de metadatos: El sistema recupera metadatos específicos de la colección del etcd de Milvus de origen, incluida la información del canal y del punto de control de la colección.
Conexión MQ: Con los metadatos a mano, el sistema se conecta al MQ para comenzar a suscribirse al flujo de datos.
Procesamiento de datos: Los datos de MQ se leen, se analizan y se transmiten utilizando el SDK Go o se procesan para replicar las operaciones realizadas en el Milvus de origen.
milvus-cdc-workflow
Límites
Sincronización incremental de datos: A partir de ahora, Milvus-CDC está diseñado para sincronizar sólo datos incrementales. Si su empresa necesita una copia de seguridad completa de los datos, póngase en contacto con nosotros para obtener ayuda.
Alcance de la sincronización: Actualmente, Milvus-CDC puede sincronizar datos a nivel de clúster. Estamos trabajando para añadir soporte para la sincronización de datos a nivel de colección en próximas versiones.
Solicitudes de API compatibles: Milvus-CDC admite actualmente las siguientes solicitudes de API. Planeamos extender el soporte a solicitudes adicionales en futuras versiones:
Crear/soltar colección
Insertar/Borrar/Upsertar
Crear/soltar partición
Crear/soltar índice
Cargar/Liberar/Vaciar
Cargar/liberar partición
Crear/soltar base de datos