🚀 Prova Zilliz Cloud, la versione completamente gestita di Milvus, gratuitamente—sperimenta prestazioni 10 volte più veloci! Prova Ora>>

milvus-logo
LFAI
  • Home
  • Blog
  • Quale versione di Milvus per iniziare?

Quale versione di Milvus per iniziare?

  • Engineering
February 19, 2024
Chris Churilo

La scelta della versione Milvus appropriata è fondamentale per il successo di qualsiasi progetto che sfrutti la tecnologia di ricerca vettoriale. Con le diverse versioni di Milvus adattate a vari requisiti, capire l'importanza della scelta della versione corretta è fondamentale per ottenere i risultati desiderati.

La giusta versione di Milvus può aiutare uno sviluppatore ad apprendere e a prototipare rapidamente o a ottimizzare l'utilizzo delle risorse, a snellire gli sforzi di sviluppo e a garantire la compatibilità con l'infrastruttura e gli strumenti esistenti. In definitiva, si tratta di mantenere la produttività degli sviluppatori e di migliorare l'efficienza, l'affidabilità e la soddisfazione degli utenti.

Versioni disponibili di Milvus

Per gli sviluppatori sono disponibili tre versioni di Milvus, tutte open source. Le tre versioni sono Milvus Lite, Milvus Standalone e Milvus Cluster, che si differenziano per le caratteristiche e per il modo in cui gli utenti intendono utilizzare Milvus a breve e lungo termine. Analizziamole singolarmente.

Milvus Lite

Come suggerisce il nome, Milvus Lite è una versione leggera che si integra perfettamente con Google Colab e Jupyter Notebook. È confezionato come un singolo binario senza dipendenze aggiuntive, il che lo rende facile da installare ed eseguire sulla propria macchina o da incorporare in applicazioni Python. Inoltre, Milvus Lite include un server Milvus standalone basato su CLI, che offre la flessibilità di eseguirlo direttamente sul computer. La scelta di incorporarlo nel codice Python o di utilizzarlo come server autonomo dipende esclusivamente dalle vostre preferenze e dai requisiti specifici dell'applicazione.

Caratteristiche e capacità

Milvus Lite include tutte le funzioni principali di ricerca vettoriale di Milvus.

  • Capacità di ricerca: Supporta ricerche top-k, range e ibride, compreso il filtraggio dei metadati, per soddisfare le diverse esigenze di ricerca.

  • Tipi di indice e metriche di somiglianza: Offre il supporto per 11 tipi di indice e cinque metriche di somiglianza, garantendo flessibilità e opzioni di personalizzazione per i vostri casi d'uso specifici.

  • Elaborazione dei dati: Consente l'elaborazione batch (Apache Parquet, Array, JSON) e in streaming, con una perfetta integrazione attraverso i connettori per Airbyte, Apache Kafka e Apache Spark.

  • Operazioni CRUD: Offre un supporto CRUD completo (creazione, lettura, aggiornamento/upert, cancellazione), consentendo agli utenti di disporre di funzionalità complete di gestione dei dati.

Applicazioni e limitazioni

Milvus Lite è ideale per la prototipazione rapida e lo sviluppo locale, in quanto offre un supporto per la configurazione rapida e la sperimentazione di insiemi di dati su piccola scala sulla propria macchina. Tuttavia, i suoi limiti diventano evidenti quando si passa ad ambienti di produzione con set di dati più grandi e requisiti infrastrutturali più impegnativi. Per questo motivo, mentre Milvus Lite è uno strumento eccellente per l'esplorazione e il test iniziali, potrebbe non essere adatto per la distribuzione di applicazioni in ambienti ad alto volume o pronti per la produzione.

Risorse disponibili

Milvus standalone

Milvus offre due modalità operative: Standalone e Cluster. Entrambe le modalità sono identiche per quanto riguarda le funzioni principali del database vettoriale e differiscono per quanto riguarda il supporto delle dimensioni dei dati e i requisiti di scalabilità. Questa distinzione consente di scegliere la modalità che meglio si adatta alle dimensioni del set di dati, al volume di traffico e ad altri requisiti dell'infrastruttura per la produzione.

Milvus Standalone è una modalità di funzionamento del sistema di database vettoriale Milvus che opera in modo indipendente come singola istanza senza alcun clustering o configurazione distribuita. In questa modalità Milvus viene eseguito su un singolo server o macchina, fornendo funzionalità come l'indicizzazione e la ricerca di vettori. È adatto a situazioni in cui la scala dei dati e del volume di traffico è relativamente piccola e non richiede le capacità distribuite fornite da una configurazione in cluster.

