Дорожная карта Milvus

🌌 На пути к мультимодальной базе данных и озеру данных нового поколения

Дорожная карта продукта Milvus

Добро пожаловать в дорожную карту Milvus!

Мы вступаем в новую эру Milvus - мультимодальной базы данных следующего поколения, охватывающей структурированные и неструктурированные данные, поиск в реальном времени и автономную аналитику, производительность одного кластера и архитектуру глобального озера данных.

Эта дорожная карта описывает основные цели Milvus v2.6 (в процессе разработки), Milvus v3.0 (запланирована на конец 2026 года) и Milvus v3.1 (долгосрочная разработка), а также план развития Vector Lake (озеро данных / Loon).

Milvus v2.6 (в разработке)

Сроки: Середина 2025 - конец 2025 гг.

Фокус: Обновление модели данных, рефакторинг потоковой архитектуры, создание возможностей горячего/холодного тиринга и запуск прототипа Vector Lake (v0.1).

🎯 Основные моменты

🔹 Обновление модели данных

  • Внедрение унифицированного типа данных Tensor / StructList для поддержки многовекторных структур встраивания, что обеспечивает совместимость с ColBERT, CoLQwen, видео и мультимодальными векторами.

  • Добавлена поддержка геоданных, включая точки, регионы и пространственную индексацию (на основе libspatial), для расширения возможностей использования в LBS и GIS.

  • Поддержка Timestamp с типом данных Timezone.

🔹 Рефактор архитектуры StreamNode

  • Переработка конвейера приема потоковых данных для оптимизации инкрементной записи и вычислений в реальном времени.

  • Значительно улучшена производительность и стабильность параллелизма, заложена основа для унифицированной обработки в реальном времени и в автономном режиме.

  • Внедрение нового механизма очередей сообщений: Woodpecker.

🔹 Горячая/холодная многоуровневая архитектура и архитектура хранения данных (StorageV2)

  • Поддержка двух форматов хранения данных: Parquet и Vortex, что повышает параллелизм и эффективность использования памяти.

  • Реализация многоуровневого хранения с автоматическим разделением горячих и холодных данных и интеллектуальным планированием.

🔹 Прототип Vector Lake (v0.1)

  • Интеграция со Spark / DuckDB / DataFusion через FFI, позволяющая осуществлять эволюцию схемы в автономном режиме и выполнять KNN-запросы.

  • Обеспечивает мультимодальную визуализацию данных и демонстрацию Spark ETL, создавая фундаментальную архитектуру озера данных.

🌠 Milvus v3.0 (запланирован на начало 2026 года)

Сроки: Конец 2025 - начало 2026 гг.

Основные направления: Всесторонние улучшения в области поиска, гибкости схем и поддержки неструктурированных данных, а также выпуск Vector Lake (v0.2).

🎯 Основные моменты

🔹 Пересмотр опыта поиска

  • Внедрен поиск по сходству More Like This (MLT) с поддержкой поиска с позиционными или негативными примерами.

  • Добавлены возможности семантического поиска, такие как выделение и усиление.

  • Поддержка пользовательских словарей и таблиц синонимов, позволяющая определять лексические и семантические правила на уровне анализатора.

  • Внедрены возможности агрегирования для запросов.

🔹 Многопользовательская аренда и управление ресурсами

  • Обеспечение возможности удаления, статистики и "горячего" и "холодного" уровней для нескольких арендаторов.

  • Улучшение стратегий изоляции и планирования ресурсов для поддержки миллионов таблиц в одном кластере.

🔹 Усовершенствования схем и первичных ключей

  • Реализация глобального дедублирования первичных ключей (Global PK Dedup) для обеспечения согласованности и уникальности данных.

  • Поддержка гибкого управления схемой (добавление/удаление столбцов, резервное заполнение).

  • Разрешить значения NULL в векторных полях.

🔹 Расширенные типы неструктурированных данных (BLOB / Text)

  • Введен тип BLOB, который обеспечивает хранение и ссылки на бинарные данные, такие как файлы, изображения и видео.

  • Представлен тип TEXT, который обеспечивает расширенные возможности полнотекстового и контентного поиска.

🔹 Возможности корпоративного уровня

  • Поддержка резервного копирования и восстановления на основе моментальных снимков.

  • Обеспечивает сквозную трассировку и ведение журнала аудита.

  • Реализация высокой доступности Active-Standby (HA) в многокластерных развертываниях.

🔹 Векторное озеро (v0.2)

  • Поддержка хранения TEXT / BLOB и управление многоверсионными снимками.

  • Интеграция Spark для автономного индексирования, кластеризации, дедупликации и задач уменьшения размерности.

  • Демонстрация холодных запросов ChatPDF и автономных бенчмарков.

🪐 Milvus v3.1 (долгосрочная перспектива)

Сроки: Середина 2026 г.

Фокус: Определяемые пользователем функции (UDF), интеграция распределенных вычислений, оптимизация скалярных запросов, динамическое чередование и официальный выпуск Vector Lake (v1.0).

🎯 Основные моменты

🔹 Экосистема UDF и распределенных вычислений

  • Поддержка функций, определяемых пользователем (UDF), что позволяет разработчикам внедрять пользовательскую логику в рабочие процессы поиска и вычислений.

  • Глубокая интеграция с Ray Dataset / Daft для распределенного выполнения UDF и мультимодальной обработки данных.

🔹 Скалярные запросы и эволюция локальных форматов

  • Оптимизация производительности фильтрации и агрегации для скалярных полей.

  • Улучшение оценки выражений и ускоренное выполнение индексов.

  • Поддержка обновлений in-place для локальных форматов файлов.

🔹 Расширенные возможности поиска

  • Добавлены следующие функции: Запросы RankBy, OrderBy, Facet и Fuzzy match.

  • Усовершенствованный поиск текста с поддержкой:

    • match_phrase_prefix

    • Completion Suggester

    • Term Suggester

    • Phrase Suggester

🔹 Динамическое чередование и масштабируемость

  • Автоматическое разбиение на шарды и балансировка нагрузки для плавного масштабирования.

  • Улучшение построения глобального индекса и обеспечение производительности распределенного поиска.

🔹 Vector Lake V1.0

  • Глубокая интеграция с Ray / Daft / PyTorch для поддержки распределенных UDF и использования контекстного инжиниринга.

  • Демонстрация RAG (Retrieval-Augmented Generation) и импорт из таблиц Iceberg.

🤝 Совместное построение будущего Milvus

Milvus - это проект с открытым исходным кодом, управляемый глобальным сообществом разработчиков.

Мы приглашаем всех участников сообщества принять участие в создании мультимодальной базы данных следующего поколения:

  • 💬 Делитесь отзывами: Предлагайте новые функции или идеи по оптимизации

  • 🐛 Сообщайте о проблемах: Сообщайте об ошибках через GitHub Issues

  • 🔧 Вносить код: Отправляйте PR и помогайте создавать основные функции

    • Pull requests: Вносите свой вклад непосредственно в нашу кодовую базу. Будь то исправление ошибок, добавление функций или улучшение документации, ваш вклад приветствуется.

    • Руководство по разработке: Ознакомьтесь с нашим руководством для разработчиков, чтобы узнать о правилах внесения вклада в код.

  • ⭐ Распространяйте информацию: делитесь передовым опытом и историями успеха.

👉 GitHub: milvus-io/milvus