Feuille de route Milvus

🌌 Vers la base de données multimodale et le lac de données de la prochaine génération

Feuille de route du produit Milvus

Bienvenue dans la feuille de route de Milvus !

Nous faisons entrer Milvus dans une nouvelle ère, celle de la base de données multimodale de nouvelle génération, qui couvre les données structurées et non structurées, l'extraction en temps réel et l'analyse hors ligne, et les performances d'un cluster unique et d'une architecture de lac de données globale.

Cette feuille de route présente les objectifs fondamentaux de Milvus v2.6 (en cours), Milvus v3.0 (prévu pour fin 2026) et Milvus v3.1 (développement à long terme), ainsi que le plan d'évolution de Vector Lake (lac de données / Loon).

Milvus v2.6 (en cours)

Calendrier : Mi-2025 - Fin 2025

Focus : Mise à niveau du modèle de données, refactorisation de l'architecture de streaming, construction de capacités de tiering chaud/froid, et lancement du prototype Vector Lake (v0.1).

🎯 Faits marquants

🔹 Mise à niveau du modèle de données

  • Introduction d'un type de données unifié Tensor / StructList pour prendre en charge les structures d'intégration multi-vecteurs, permettant la compatibilité avec ColBERT, CoLQwen, la vidéo et les vecteurs multimodaux.

  • Ajout de la prise en charge des données géographiques, y compris les points, les régions et l'indexation spatiale (basée sur libspatial), afin d'étendre les cas d'utilisation dans LBS et GIS.

  • Prise en charge de l'horodatage avec le type de données Timezone.

🔹 Refonte de l'architecture StreamNode

  • Réécriture du pipeline d'ingestion de flux pour optimiser les écritures incrémentales et le calcul en temps réel.

  • Amélioration significative des performances et de la stabilité en matière de concurrence, jetant les bases d'un traitement unifié en temps réel et hors ligne.

  • Introduction d'un nouveau moteur de file d'attente de messages : Woodpecker.

Architecture de stockage et de hiérarchisation à chaud et à froid (StorageV2)

  • Prise en charge de deux formats de stockage : Parquet et Vortex, améliorant la concurrence et l'efficacité de la mémoire.

  • Mise en œuvre d'un stockage hiérarchisé avec séparation automatique des données chaudes/froides et planification intelligente.

Prototype de lac vectoriel (v0.1)

  • Intégrer avec Spark / DuckDB / DataFusion via FFI, permettant l'évolution du schéma hors ligne et les requêtes KNN.

  • Fournir une visualisation multimodale des données et une démo ETL Spark, établissant l'architecture fondamentale du lac de données.

🌠 Milvus v3.0 (prévu pour début 2026)

Calendrier : Fin 2025 - début 2026

Focus : Améliorations complètes de l'expérience de recherche, de la flexibilité des schémas et de la prise en charge des données non structurées, ainsi que la publication de Vector Lake (v0.2).

🎯 Points forts

🔹 Refonte de l'expérience de recherche

  • Introduction de la recherche de similarité More Like This (MLT) avec prise en charge des recherches avec position ou exemples négatifs.

  • Ajout de fonctionnalités de recherche sémantique telles que la mise en évidence et le renforcement.

  • Prise en charge des dictionnaires personnalisés et des tables de synonymes, permettant la définition de règles lexicales et sémantiques au niveau de l'analyseur.

  • Introduire des capacités d'agrégation pour les requêtes.

🔹 Multi-locataires et gestion des ressources

  • Permettre la suppression, les statistiques et la hiérarchisation à chaud et à froid pour les utilisateurs multiples.

  • Améliorer l'isolation des ressources et les stratégies de planification pour prendre en charge des millions de tables dans un seul cluster.

🔹 Amélioration des schémas et des clés primaires

  • Mise en œuvre de la déduplication globale des clés primaires (Global PK Dedup) pour garantir la cohérence et l'unicité des données.

  • Prise en charge d'une gestion flexible des schémas (ajout/suppression de colonnes, remplissage des sauvegardes).

  • Autoriser les valeurs NULL dans les champs vectoriels.

