Dévoiler les 10 principaux mots-clés qui domineront la communauté Milvus en 2023
En cette fin d'année 2023, revenons sur le parcours remarquable de la communauté Milvus : 25 000 GitHub Stars, le lancement de Milvus 2.3.0 et plus de 10 millions de téléchargements d'images Docker. Ce billet explore le cœur de la communauté en analysant l'historique des chats et en révélant les 10 mots-clés les plus utilisés dans les discussions.
#1 Version - La montée en puissance de l'AIGC entraîne une itération rapide de Milvus
De manière surprenante, "Version" est apparu comme le mot-clé le plus discuté en 2023. Cette révélation est ancrée dans la vague d'IA de l'année, les bases de données vectorielles étant une infrastructure essentielle pour relever les défis liés aux problèmes d'hallucination des applications AIGC.
L'enthousiasme suscité par les bases de données vectorielles entraîne Milvus dans une phase d'itération rapide. La communauté a été témoin de la publication de vingt versions au cours de la seule année 2023, répondant aux demandes des développeurs de l'AIGC qui inondent la communauté de demandes de renseignements sur le choix de la version optimale de Milvus pour diverses applications. Pour les utilisateurs qui naviguent dans ces mises à jour, nous recommandons d'adopter la dernière version pour bénéficier de fonctionnalités et de performances améliorées.
Si vous êtes intéressé par la planification des versions de Milvus, consultez la page Feuille de route de Milvus sur le site web officiel.
#2 Search - au-delà de la recherche vectorielle
La "recherche" occupe la deuxième place, reflétant son rôle fondamental dans les opérations de base de données. Milvus prend en charge diverses capacités de recherche, de la recherche Top-K ANN à la recherche scalaire filtrée et à la recherche par plage. La sortie imminente de Milvus 3.0 (Beta) promet la recherche par mot-clé (sparse embeddings), que de nombreux développeurs d'applications RAG attendent avec impatience.
Les discussions de la communauté sur la recherche se concentrent sur les performances, les capacités et les principes. Les utilisateurs posent souvent des questions sur le filtrage des attributs, la définition des valeurs seuils de l'index et les problèmes de latence. Les ressources telles que la documentation sur les requêtes et les recherches, les propositions d'amélioration de Milvus (MEP) et les discussions sur Discord sont devenues les références incontournables pour démêler les subtilités de la recherche dans Milvus.
#3 Mémoire - compromis entre performance et précision pour minimiser la charge de mémoire
La "mémoire" a également occupé le devant de la scène dans les discussions de la communauté au cours de l'année écoulée. En tant que type de données particulier, les vecteurs ont par nature des dimensions élevées. Le stockage des vecteurs en mémoire est une pratique courante pour des performances optimales, mais le volume croissant de données limite la mémoire disponible. Milvus optimise l'utilisation de la mémoire en adoptant des techniques telles que MMap et DiskANN.
Toutefois, il reste complexe de parvenir simultanément à une faible utilisation de la mémoire, à d'excellentes performances et à une grande précision dans un système de base de données, ce qui nécessite des compromis entre les performances et la précision afin de minimiser la surcharge de la mémoire.
Dans le cas du contenu généré par l'intelligence artificielle (AIGC), les développeurs privilégient généralement les réponses rapides et la précision des résultats par rapport aux exigences strictes en matière de performances. L'ajout de MMap et DiskANN par Milvus minimise l'utilisation de la mémoire tout en maximisant le traitement des données et la précision des résultats, établissant ainsi un équilibre qui correspond aux besoins pratiques des applications AIGC.
#4 Insert - une navigation fluide dans l'insertion des données
L'insertion efficace des données est une préoccupation cruciale pour les développeurs, ce qui suscite de fréquentes discussions sur l'optimisation de la vitesse d'insertion au sein de la communauté Milvus. Milvus excelle dans l'insertion efficace de données en continu et dans la construction d'index, grâce à sa séparation adroite des données en continu et des données par lots. Cette capacité en fait une solution très performante par rapport à d'autres fournisseurs de bases de données vectorielles, tels que Pinecone.
Voici quelques informations et recommandations utiles sur les insertions de données :
Insertion par lots : Optez pour l'insertion par lots plutôt que pour l'insertion d'une seule rangée afin d'améliorer l'efficacité. L'insertion à partir de fichiers est notamment plus rapide que l'insertion par lots. Lorsque vous traitez de grands ensembles de données dépassant dix millions d'enregistrements, envisagez d'utiliser l'interface
bulk_insert
pour un processus d'importation rationalisé et accéléré.Utilisation stratégique de
flush()
: Plutôt que d'invoquer l'interfaceflush()
après chaque lot, faites un seul appel après avoir terminé l'insertion de toutes les données. Une utilisation excessive de l'interfaceflush()
entre les lots peut conduire à la génération de fichiers de segments fragmentés, ce qui impose une charge de compactage considérable au système.Déduplication des clés primaires : Milvus n'effectue pas de déduplication des clés primaires lors de l'utilisation de l'interface
insert
pour l'insertion de données. Si vous devez dédupliquer les clés primaires, nous vous recommandons de déployer l'interfaceupsert
. Toutefois, les performances d'insertion deupsert
sont inférieures à celles deinsert
, en raison d'une opération de requête interne supplémentaire.
#5 Configuration - décoder le labyrinthe des paramètres
Milvus est une base de données vectorielle distribuée qui intègre de nombreux composants tiers tels que le stockage d'objets, les files d'attente de messages et Etcd. Les utilisateurs ont été confrontés à l'ajustement des paramètres et à la compréhension de leur impact sur les performances de Milvus, ce qui a fait de la "configuration" un sujet fréquemment abordé.
Parmi toutes les questions sur les configurations, "quels paramètres ajuster" est sans doute l'aspect le plus difficile, car les paramètres varient selon les situations. Par exemple, l'optimisation des paramètres de performance de recherche diffère de l'optimisation des paramètres de performance d'insertion et repose largement sur l'expérience pratique.
Une fois que les utilisateurs ont identifié "les paramètres à ajuster", les questions suivantes "comment ajuster" deviennent plus faciles à gérer. Pour des procédures spécifiques, reportez-vous à notre documentation Configurer Milvus. La bonne nouvelle est que Milvus prend en charge les ajustements dynamiques des paramètres depuis la version 2.3.0, ce qui élimine la nécessité de redémarrer pour que les modifications prennent effet. Pour des procédures spécifiques, voir Configurer Milvus à la volée.
#6 Journaux - naviguer dans la boussole de dépannage
Les "journaux" servent de boussole au dépanneur. Les utilisateurs ont demandé des conseils à la communauté sur l'exportation des journaux Milvus, l'ajustement des niveaux de journaux et l'intégration avec des systèmes tels que Loki de Grafana. Voici quelques suggestions concernant les journaux Milvus.
Comment afficher et exporter les journaux Milvus : Vous pouvez facilement exporter les journaux Milvus avec le script en un clic export-milvus-log.sh qui est disponible sur le dépôt GitHub.
Niveau de journalisation : Milvus dispose de plusieurs niveaux de journalisation pour s'adapter à divers cas d'utilisation. Le niveau info est suffisant pour la plupart des cas, et le niveau debug est destiné au débogage. Un excès de journaux Milvus peut être le signe d'une mauvaise configuration des niveaux de journaux.
Nous recommandons d'intégrer les journaux Milvus à un système de collecte de journaux tel que Loki pour rationaliser la récupération des journaux lors de dépannages ultérieurs.
Cluster #7 - mise à l'échelle pour les environnements de production
Compte tenu de l'identité de Milvus en tant que base de données vectorielle distribuée, le terme "cluster" est un sujet de discussion fréquent au sein de la communauté. Les conversations tournent autour de la mise à l'échelle des données dans un cluster, de la migration des données et de la sauvegarde et de la synchronisation des données.
Dans les environnements de production, l'évolutivité robuste et la haute disponibilité sont des exigences standard pour les systèmes de bases de données distribuées. L'architecture de séparation stockage-calcul de Milvus permet une évolutivité transparente des données en augmentant les ressources pour les nœuds de calcul et de stockage, ce qui permet des échelles de données illimitées. Milvus offre également une haute disponibilité grâce à une architecture multiréplique et à de solides capacités de sauvegarde et de synchronisation. Pour plus d'informations, reportez-vous à Coordinator HA.
#8 Documentation - la porte d'entrée pour comprendre Milvus
La "documentation" est un autre mot-clé fréquemment mentionné dans les discussions de la communauté, souvent lié à des questions sur l'existence d'une page de documentation pour une fonctionnalité spécifique et sur l'endroit où la trouver.
Servant de porte d'entrée pour comprendre Milvus, environ 80 % des demandes de la communauté trouvent des réponses dans la documentation officielle. Nous vous recommandons de lire notre documentation avant d'utiliser Milvus ou de rencontrer des problèmes. En outre, vous pouvez explorer les exemples de code dans divers dépôts SDK pour avoir un aperçu de l'utilisation de Milvus.
Déploiement #9 - simplifier le parcours Milvus
La simplicité du déploiement reste l'objectif permanent de l'équipe Milvus. Pour remplir cet engagement, nous avons introduit Milvus Lite, une alternative légère à Milvus qui est entièrement fonctionnelle mais n'a pas de dépendances K8s ou Docker.
Nous avons encore rationalisé le déploiement en introduisant la solution de messagerie NATS plus légère et en consolidant les composants des nœuds. En réponse aux commentaires des utilisateurs, nous nous préparons à publier une version autonome sans dépendances, avec des efforts continus pour améliorer les fonctionnalités et simplifier les opérations de déploiement. L'itération rapide de Milvus témoigne de l'engagement continu de la communauté en faveur de l'amélioration constante du processus de déploiement.
#10 Suppression - démêler l'impact
Les discussions courantes sur la "suppression" tournent autour du nombre de données inchangées après la suppression, de la possibilité de récupérer les données supprimées et de l'échec de la récupération de l'espace disque après la suppression.
Milvus 2.3 introduit l'expression count(*)
pour traiter les mises à jour retardées du nombre d'entités. La persistance des données supprimées dans les requêtes est probablement due à l'utilisation inappropriée des modèles de cohérence des données. Les problèmes d'échec de la récupération de l'espace disque incitent à revoir la conception du mécanisme de collecte des déchets de Milvus, qui fixe une période d'attente avant la suppression complète des données. Cette approche permet de disposer d'une fenêtre temporelle pour une éventuelle récupération.
Conclusion
Les 10 principaux mots-clés donnent un aperçu des discussions animées au sein de la communauté Milvus. Alors que Milvus continue d'évoluer, la communauté reste une ressource inestimable pour les développeurs qui recherchent des solutions, partagent leurs expériences et contribuent à faire progresser les bases de données vectorielles à l'ère de l'IA.
Participez à ce voyage passionnant en rejoignant notre canal Discord en 2024. Vous pourrez y dialoguer avec nos brillants ingénieurs et vous connecter avec des passionnés de Milvus partageant les mêmes idées. Participez également au déjeuner et à la formation de la communauté Milvus tous les mardis de 12h00 à 12h30 (heure de Paris). Faites part de vos réflexions, de vos questions et de vos commentaires, car chaque contribution contribue à l'esprit de collaboration qui propulse Milvus vers l'avant. Votre participation active n'est pas seulement la bienvenue, elle est appréciée. Innovons ensemble !
- #1 Version - La montée en puissance de l'AIGC entraîne une itération rapide de Milvus
- #2 Search - au-delà de la recherche vectorielle
- #3 Mémoire - compromis entre performance et précision pour minimiser la charge de mémoire
- #4 Insert - une navigation fluide dans l'insertion des données
- #5 Configuration - décoder le labyrinthe des paramètres
- #6 Journaux - naviguer dans la boussole de dépannage
- Cluster #7 - mise à l'échelle pour les environnements de production
- #8 Documentation - la porte d'entrée pour comprendre Milvus
- Déploiement #9 - simplifier le parcours Milvus
- #10 Suppression - démêler l'impact
- Conclusion
On This Page
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word