Terminologie
AutoID
AutoID est un attribut du champ primaire qui détermine s'il faut activer l'auto-incrémentation pour le champ primaire. La valeur d'AutoID est définie sur la base d'un horodatage. Pour plus d'informations, voir create_schema.
Index automatique
Milvus décide automatiquement du type d'index et des paramètres les plus appropriés pour un champ spécifique sur la base de données empiriques. Cette fonction est idéale dans les situations où il n'est pas nécessaire de contrôler les paramètres spécifiques de l'index. Pour plus d'informations, voir add_index.
Attu
Attu est un outil d'administration tout-en-un pour Milvus qui réduit considérablement la complexité et le coût de la gestion du système.
Birdwatcher
Birdwatcher est un outil de débogage pour Milvus qui se connecte à etcd, ce qui vous permet de surveiller l'état du serveur Milvus et d'effectuer des ajustements en temps réel. Il prend également en charge les sauvegardes de fichiers etcd, ce qui aide les développeurs à résoudre les problèmes.
Bulk Writer
Bulk Writer est un outil de traitement des données fourni par les SDK Milvus (par exemple PyMilvus, Java SDK), conçu pour convertir des ensembles de données brutes dans un format compatible avec Milvus pour une importation efficace.
Insertion en bloc
Bulk Insert est une API qui améliore les performances d'écriture en permettant l'importation de plusieurs fichiers en une seule demande, optimisant ainsi les opérations avec de grands ensembles de données.
Cardinal
Cardinal, développé par Zilliz Cloud, est un algorithme de recherche vectorielle de pointe qui offre une qualité de recherche et des performances inégalées. Grâce à sa conception innovante et à ses nombreuses optimisations, Cardinal surpasse Knowhere de plusieurs fois à un ordre de grandeur, tout en s'adaptant à divers scénarios de production, tels que des tailles K variables, un filtrage élevé, différentes distributions de données, etc.
Canal
Milvus utilise deux types de canaux, PChannel et VChannel, dans le cadre de son architecture de service de streaming. Chaque PChannel correspond à un flux WAL géré par Woodpecker, tandis que chaque VChannel correspond à un shard dans une collection. Le service de streaming gère ces canaux afin de garantir la cohérence des données et la récupération des erreurs.
Collection
Dans Milvus, une collection est l'équivalent d'une table dans un système de gestion de base de données relationnelle (SGBDR). Les collections sont des objets logiques majeurs utilisés pour stocker et gérer les entités. Pour plus d'informations, voir Gérer les collections.
Dépendance
Une dépendance est un programme sur lequel un autre programme s'appuie pour fonctionner. Les dépendances de Milvus comprennent etcd (stocke les métadonnées), MinIO ou S3 (stockage d'objets) et Pulsar (gère les journaux d'instantanés). Pour plus d'informations, reportez-vous à la section Gérer les dépendances.
Schéma dynamique
Le schéma dynamique vous permet d'insérer des entités avec de nouveaux champs dans une collection sans modifier le schéma existant. Cela signifie que vous pouvez insérer des données sans connaître le schéma complet d'une collection et que vous pouvez inclure des champs qui ne sont pas encore définis. Vous pouvez activer cette fonctionnalité sans schéma en activant le champ dynamique lors de la création d'une collection. Pour plus d'informations, voir Activer le champ dynamique.
Intégrations
Milvus propose des fonctions d'intégration intégrées qui fonctionnent avec les fournisseurs d'intégration les plus courants. Avant de créer une collection dans Milvus, vous pouvez utiliser ces fonctions pour générer des embeddings pour vos ensembles de données, ce qui simplifie le processus de préparation des données et des recherches vectorielles. Pour créer des embeddings en action, reportez-vous à la section Utilisation du modèle PyMilvus pour générer des embeddings de texte.
Entité
Une entité consiste en un groupe de champs qui représentent des objets du monde réel. Dans Milvus, chaque entité est représentée par une clé primaire unique.
Vous pouvez personnaliser les clés primaires. Si vous ne configurez pas manuellement, Milvus affecte automatiquement la clé primaire aux entités. Si vous choisissez de personnaliser la clé primaire, notez que Milvus ne prend pas en charge la déduplication des clés primaires pour le moment. Par conséquent, il peut y avoir des clés primaires en double dans la même collection. Pour plus d'informations, voir Insérer des entités.
Champ
Un champ dans une collection Milvus est équivalent à une colonne de table dans un SGBDR. Les champs peuvent être soit des champs scalaires pour les données structurées (par exemple, des nombres, des chaînes), soit des champs vectoriels pour l'intégration de vecteurs.
Filtre
Milvus prend en charge le filtrage scalaire en effectuant des recherches avec des prédicats, ce qui vous permet de définir des conditions de filtrage dans les requêtes et les recherches afin d'affiner les résultats.
Recherche filtrée
La recherche filtrée applique des filtres scalaires aux recherches vectorielles, ce qui permet d'affiner les résultats de la recherche en fonction de critères spécifiques. Pour plus d'informations, voir Recherche filtrée.
Recherche hybride
Larecherche hybride est une API pour la recherche hybride depuis Milvus 2.4.0. Vous pouvez rechercher plusieurs champs vectoriels et les fusionner. Pour une recherche vectorielle combinée à un filtrage de champ scalaire, on parle de "recherche filtrée". Pour plus d'informations, voir Recherche hybride.
Index
Un index vectoriel est une structure de données réorganisée dérivée de données brutes qui peut accélérer considérablement le processus de recherche de similarité vectorielle. Milvus prend en charge un large éventail de types d'index pour les champs vectoriels et scalaires. Pour plus d'informations, voir Types d'index vectoriels.
Connecteur Kafka-Milvus
Leconnecteur Kafka-Milvus fait référence à un connecteur de puits Kafka pour Milvus. Il vous permet de diffuser des données vectorielles de Kafka vers Milvus.
Knowhere
Knowhere est le moteur d'exécution vectorielle central de Milvus qui intègre plusieurs bibliothèques de recherche de similarité vectorielle, notamment Faiss, Hnswlib et Annoy. Knowhere est également conçu pour prendre en charge l'informatique hétérogène. Il contrôle sur quel matériel (CPU ou GPU) exécuter la construction de l'index et les requêtes de recherche. C'est ainsi que Knowhere tire son nom : savoir où exécuter les opérations.
Instantané de journal
Un instantané de journal est un journal binaire, une unité plus petite dans un segment qui enregistre et gère les mises à jour et les modifications apportées aux données dans Milvus. Les données d'un segment sont conservées dans plusieurs journaux binaires. Il existe trois types de journaux binaires dans Milvus : InsertBinlog, DeleteBinlog et DDLBinlog. Pour plus d'informations, voir Stockage méta.
Type de métrique
Les types de métriques de similarité sont utilisés pour mesurer les similarités entre les vecteurs. Actuellement, Milvus prend en charge la distance euclidienne (L2), le produit intérieur (IP), la similarité cosinusienne (COSINE) et les types de métriques binaires. Vous pouvez choisir le type de métrique le plus approprié en fonction de votre scénario. Pour plus d'informations, reportez-vous à la section Métriques de similarité.
MemoryBuffer
MemoryBuffer est un mode de déploiement léger de Woodpecker qui met temporairement en mémoire tampon les écritures entrantes et les évacue périodiquement vers le stockage d'objets dans le nuage. Ce mode convient mieux aux charges de travail lourdes en lots dans les déploiements à petite échelle ou les environnements de production qui privilégient la simplicité à la performance. Pour plus d'informations, voir Architecture Woodpecker.
Mmap
Les fichiers mappés en mémoire permettent un traitement efficace des données en mappant le contenu des fichiers directement dans la mémoire. Cela est particulièrement utile lorsque la mémoire est limitée et qu'il n'est pas possible de charger toutes les données. Cette technique permet d'augmenter la capacité des données et de maintenir les performances jusqu'à un certain point. Toutefois, si les données dépassent largement la capacité de la mémoire, les vitesses de recherche et d'interrogation peuvent diminuer de manière significative. Pour plus d'informations, reportez-vous à la section Stockage de données activé par MMap.
Milvus Backup
Milvus Backup est un outil permettant de créer des copies de données, qui peuvent être utilisées pour restaurer l'original après une perte de données.
Milvus CDC
MilvusCDC (Change data capture) est un outil convivial qui permet de capturer et de synchroniser des données incrémentielles dans les instances Milvus. Il garantit la fiabilité des données commerciales en les transférant de manière transparente entre les instances source et cible, ce qui facilite la sauvegarde incrémentielle et la reprise après sinistre.
Milvus CLI
L'interface de ligne de commande (CLI) de Milvus est un outil de ligne de commande qui prend en charge la connexion à la base de données, les opérations sur les données, ainsi que l'importation et l'exportation de données. Basé sur le SDK Milvus Python, il permet l'exécution de commandes via un terminal à l'aide d'invites de ligne de commande interactives.
Milvus Migration
MilvusMigration est un outil open-source conçu pour faciliter la migration des données à partir de diverses sources de données vers Milvus 2.x.
Cluster Milvus
Dans le déploiement en cluster de Milvus, les services sont fournis par un groupe de nœuds afin d'obtenir une haute disponibilité et une évolutivité aisée.
Milvus autonome
Dans le déploiement autonome de Milvus, toutes les opérations, y compris l'insertion de données, la construction d'index et la recherche de similarités vectorielles, sont effectuées en un seul processus.
Vecteur multiple
Milvus prend en charge plusieurs champs vectoriels dans une collection depuis la version 2.4.0. Pour plus d'informations, voir Recherche hybride.
Partition
Une partition est une division d'une collection. Milvus prend en charge la division des données d'une collection en plusieurs parties sur le stockage physique. Ce processus est appelé partitionnement et chaque partition peut contenir plusieurs segments. Pour plus d'informations, voir Gérer les partitions.
Clé de partition
L'attribut clé de partition d'un champ permet de séparer les entités en partitions distinctes sur la base de leurs valeurs de clé de partition. Ce regroupement garantit que les entités partageant la même valeur clé sont stockées ensemble, ce qui peut accélérer les opérations de recherche en permettant au système de contourner les partitions non pertinentes lors des requêtes filtrées par le champ clé de partition. Pour plus d'informations, voir Utiliser la clé de partition.
Canal physique
PChannel signifie physical channel (canal physique). Chaque PChannel correspond à un flux WAL géré par Woodpecker. Par défaut, un groupe de PChannels sera affecté au stockage des journaux qui enregistrent l'insertion, la suppression et la mise à jour des données lorsque le cluster Milvus est démarré. Pour plus d'informations, voir Service de streaming.
PyMilvus
PyMilvus est un SDK Python de Milvus. Son code source est ouvert et hébergé sur GitHub. Vous pouvez choisir MilvusClient (nouvelle version du SDK Python) ou le module ORM original pour communiquer avec Milvus.
Query
Query est une API qui effectue un filtrage scalaire avec une expression booléenne spécifiée comme filtre. Pour plus d'informations, voir Get & Scalar Query.
QuorumBuffer
QuorumBuffer est un mode de déploiement de Woodpecker conçu pour les charges de travail en lecture/écriture sensibles à la latence et à haute fréquence, qui nécessitent à la fois une réactivité en temps réel et une forte tolérance aux pannes. Il fonctionne comme un tampon d'écriture à grande vitesse avec des écritures quorum à trois répliques, garantissant une forte cohérence et une haute disponibilité. Pour plus d'informations, voir l'architecture Woodpecker.
Recherche par plage
La recherche par plage vous permet de trouver des vecteurs qui se trouvent à une distance spécifiée de votre vecteur de recherche. Pour plus d'informations, reportez-vous à la section Recherche dans l'intervalle.
Schéma
Le schéma est la méta-information qui définit le type et la propriété des données. Chaque collection possède son propre schéma de collection qui définit tous les champs d'une collection, l'ID automatique (clé primaire), l'activation de l'allocation et la description de la collection. Les schémas de champ sont également inclus dans les schémas de collection, qui définissent le nom, le type de données et d'autres propriétés d'un champ. Pour plus d'informations, reportez-vous à la section Gérer les schémas.
Recherche
Larecherche est une API qui effectue une opération de recherche de similarité vectorielle, nécessitant des données vectorielles pour son exécution. Pour plus d'informations, reportez-vous à la section Recherche d'un seul vecteur.
Segment
Un segment est un fichier de données créé automatiquement qui stocke des données insérées. Une collection peut contenir plusieurs segments et chaque segment peut contenir de nombreuses entités. Lors d'une recherche de similarité vectorielle, Milvus examine chaque segment pour compiler les résultats de la recherche.
Il existe deux types de segments : les segments en croissance et les segments scellés. Un segment en croissance continue à collecter de nouvelles données jusqu'à ce qu'il atteigne un seuil spécifique ou une limite de temps, après quoi il devient scellé. Une fois scellé, un segment n'accepte plus de nouvelles données et est transféré vers le stockage d'objets. Entre-temps, les données entrantes sont acheminées vers un nouveau segment en croissance. Le passage d'un segment en croissance à un segment scellé est déclenché soit par l'atteinte de la limite d'entité prédéfinie, soit par le dépassement de la durée maximale autorisée dans l'état de croissance. Pour plus d'informations, voir Détails de la conception.
Connecteur Spark-Milvus
Leconnecteur Spark-Milvus permet une intégration transparente entre Apache Spark et Milvus, en combinant les fonctions de traitement des données et d'apprentissage automatique (ML) d'Apache Spark avec les capacités de stockage et de recherche de données vectorielles de Milvus.
Shard
Milvus améliore les performances d'écriture des données en répartissant les opérations d'écriture sur plusieurs nœuds à l'aide de shards, qui sont organisés en fonction du hachage des clés primaires. Cela permet d'exploiter les capacités de calcul parallèle du cluster.
Le partitionnement permet de réduire la charge de lecture en spécifiant un nom de partition, tandis que la répartition répartit la charge d'écriture entre plusieurs serveurs.
Vecteur épars
Les vecteurs épars représentent des mots ou des phrases à l'aide d'encastrements vectoriels où la plupart des éléments sont nuls, un seul élément non nul indiquant la présence d'un mot spécifique. Les modèles de vecteurs épars, tels que SPLADEv2, sont plus performants que les modèles denses en ce qui concerne la recherche de connaissances hors domaine, la connaissance des mots-clés et l'interprétabilité. Pour plus d'informations, voir Vecteurs épars.
Service de diffusion en continu
Le service de diffusion en continu est un concept pour le module de système de diffusion en continu interne de Milvus, construit autour du journal en avance sur l'écriture (WAL) pour prendre en charge diverses fonctions liées à la diffusion en continu. Il s'agit notamment de l'ingestion/souscription de données en continu, de la reprise sur panne de l'état de la grappe, de la conversion des données en continu en données historiques et des requêtes de données croissantes. Le service est composé d'un coordinateur de diffusion en continu, d'un cluster de nœuds de diffusion en continu et d'un client de diffusion en continu. Pour plus d'informations, voir le service de diffusion en continu.
Données non structurées
Les données non structurées, y compris les images, la vidéo, l'audio et le langage naturel, sont des informations qui ne suivent pas un modèle ou un mode d'organisation prédéfini. Ce type de données représente environ 80 % des données mondiales et peut être converti en vecteurs à l'aide de divers modèles d'intelligence artificielle (IA) et de ML.
VChannel
VChannel est l'abréviation de virtual channel (canal virtuel). Chaque VChannel représente un shard dans une collection. Chaque collection se verra attribuer un groupe de VChannels pour l'enregistrement de l'insertion, de la suppression et de la mise à jour des données. Les VChannels sont logiquement séparés mais partagent physiquement des ressources par l'intermédiaire du service de diffusion en continu. Pour plus d'informations, reportez-vous à la section Service de diffusion en continu.
Vecteur
Un vecteur d'intégration est une abstraction de caractéristiques de données non structurées, telles que des courriels, des données de capteurs IoT, des photos Instagram, des structures de protéines, etc. D'un point de vue mathématique, un vecteur d'intégration est un tableau de nombres à virgule flottante ou de binaires. Les techniques d'intégration modernes sont utilisées pour convertir les données non structurées en vecteurs d'intégration. Milvus prend en charge les vecteurs denses et épars depuis la version 2.4.0.
Stockage WAL
Le stockage WAL (Write-Ahead Log) est le fondement de la durabilité et de la cohérence des données dans les systèmes distribués. Avant qu'une modification ne soit validée, elle est d'abord enregistrée dans un journal, ce qui garantit qu'en cas de défaillance, vous pouvez reprendre exactement là où vous vous étiez arrêté. Milvus utilise Woodpecker comme système de stockage WAL, qui prend en charge les modes MemoryBuffer et QuorumBuffer. Pour plus d'informations, voir Architecture Woodpecker.
Woodpecker
Woodpecker est un système WAL natif dans Milvus 2.6 qui remplace Kafka et Pulsar. Avec une architecture sans disque et deux modes de déploiement (MemoryBuffer et QuorumBuffer), il offre un débit élevé, une faible surcharge opérationnelle et une évolutivité transparente sur le stockage d'objets. Pour plus d'informations, voir l'architecture Woodpecker.
Cloud Zilliz
Milvus entièrement géré sur Zilliz Cloud, avec davantage de fonctionnalités d'entreprise et des performances hautement optimisées.