milvus-logo
LFAI
Casa
  • Iniziare
    • Installare Milvus

Panoramica delle opzioni di distribuzione di Milvus

Milvus è un database vettoriale scalabile e altamente performante. Supporta casi d'uso di dimensioni molto diverse, dalle demo eseguite localmente in Jupyter Notebook ai cluster Kubernetes su larga scala che gestiscono decine di miliardi di vettori. Attualmente esistono tre opzioni di distribuzione di Milvus: Milvus Lite, Milvus Standalone e Milvus Distributed.

Milvus Lite

Milvus Lite è una libreria Python che può essere importata nelle applicazioni. Essendo una versione leggera di Milvus, è ideale per la prototipazione rapida in Jupyter Notebook o per l'esecuzione su dispositivi intelligenti con risorse limitate. Milvus Lite supporta le stesse API delle altre distribuzioni di Milvus. Il codice lato client che interagisce con Milvus Lite può funzionare anche con le istanze Milvus in altre modalità di distribuzione.

Per integrare Milvus Lite nelle vostre applicazioni, eseguite pip install pymilvus per installarlo e usate l'istruzione MilvusClient("./demo.db") per istanziare un database vettoriale con un file locale che conserva tutti i dati. Per maggiori dettagli, fate riferimento a Eseguire Milvus Lite.

Milvus Standalone

Milvus Standalone è un'installazione su server a macchina singola. Tutti i componenti di Milvus Standalone sono racchiusi in un'unica immagine Docker, il che rende comoda la distribuzione. Se avete un carico di lavoro di produzione ma preferite non usare Kubernetes, l'esecuzione di Milvus Standalone su una singola macchina con memoria sufficiente è una buona opzione. Inoltre, Milvus Standalone supporta l'alta disponibilità attraverso la replica master-slave.

Milvus distribuito

Milvus Distributed può essere distribuito su cluster Kubernetes. Questa distribuzione presenta un'architettura cloud-native, in cui il carico di ingestione e le query di ricerca sono gestite separatamente da nodi isolati, consentendo la ridondanza dei componenti critici. Offre la massima scalabilità e disponibilità, nonché la flessibilità di personalizzare le risorse allocate in ogni componente. Milvus Distributed è la scelta migliore per gli utenti aziendali che gestiscono sistemi di ricerca vettoriale su larga scala in produzione.

Scegliere la distribuzione giusta per il proprio caso d'uso

La scelta di una modalità di distribuzione dipende in genere dalla fase di sviluppo dell'applicazione:

  • Per una rapida prototipazione

    Se desiderate realizzare rapidamente qualcosa come prototipo o a scopo di apprendimento, ad esempio demo di Retrieval Augmented Generation (RAG), chatbot AI, ricerca multimodale, Milvus Lite stesso o una combinazione di Milvus Lite e Milvus Standalone è adatto. È possibile utilizzare Milvus Lite nei notebook per la prototipazione rapida ed esplorare vari approcci, come le diverse strategie di chunking in RAG. Potreste voler distribuire l'applicazione costruita con Milvus Lite in una produzione su piccola scala per servire utenti reali, o per convalidare l'idea su insiemi di dati più grandi, ad esempio più di qualche milione di vettori. Milvus Standalone è appropriato. La logica applicativa di Milvus Lite può ancora essere condivisa, poiché tutte le distribuzioni di Milvus hanno la stessa API lato client. I dati memorizzati in Milvus Lite possono anche essere trasferiti a Milvus Standalone con uno strumento a riga di comando.

  • Distribuzione di produzione su piccola scala

    Per la produzione in fase iniziale, quando il progetto sta ancora cercando di adattarsi al mercato del prodotto e l'agilità è più importante della scalabilità, Milvus Standalone è la scelta migliore. È in grado di scalare fino a 100 milioni di vettori, se le risorse della macchina sono sufficienti, e richiede molto meno DevOps rispetto al mantenimento di un cluster K8s.

  • Distribuzione di produzione su larga scala

    Quando la vostra azienda cresce rapidamente e la scala dei dati supera la capacità di un singolo server, è il momento di prendere in considerazione Milvus Distributed. Potete continuare a usare Milvus Standalone per l'ambiente di sviluppo o di staging per la sua convenienza e gestire il cluster K8s che esegue Milvus Distributed. In questo modo si può arrivare a decine di miliardi di vettori, oltre a garantire la flessibilità necessaria per adattare le dimensioni dei nodi ai carichi di lavoro specifici, come ad esempio i casi di alta lettura e scrittura poco frequente o di alta scrittura e bassa lettura.

  • Ricerca locale sui dispositivi edge

    Per le ricerche private o sensibili sui dispositivi edge, è possibile implementare Milvus Lite sul dispositivo senza affidarsi a un servizio basato su cloud per la ricerca di testo o immagini. Questo è adatto a casi come la ricerca di documenti proprietari o il rilevamento di oggetti sul dispositivo.

La scelta della modalità di distribuzione di Milvus dipende dalla fase e dalla scala del progetto. Milvus offre una soluzione flessibile e potente per diverse esigenze, dalla prototipazione rapida alla distribuzione aziendale su larga scala.

  • Milvus Lite è consigliato per insiemi di dati più piccoli, fino a pochi milioni di vettori.
  • Milvus Standalone è adatto a insiemi di dati di medie dimensioni, fino a 100 milioni di vettori.
  • Milvus Distributed è progettato per implementazioni su larga scala, in grado di gestire insiemi di dati da 100 milioni a decine di miliardi di vettori.

Select deployment option for your use case Selezionare l'opzione di distribuzione per il proprio caso d'uso

Confronto sulle funzionalità

CaratteristicheMilvus LiteMilvus StandaloneMilvus distribuito
SDK / Client LiraryPython
gRPC
Python
Go
Java
Node.js
C#
RESTful
Python
Java
Go
Node.js
C#
RESTful
Tipi di datiVettore denso
Vettore sparso
Vettore binario
Booleano
Intero
Punto mobile
VarChar
Array
JSON
Dense Vector
Sparse Vector
Binary Vector
Boolean
Integer
Floating Point
VarChar
Array
JSON
Vettore denso
Vettore sparso
Vettore binario
Booleano
Intero
Punto flottante
VarChar
Array
JSON
Capacità di ricercaRicerca vettoriale (ANN Search)
Filtraggio dei metadati
Ricerca per intervallo
Query scalare
Ottenere entità per chiave primaria
Ricerca ibrida
Ricerca vettoriale (ANN Search)
Filtraggio dei metadati
Ricerca per intervallo
Query scalare
Ottenere entità per chiave primaria
Ricerca ibrida
Ricerca vettoriale (ricerca ANN)
Filtraggio dei metadati
Ricerca per intervallo
Query scalare
Ottenere entità per chiave primaria
Ricerca ibrida
Operazioni CRUD✔️✔️✔️
Gestione avanzata dei datiN/DControllo di accesso
Partizione
Chiave di partizione
Controllo degli accessi
Partizione
Chiave di partizione
Raggruppamento fisico delle risorse
Livelli di coerenzaForteForte
Stallo limitato
Sessione
Eventuale
Forte
Stallo limitato
Sessione
Eventuale

Tradotto daDeepLogo

Try Managed Milvus for Free

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

Get Started
Feedback

Questa pagina è stata utile?