Caratteristiche e capacità

  • Prestazioni elevate: Eseguire ricerche vettoriali su enormi insiemi di dati (miliardi o più) con velocità ed efficienza eccezionali.

  • Capacità di ricerca: Supporta ricerche top-k, range e ibride, compreso il filtraggio dei metadati, per soddisfare le diverse esigenze di ricerca.

  • Tipi di indice e metriche di somiglianza: Offre il supporto per 11 tipi di indice e 5 metriche di somiglianza, garantendo flessibilità e opzioni di personalizzazione per i vostri casi d'uso specifici.

  • Elaborazione dei dati: Consente l'elaborazione sia in batch (Apache Parquet, Array, Json) che in streaming, con una perfetta integrazione attraverso i connettori per Airbyte, Apache Kafka e Apache Spark.

  • Replica e failover dei dati: Le funzioni di replica e failover/failback integrate garantiscono l'integrità dei dati e la disponibilità dell'applicazione, anche in caso di interruzioni o guasti.

  • Scalabilità: Scalabilità dinamica grazie alla scalabilità a livello di componente, che consente di aumentare o diminuire la scala in base alla domanda. Milvus può autoscalare a livello di componenti, ottimizzando l'allocazione delle risorse per una maggiore efficienza.

  • Multi-tenancy: Supporta la multi-tenancy con la capacità di gestire fino a 10.000 collezioni/partizioni in un cluster, fornendo un utilizzo efficiente delle risorse e l'isolamento per diversi utenti o applicazioni.

  • Operazioni CRUD: Offre un supporto CRUD completo (creazione, lettura, aggiornamento/upert, cancellazione), consentendo agli utenti di disporre di funzionalità complete di gestione dei dati.

Componenti essenziali:

  • Milvus: il componente funzionale principale.

  • etcd: Il motore di metadati responsabile dell'accesso e dell'archiviazione dei metadati dai componenti interni di Milvus, compresi i proxy, i nodi indice e altro.

  • MinIO: il motore di archiviazione responsabile della persistenza dei dati all'interno di Milvus.

Figura 1: Architettura autonoma di Milvus

Risorse disponibili

Cluster Milvus

Milvus Cluster è una modalità di funzionamento del sistema di database vettoriale Milvus che opera ed è distribuito su più nodi o server. In questa modalità, le istanze di Milvus sono raggruppate insieme per formare un sistema unificato in grado di gestire volumi di dati maggiori e carichi di traffico più elevati rispetto a una configurazione standalone. Milvus Cluster offre caratteristiche di scalabilità, tolleranza ai guasti e bilanciamento del carico, che lo rendono adatto a scenari in cui è necessario gestire grandi dati e servire in modo efficiente molte query simultanee.

Caratteristiche e capacità

  • Eredita tutte le funzionalità disponibili in Milvus Standalone, tra cui la ricerca vettoriale ad alte prestazioni, il supporto di più tipi di indici e metriche di similarità e la perfetta integrazione con framework di elaborazione batch e stream.

  • Offre disponibilità, prestazioni e ottimizzazione dei costi senza precedenti, sfruttando l'elaborazione distribuita e il bilanciamento del carico su più nodi.

  • Consente di distribuire e scalare carichi di lavoro sicuri e di livello aziendale con costi totali inferiori, utilizzando in modo efficiente le risorse del cluster e ottimizzando l'allocazione delle risorse in base alle richieste del carico di lavoro.

Componenti essenziali:

Milvus Cluster comprende otto componenti di microservizi e tre dipendenze di terze parti. Tutti i microservizi possono essere distribuiti su Kubernetes indipendentemente l'uno dall'altro.

Componenti del microservizio

  • Coordinamento radice

  • Proxy

  • Nodo di interrogazione

  • Nodo di interrogazione

  • Coordinamenti dell'indice

  • Nodo indice

  • Coordinamento dati

  • Nodo dati

Dipendenze di terze parti

  • etcd: Memorizza i metadati per i vari componenti del cluster.

  • MinIO: Responsabile della persistenza dei dati dei file di grandi dimensioni nel cluster, come i file di indice e di log binari.

  • Pulsar: Gestisce i log delle operazioni di mutazione recenti, produce log in streaming e fornisce servizi di publish-subscribe dei log.

Figura 2: Architettura del cluster Milvus

Risorse disponibili

Decidere la versione di Milvus da utilizzare

Per decidere quale versione di Milvus utilizzare per il vostro progetto, dovete considerare fattori quali le dimensioni del vostro set di dati, il volume di traffico, i requisiti di scalabilità e i vincoli dell'ambiente di produzione. Milvus Lite è perfetto per la prototipazione sul vostro portatile. Milvus Standalone offre prestazioni elevate e flessibilità per condurre ricerche vettoriali sui vostri set di dati, rendendolo adatto a implementazioni su scala ridotta, CI/CD e implementazioni offline quando non avete il supporto di Kubernetes... Infine, Milvus Cluster offre disponibilità, scalabilità e ottimizzazione dei costi senza precedenti per carichi di lavoro di livello aziendale, rendendolo la scelta preferita per ambienti di produzione su larga scala e ad alta disponibilità.

Esiste anche un'altra versione che non crea problemi, una versione gestita di Milvus chiamata Zilliz Cloud.

In definitiva, la scelta della versione di Milvus dipende dal vostro caso d'uso specifico, dai requisiti dell'infrastruttura e dagli obiettivi a lungo termine. Valutando attentamente questi fattori e comprendendo le caratteristiche e le capacità di ciascuna versione, potrete prendere una decisione informata e in linea con le esigenze e gli obiettivi del vostro progetto. Sia che scegliate Milvus Standalone o Milvus Cluster, potete sfruttare la potenza dei database vettoriali per migliorare le prestazioni e l'efficienza delle vostre applicazioni AI.

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started

Like the article? Spread the word

Continua a Leggere