milvus-logo
LFAI
Home
  • Commencer
    • Installer Milvus

Aperçu des options de déploiement de Milvus

Milvus est une base de données vectorielle hautement performante et évolutive. Elle prend en charge des cas d'utilisation de tailles très diverses, depuis les démonstrations s'exécutant localement dans des blocs-notes Jupyter jusqu'aux clusters Kubernetes à grande échelle gérant des dizaines de milliards de vecteurs. Il existe actuellement trois options de déploiement de Milvus : Milvus Lite, Milvus Standalone et Milvus Distributed.

Milvus Lite

Milvus Lite est une bibliothèque Python qui peut être importée dans vos applications. En tant que version légère de Milvus, elle est idéale pour le prototypage rapide dans les blocs-notes Jupyter ou l'exécution sur des appareils intelligents avec des ressources limitées. Milvus Lite prend en charge les mêmes API que les autres déploiements Milvus. Le code côté client interagissant avec Milvus Lite peut également fonctionner avec les instances Milvus dans d'autres modes de déploiement.

Pour intégrer Milvus Lite dans vos applications, exécutez pip install pymilvus pour l'installer et utilisez l'instruction MilvusClient("./demo.db") pour instancier une base de données vectorielle avec un fichier local qui conserve toutes vos données. Pour plus de détails, voir Exécuter Milvus Lite.

Milvus Standalone

Milvus Standalone est un déploiement de serveur sur une seule machine. Tous les composants de Milvus Standalone sont regroupés dans une seule image Docker, ce qui facilite le déploiement. Si vous avez une charge de travail de production mais préférez ne pas utiliser Kubernetes, l'exécution de Milvus Standalone sur une seule machine avec suffisamment de mémoire est une bonne option. En outre, Milvus Standalone prend en charge la haute disponibilité via la réplication maître-esclave.

Milvus Distribué

Milvus Distributed peut être déployé sur des clusters Kubernetes. Ce déploiement présente une architecture cloud-native, où la charge d'ingestion et les requêtes de recherche sont traitées séparément par des nœuds isolés, ce qui permet la redondance des composants critiques. Il offre l'évolutivité et la disponibilité les plus élevées, ainsi que la flexibilité nécessaire pour personnaliser les ressources allouées dans chaque composant. Milvus Distributed est le meilleur choix pour les utilisateurs professionnels qui exécutent des systèmes de recherche vectorielle à grande échelle en production.

Choisissez le bon déploiement pour votre cas d'utilisation

Le choix d'un mode de déploiement dépend généralement du stade de développement de votre application :

  • Pour un prototypage rapide

    Si vous souhaitez construire rapidement quelque chose en tant que prototype ou à des fins d'apprentissage, comme des démonstrations de Retrieval Augmented Generation (RAG), des chatbots d'IA, des recherches multimodalités, Milvus Lite lui-même ou une combinaison de Milvus Lite et Milvus Standalone est approprié. Vous pouvez utiliser Milvus Lite dans des carnets de notes pour un prototypage rapide et explorer diverses approches telles que différentes stratégies de regroupement dans RAG. Il se peut que vous souhaitiez déployer l'application construite avec Milvus Lite dans une production à petite échelle pour servir des utilisateurs réels, ou valider l'idée sur des ensembles de données plus importants, par exemple plus de quelques millions de vecteurs. Milvus Standalone est approprié. La logique d'application de Milvus Lite peut toujours être partagée car tous les déploiements de Milvus ont la même API côté client. Les données stockées dans Milvus Lite peuvent également être portées vers Milvus Standalone à l'aide d'un outil de ligne de commande.

  • Déploiement de la production à petite échelle

    Pour une production à un stade précoce, lorsque le projet cherche encore à s'adapter au marché des produits et que l'agilité est plus importante que l'évolutivité, Milvus Standalone est le meilleur choix. Il peut encore évoluer jusqu'à 100 millions de vecteurs s'il dispose de suffisamment de ressources machine, tout en nécessitant beaucoup moins de DevOps que la maintenance d'un cluster K8s.

  • Déploiement de production à grande échelle

    Lorsque votre entreprise se développe rapidement et que l'échelle des données dépasse la capacité d'un seul serveur, il est temps d'envisager Milvus Distributed. Vous pouvez continuer à utiliser Milvus Standalone pour l'environnement de développement ou de mise en scène pour sa commodité, et exploiter le cluster K8s qui exécute Milvus Distributed. Cela peut vous permettre d'atteindre des dizaines de milliards de vecteurs, tout en vous offrant la flexibilité nécessaire pour adapter la taille des nœuds à votre charge de travail particulière, telle que des cas de lecture élevée, d'écriture peu fréquente ou d'écriture élevée, de lecture faible.

  • Recherche locale sur les périphériques

    Pour la recherche dans des dispositifs périphériques privés ou sensibles, vous pouvez déployer Milvus Lite sur le dispositif sans dépendre d'un service basé dans le nuage pour effectuer une recherche de texte ou d'image. Cela convient à des cas tels que la recherche de documents propriétaires ou la détection d'objets sur l'appareil.

Le choix du mode de déploiement de Milvus dépend de l'étape et de l'échelle de votre projet. Milvus fournit une solution flexible et puissante pour divers besoins, du prototypage rapide au déploiement d'entreprise à grande échelle.

  • Milvus Lite est recommandé pour les petits ensembles de données, jusqu'à quelques millions de vecteurs.
  • Milvus Standalone convient aux ensembles de données de taille moyenne, jusqu'à 100 millions de vecteurs.
  • Milvus Distributed est conçu pour les déploiements à grande échelle, capable de traiter des ensembles de données de 100 millions à des dizaines de milliards de vecteurs.

Select deployment option for your use case Sélectionnez l'option de déploiement correspondant à votre cas d'utilisation

Comparaison des fonctionnalités

FonctionnalitéMilvus LiteMilvus StandaloneMilvus distribué
SDK / Liraire clientPython
gRPC
Python
Go
Java
Node.js
C#
RESTful
Python
Java
Go
Node.js
C#
RESTful
Types de donnéesVecteur dense
Vecteur espacé
Vecteur binaire
Booléen
Entier
Virgule flottante
VarChar
Tableau
JSON
Dense Vector
Sparse Vector
Binary Vector
Boolean
Integer
Floating Point
VarChar
Array
JSON
Vecteur dense
Vecteur espacé
Vecteur binaire
Booléen
Entier
Point flottant
VarChar
Tableau
JSON
Capacités de rechercheRecherche vectorielle (ANN Search)
Filtrage des métadonnées
Recherche par plage
Requête scalaire
Obtention d'entités par clé primaire
Recherche hybride
Vector Search (ANN Search)
Filtrage des métadonnées
Range Search
Scalar Query
Get Entities by Primary Key
Hybrid Search
Recherche vectorielle (ANN Search)
Filtrage des métadonnées
Recherche d'intervalle
Requête scalaire
Obtention d'entités par clé primaire
Recherche hybride
Opérations CRUD✔️✔️✔️
Gestion avancée des donnéesN/AContrôle d'accès
Partition
Clé de partition
Contrôle d'accès
Partition
Clé de partition
Groupement de ressources physiques
Niveaux de cohérenceFortForte
Stabilité limitée
Session
Éventuelle
Forte
Anomalie limitée
Session
Eventuelle

Traduit parDeepL

Try Managed Milvus for Free

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

Get Started
Feedback

Cette page a-t - elle été utile ?