Installazione di Milvus Server Docker e dipendenze di packaging
Milvus è un popolare database vettoriale open-source con una notevole diffusione nei casi d'uso di Generative AI e RAG (Retrieval Augmented Generation). Come organizzazione, potresti prendere in considerazione l'integrazione di Milvus nel tuo stack tecnologico, ed è importante comprenderne le principali dipendenze e requisiti.
Milvus offre opzioni di deployment flessibili per il suo server:
Local: Esegui Milvus come un singolo container Docker sulla tua macchina. Per esigenze su larga scala, esegui il deployment di Milvus su un cluster Kubernetes.
Cloud (Zilliz): Zilliz offre Milvus come servizio cloud gestito su AWS, GCP o Azure, fornendo funzionalità avanzate aggiuntive e un'esperienza senza complicazioni.
Il resto di questo blog riguarderà l'installazione di Milvus in locale. Tieni presente che questo vale per Milvus version 2.4 e successive.
Panoramica delle dipendenze
Presupponendo un'installazione pulita, le principali dipendenze per il server standalone Milvus includono:
FAISS: Una libreria per la ricerca efficiente di similarità e il clustering di vettori densi.
etcd: Un archivio chiave-valore distribuito utilizzato per memorizzare i metadati di Milvus.
Pulsar/Kafka: Un sistema di messaggistica pub-sub distribuito per gestire l'ingestione di dati in tempo reale, l'elaborazione e la comunicazione tra componenti.
Tantivy: Una libreria di motore di ricerca full-text scritta in Rust per funzionalità di ricerca basate sul testo.
RocksDB: Un motore di archiviazione persistente.
Minio/S3/GCS/Azure Blob Storage: Compatibilità con varie soluzioni di object storage.
Kubernetes: Una piattaforma distribuita per il deployment containerizzato.
StorageClass and Persistent Volumes: Risorse Kubernetes utilizzate per gestire i requisiti di archiviazione di etcd e Pulsar.
Prometheus and Grafana: Visualizzazione per il monitoraggio di Milvus, che consente agli utenti di monitorare le prestazioni e risolvere i problemi.
Dimensione dell'immagine Docker ~500MB
La dimensione dell'immagine Docker per il container standalone Milvus è di circa 500MB. Puoi trovare le ultime release sulla pagina Docker Hub di Milvus all'indirizzo https://hub.docker.com/r/milvusdb/milvus/tags.
Frequenza degli aggiornamenti ~1x al mese (molte piccole release e 1 release fissata al mese)
Milvus ha un ciclo di release piuttosto frequente, con circa una release principale al mese. Le release più piccole includono miglioramenti e correzioni di bug. In genere c'è una release "pinned" al mese.
Non consigliamo di usare l'ultima release minore in produzione. Zilliz cloud è sempre sull'ultima release stabile, che di solito è una versione indietro rispetto all'ultima. Ad esempio, al momento l'ultima versione è la 2.4, ma l'ultima release che consigliamo per la produzione è la 2.3.x.
SDK
Offriamo sei SDK (software development kits) in: Python, Node, Go, C#, Java, Ruby
Per installare l'SDK Python, esegui semplicemente pip install pymilvus.
È importante assicurarsi che le versioni dell’SDK scelto e del server Milvus corrispondano in termini di numeri di versione major e minor. Ad esempio, Pymilvus versione 2.4.0 è compatibile con una versione locale del server Milvus 2.4.0-rc.1-dev. Allo stesso modo, Pymilvus versione 2.3.6 è compatibile con Zilliz versione 2.3.x.
Installazione
Installare Milvus standalone Docker è semplice. La cosa principale è scaricare l’ultimo docker-compose.yml dalla pagina della documentazione oppure direttamente da GitHub. Mostro un comando wget qui sotto. Puoi modificare il comando wget in base alla versione che stai utilizzando. Dovrai anche avere Docker installato.
Di seguito è riportato un esempio di codice Python per installare e connettersi.
import pymilvus
from pymilvus import (connections, MilvusClient, utility)
print(f"Pymilvus: {pymilvus.__version__}")
###########################################################################################
# Download the latest .yaml file: https://milvus.io/docs/install_standalone-docker.md
# Or download manually from milvus github:
# !wget https://github.com/milvus-io/milvus/releases/download/v2.4.0-rc.1/milvus-standalone-docker-compose.yml -O docker-compose.yml
############################################################################################
# Start Docker
!docker compose up -d
# Verify which local port the Milvus server is listening on
!docker ps -a #19530/tcp
# Connect to the local server.
connection = connections.connect(
alias="default",
host='localhost', # or '0.0.0.0' or 'localhost'
port='19530'
)
# Print server version.
print(utility.get_server_version())
# Use no-schema Milvus client (flexible json key:value format).
mc = MilvusClient(connections=connection)
# Check if a collection already exists.
collection_name = "movies"
has = utility.has_collection(collection_name)
print(f"Collection '{collection_name}' exists in Milvus?")
print(f"Answer --> {has}!")
# Stop the local Milvus server.
!docker compose down
Riepilogo
Queste sono le dipendenze chiave e la frequenza degli aggiornamenti di rilascio per distribuire il server Milvus su Docker standalone. Comprendere questi dettagli può aiutarti a pianificare e prepararti meglio all’integrazione di Milvus nello stack tecnologico della tua organizzazione.
Continua a leggere

Zilliz Cloud BYOC Now Available Across AWS, GCP, and Azure
Zilliz Cloud BYOC is now generally available on all three major clouds. Deploy fully managed vector search in your own AWS, GCP, or Azure account — your data never leaves your VPC.

Introducing Business Critical Plan: Enterprise-Grade Security and Compliance for Mission-Critical AI Applications
Discover Zilliz Cloud’s Business Critical Plan—offering advanced security, compliance, and uptime for mission-critical AI and vector database workloads.

Will Amazon S3 Vectors Kill Vector Databases—or Save Them?
AWS S3 Vectors aims for 90% cost savings for vector storage. But will it kill vectordbs like Milvus? A deep dive into costs, limits, and the future of tiered storage.