Types de données non structurées étendus (BLOB / Texte)

  • Introduction du type BLOB, qui fournit un stockage et un référencement natifs pour les données binaires telles que les fichiers, les images et les vidéos.

  • Introduire le type TEXT, qui offre des capacités améliorées de recherche en texte intégral et de recherche basée sur le contenu.

🔹 Capacités d'entreprise

  • Prise en charge de la sauvegarde et de la restauration basées sur des instantanés.

  • Fournir un traçage de bout en bout et une journalisation d'audit.

  • Mise en œuvre de la haute disponibilité (HA) en mode actif-standby dans les déploiements multi-clusters.

🔹 Vector Lake (v0.2)

  • Prise en charge du stockage TEXT / BLOB et de la gestion des instantanés multi-version.

  • Intégration de Spark pour l'indexation hors ligne, le clustering, la déduplication et les tâches de réduction de la dimensionnalité.

  • Fournir des démonstrations de ChatPDF pour les requêtes à froid et les benchmarks hors ligne.

Milvus v3.1 (vision à long terme)

Calendrier : Mi-2026

Focus : Fonctions définies par l'utilisateur (UDF), intégration de l'informatique distribuée, optimisation des requêtes scalaires, sharding dynamique et sortie officielle de Vector Lake (v1.0).

🎯 Points forts

🔹 Écosystème UDF et informatique distribuée

  • Prise en charge des fonctions définies par l'utilisateur (UDF), permettant aux développeurs d'injecter une logique personnalisée dans les flux de travail d'extraction et de calcul.

  • Intégration approfondie avec Ray Dataset / Daft pour l'exécution distribuée des UDF et le traitement multimodal des données.

🔹 Requête scalaire et évolution du format local

  • Optimisation des performances de filtrage et d'agrégation pour les champs scalaires.

  • Amélioration de l'évaluation des expressions et de l'exécution accélérée par l'index.

  • Prise en charge des mises à jour sur place pour les formats de fichiers locaux.

🔹 Capacités de recherche avancée

  • Ajout des fonctionnalités suivantes : Requêtes RankBy, OrderBy, Facet et Fuzzy match.

  • Améliorez la recherche de texte en prenant en charge :

    • match_phrase_prefix

    • Completion Suggester

    • Term Suggester

    • Phrase Suggester

🔹 Dynamic Sharding & Scalability (partage dynamique et évolutivité)

  • Permet le fractionnement automatique des fichiers et l'équilibrage de la charge pour une mise à l'échelle transparente.

  • Améliorez la création d'index globaux et garantissez les performances de la recherche distribuée.

🔹 Vector Lake V1.0

  • Intégration approfondie avec Ray / Daft / PyTorch pour prendre en charge les UDF distribués et les cas d'utilisation de l'ingénierie contextuelle.

  • Fournit des démonstrations RAG (Retrieval-Augmented Generation) et l'importation de tables Iceberg.

🤝 Co-construire l'avenir de Milvus

Milvus est un projet open-source mené par une communauté mondiale de développeurs.

Nous invitons chaleureusement tous les membres de la communauté à contribuer à façonner la base de données multimodale de nouvelle génération :

  • 💬 Partagez vos commentaires: Proposer de nouvelles fonctionnalités ou des idées d'optimisation

  • 🐛 S ignaler des problèmes: Déposer des bogues via GitHub Issues

  • 🔧 Contribuer au code: Soumettre des PRs et aider à construire des fonctionnalités de base

    • Pull requests: Contribuez directement à notre base de code. Qu'il s'agisse de corriger des bogues, d'ajouter des fonctionnalités ou d'améliorer la documentation, vos contributions sont les bienvenues.

    • Guide de développement: Consultez notre Guide du contributeur pour connaître les directives relatives aux contributions au code.

  • ⭐ Faites passer le message: partagez les meilleures pratiques et les réussites.

👉 GitHub : milvus-io/milvus