Дорожная карта 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_prefixCompletion SuggesterTerm SuggesterPhrase 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