Panoramica
Milvus-CDC è uno strumento di facile utilizzo in grado di acquisire e sincronizzare i dati incrementali nelle istanze Milvus. Garantisce l'affidabilità dei dati aziendali trasferendoli senza soluzione di continuità tra le istanze di origine e di destinazione, consentendo di semplificare il backup incrementale e il disaster recovery.
Funzionalità principali
Sincronizzazione sequenziale dei dati: Assicura l'integrità e la coerenza dei dati sincronizzando le modifiche dei dati in modo sequenziale tra le istanze Milvus.
Replica incrementale dei dati: Replica i dati incrementali, compresi gli inserimenti e le eliminazioni, da Milvus di origine a Milvus di destinazione, offrendo un'archiviazione persistente.
Gestione delle attività CDC: Consente la gestione delle attività CDC tramite richieste OpenAPI, tra cui la creazione, l'interrogazione dello stato e l'eliminazione delle attività CDC.
Inoltre, stiamo pianificando di espandere le nostre capacità per includere il supporto per l'integrazione con i sistemi di elaborazione dei flussi in futuro.
Architettura
Milvus-CDC adotta un'architettura con due componenti principali: un server HTTP che gestisce i task e i metadati e corelib che sincronizza l'esecuzione dei task con un lettore che ottiene i dati dall'istanza Milvus di origine e uno scrittore che invia i dati elaborati all'istanza Milvus di destinazione.
architettura milvus-cdc
Nel diagramma precedente,
Server HTTP: Gestisce le richieste degli utenti, esegue le attività e mantiene i metadati. Serve come piano di controllo per l'orchestrazione dei task all'interno del sistema Milvus-CDC.
Corelib: Responsabile dell'effettiva sincronizzazione dei task. Comprende un componente di lettura che recupera le informazioni dall'etcd e dalla coda di messaggi (MQ) del Milvus di origine e un componente di scrittura che traduce i messaggi dall'MQ in parametri API per il sistema Milvus e invia queste richieste al Milvus di destinazione per completare il processo di sincronizzazione.
Flusso di lavoro
Il flusso di elaborazione dei dati Milvus-CDC prevede le seguenti fasi:
Creazione di un'attività: Gli utenti avviano un'attività CDC tramite richieste HTTP.
Recupero dei metadati: Il sistema recupera i metadati specifici della raccolta dall'etcd di Milvus, comprese le informazioni sul canale e sul checkpoint della raccolta.
Connessione MQ: Con i metadati a disposizione, il sistema si connette all'MQ per iniziare a sottoscrivere il flusso di dati.
Elaborazione dei dati: I dati provenienti da MQ vengono letti, analizzati e trasmessi utilizzando l'SDK Go o elaborati per replicare le operazioni eseguite nel Milvus di origine.
milvus-cdc-flusso di lavoro
Limiti
Sincronizzazione incrementale dei dati: Attualmente Milvus-CDC è progettato per sincronizzare solo dati incrementali. Se la vostra azienda necessita di un backup completo dei dati, contattateci per assistenza.
Ambito di sincronizzazione: Attualmente, Milvus-CDC può sincronizzare i dati a livello di cluster. Stiamo lavorando per aggiungere il supporto per la sincronizzazione dei dati a livello di collezione nelle prossime versioni.
Richieste API supportate: Milvus-CDC supporta attualmente le seguenti richieste API. Nelle prossime versioni si prevede di estendere il supporto ad altre richieste:
Creare/Abbandonare una raccolta
Inserimento/Cancellazione/Upsert
Creare/togliere partizione
Creare/togliere indice
Carica/Rilascia/Flush
Carica/Rilascia partizione
Creare/togliere database