milvus-logo
LFAI
Home
  • Concepts

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. Chaque PChannel correspond à un sujet pour le stockage des journaux, tandis que chaque VChannel correspond à un shard dans une collection.

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é se compose d'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 les vecteurs d'intégration.

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.

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.

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és vectorielles, 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.

Courtier en journaux

Le log broker est un système de publication et d'abonnement qui prend en charge la lecture. Il est responsable de la persistance des données en continu, de l'exécution de requêtes asynchrones fiables, de la notification des événements et du retour des résultats des requêtes. Il assure également l'intégrité des données incrémentielles lorsque les nœuds de travail se remettent d'une panne du système.

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.

Abonné au journal

Les abonnés au journal s'abonnent à la séquence de journaux pour mettre à jour les données locales et fournir des services sous forme de copies en lecture seule.

Stockage de messages

Le stockage des messages est le moteur de stockage des journaux de Milvus. Milvus prend en charge Kafka ou Pulsa en tant que stockage de messages. Pour plus d'informations, voir Configurer le stockage des messages.

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é.

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. Cette technique 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 sujet pour le stockage des journaux. Par défaut, un groupe de 16 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 Configurations relatives aux canaux de messages.

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 Obtenir et requête scalaire.

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.

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. La transition d'un segment en croissance à un segment scellé est déclenchée soit en atteignant la limite d'entité prédéfinie, soit en dépassant 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.

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 logical channel (canal logique). Chaque VChannel représente un shard dans une collection. Chaque collection se voit attribuer un groupe de VChannel pour l'enregistrement des insertions, suppressions et mises à jour de données. Les VChannels sont logiquement séparés mais partagent physiquement des ressources.

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.

Zilliz Cloud

Milvus entièrement géré sur Zilliz Cloud, avec davantage de fonctionnalités d'entreprise et des performances hautement optimisées.