Visão geral
Milvus-CDC é uma ferramenta de fácil utilização que pode capturar e sincronizar dados incrementais em instâncias Milvus. Garante a fiabilidade dos dados empresariais ao transferi-los sem problemas entre as instâncias de origem e de destino, permitindo uma cópia de segurança incremental fácil e a recuperação de desastres.
Principais recursos
Sincronização de dados seqüenciais: Garante a integridade e a consistência dos dados, sincronizando as alterações de dados sequencialmente entre as instâncias do Milvus.
Replicação de dados incrementais: Replica dados incrementais, incluindo inserções e exclusões, do Milvus de origem para o Milvus de destino, oferecendo armazenamento persistente.
Gerenciamento de Tarefas CDC: Permite a gestão de tarefas CDC através de pedidos OpenAPI, incluindo a criação, consulta de estado e eliminação de tarefas CDC.
Além disso, estamos a planear expandir as nossas capacidades para incluir suporte para integração com sistemas de processamento de fluxo no futuro.
Arquitetura
O Milvus-CDC adopta uma arquitetura com dois componentes principais - um servidor HTTP que gere as tarefas e os metadados, e o corelib que sincroniza a execução das tarefas com um leitor que obtém os dados da instância Milvus de origem e um escritor que envia os dados processados para a instância Milvus de destino.
milvus-cdc-arquitetura
No diagrama anterior,
Servidor HTTP: Trata os pedidos dos utilizadores, executa as tarefas e mantém os metadados. Serve de plano de controlo para a orquestração de tarefas no sistema Milvus-CDC.
Corelib: Responsável pela sincronização efectiva das tarefas. Inclui um componente de leitura que recupera informações do etcd e da fila de mensagens (MQ) do Milvus de origem, e um componente de escrita que traduz as mensagens do MQ em parâmetros API para o sistema Milvus e envia esses pedidos para o Milvus de destino para completar o processo de sincronização.
Fluxo de trabalho
O fluxo de processamento de dados do Milvus-CDC envolve as seguintes etapas:
Criação de tarefas: Os utilizadores iniciam uma tarefa CDC através de pedidos HTTP.
Recuperação de metadados: O sistema vai buscar metadados específicos da coleção ao etcd do Milvus de origem, incluindo informações sobre o canal e o ponto de controlo da coleção.
Ligação MQ: Com os metadados à mão, o sistema liga-se ao MQ para começar a subscrever o fluxo de dados.
Processamento de dados: Os dados do MQ são lidos, analisados e passados adiante usando o Go SDK ou processados para replicar as operações realizadas no Milvus de origem.
Milvus-cdc-workflow
Limites
Sincronização de dados incremental: Atualmente, o Milvus-CDC foi concebido para sincronizar apenas dados incrementais. Se a sua empresa necessitar de uma cópia de segurança completa dos dados, contacte-nos para obter assistência.
Âmbito da sincronização: Atualmente, o Milvus-CDC pode sincronizar dados ao nível do cluster. Estamos a trabalhar para adicionar suporte à sincronização de dados ao nível da coleção nas próximas versões.
Pedidos de API suportados: O Milvus-CDC atualmente suporta as seguintes solicitações de API. Planejamos estender o suporte a solicitações adicionais em versões futuras:
Criar/soltar coleção
Inserir/Excluir/Usertar
Criar/soltar partição
Criar/soltar índice
Carregar/Liberar/Lavar
Carregar/liberar partição
Criar/soltar base de dados