🚀 Попробуйте Zilliz Cloud, полностью управляемый Milvus, бесплатно — ощутите 10-кратное увеличение производительности! Попробовать сейчас>

milvus-logo
LFAI
Главная
  • О Милвусе

Информация о выпуске

Узнайте, что нового появилось в Milvus! На этой странице собраны новые возможности, улучшения, известные проблемы и исправления ошибок в каждом выпуске. В этом разделе вы найдете примечания к выпуску для каждой версии после v2.5.0. Мы рекомендуем вам регулярно посещать эту страницу, чтобы узнавать об обновлениях.

v2.5.4

Дата выпуска: 23 января 2025 года

Версия MilvusВерсия Python SDKВерсия Node.js SDKВерсия Java SDK
2.5.42.5.42.5.42.5.4

Мы рады сообщить о выходе Milvus 2.5.4, в котором представлены ключевые оптимизации производительности и новые возможности, такие как изоляция PartitionKey, Sparse Index с DAAT MaxScore и улучшенные механизмы блокировки. Особое место в этом выпуске занимает поддержка 10 000 коллекций и 1 миллиона разделов, что является важной вехой для многопользовательских систем. В этой версии также исправлено множество ошибок, повышающих общую стабильность и надежность, две из которых могут привести к потере данных. Мы рекомендуем вам обновить или опробовать эту последнюю версию и ждем ваших отзывов, которые помогут нам постоянно совершенствовать Milvus!

Особенности

  • Поддержка изоляции PartitionKey для повышения производительности при использовании нескольких ключей разделов(#39245). Для получения дополнительной информации обратитесь к разделу Использование ключа раздела.
  • Sparse Index теперь поддерживает DAAT MaxScore knowhere/#1015. Дополнительные сведения см. в разделе Sparse Vector.
  • Добавлена поддержка is_null в выражении(#38931)
  • Привилегии корня могут быть настроены(#39324)

Улучшения

  • Поддержка 10K коллекций и 1 млн. разделов в одном кластере(#37630)
  • Кэшированная информация о дельте сегментов для ускорения работы координатора запросов(#39349)
  • Одновременное чтение метаданных на уровне коллекции для ускорения восстановления после сбоев(#38900)
  • Уточненная гранулярность блокировки в QueryNode(#39282),(#38907)
  • Унификация стиля за счет использования CStatus для обработки вызовов CGO NewCollection(#39303)
  • Пропущена генерация ограничителя разделов, если ни один из разделов не задан(#38911)
  • Добавлена поддержка RESTful API(#38875)(#39425)
  • Удалены ненужные Bloom-фильтры в QueryNode и DataNode для уменьшения использования памяти(#38913)
  • Ускорена загрузка данных за счет ускорения генерации, планирования и выполнения задач в QueryCoord(#38905)
  • Уменьшена блокировка в DataCoord для ускорения операций загрузки и вставки(#38904)
  • Добавлены имена первичных полей в SearchResult и QueryResults (#39222)
  • В качестве стандарта дросселирования дисковой квоты используется размер бинлога и размер индекса(#38844)
  • Оптимизировано использование памяти для полнотекстового поиска knowhere/#1011
  • Добавлен контроль версий для скалярных индексов(#39236)
  • Улучшена скорость получения информации о коллекции из RootCoord за счет исключения ненужных копий(#38902)

Исправления критических ошибок

  • Исправлены сбои при поиске по первичным ключам с индексами(#39390)
  • Исправлена потенциальная проблема потери данных, вызванная перезапуском MixCoord и одновременной промывкой(#39422)
  • Исправлена ошибка удаления, вызванная неправильным параллелизмом между задачами статистики и уплотнением L0 после перезапуска MixCoord(#39460)
  • Исправлена несовместимость скалярных инвертированных индексов при обновлении с 2.4 до 2.5(#39272)

Исправления ошибок

  • Исправлены проблемы с медленными запросами, вызванные грубой гранулярностью блокировки при загрузке нескольких столбцов(#39255)
  • Исправлена проблема, при которой использование псевдонимов могло привести к тому, что итератор обходил не ту базу данных(#39248)
  • Исправлен сбой обновления группы ресурсов при изменении базы данных(#39356)
  • Исправлена проблема, из-за которой индекс tantivy не мог удалить индексные файлы во время выпуска(#39434)
  • Исправлено медленное индексирование, вызванное слишком большим количеством потоков(#39341)
  • Исправлена проблема, из-за которой проверка дисковой квоты не пропускалась при массовом импорте(#39319)
  • Устранены проблемы с зависанием, вызванные слишком большим количеством потребителей очереди сообщений, путем ограничения параллелизма(#38915)
  • Исправлены таймауты запросов, вызванные перезапуском MixCoord во время масштабных уплотнений(#38926)
  • Исправлены проблемы с дисбалансом каналов, вызванные простоем узлов(#39200)
  • Исправлена проблема, из-за которой баланс канала мог застрять.(#39160)
  • Исправлена проблема, из-за которой проверка уровня привилегий пользовательских групп RBAC становилась неэффективной(#39224)
  • Исправлен сбой при получении количества строк в пустых индексах(#39210)
  • Исправлена некорректная оценка памяти для небольших сегментов(#38909)

v2.5.3

Дата выпуска: 13 января 2025 года

Версия MilvusВерсия Python SDKВерсия SDK для Node.jsВерсия Java SDK
2.5.32.5.32.5.32.5.4

В Milvus 2.5.3 исправлены критические ошибки и улучшена производительность, что повышает общую стабильность, надежность и удобство использования. В этой версии улучшена обработка параллелизма, усилена индексация и поиск данных, а также обновлен ряд ключевых компонентов для более надежной работы пользователей.

Исправления ошибок

  • Исправлена проблема, при которой использование фильтра IN по первичному ключу VARCHAR могло возвращать пустые результаты.(#39108)
  • Исправлена проблема параллелизма между операциями запроса и удаления, которая могла приводить к неправильным результатам.(#39054)
  • Исправлен сбой, вызванный итеративной фильтрацией, когда expr в запросе был пустым.(#39034)
  • Исправлена проблема, когда ошибка диска при обновлении конфигурации приводила к использованию настроек конфигурации по умолчанию.(#39072)
  • Исправлена потенциальная потеря удаленных данных из-за уплотнения кластера.(#39133)
  • Исправлена ошибка запроса на совпадение текста в растущих сегментах данных.(#39113)
  • Исправлены сбои при извлечении, вызванные тем, что индекс не содержал исходных данных для разреженных векторов.(#39146)
  • Исправлено возможное состояние гонки полей столбцов, вызванное одновременным выполнением запросов и загрузкой данных.(#39152)
  • Исправлены ошибки массовой вставки, когда поля nullable или default_value не были включены в данные.(#39111)

Улучшения

  • Добавлен API группы ресурсов для RESTful-интерфейса.(#39092)
  • Оптимизирована производительность извлечения данных за счет использования SIMD-методов битового набора.(#39041)
  • Используется временная метка MVCC в качестве гарантийной временной метки, если она указана.(#39019)
  • Добавлены недостающие метрики удаления.(#38747)
  • Обновлен Etcd до версии v3.5.16.(#38969)
  • Создан новый пакет Go для управления протосами.(#39128)

v2.5.2

Дата выхода: 3 января 2025 г.

Версия MilvusВерсия Python SDKВерсия SDK для Node.jsВерсия Java SDK
2.5.22.5.32.5.32.5.3

Milvus 2.5.2 поддерживает изменение максимальной длины столбцов VARCHAR и решает несколько критических проблем, связанных с параллелизмом, падениями разделов и обработкой статистики BM25 при импорте. Мы настоятельно рекомендуем обновиться до этой версии для повышения стабильности и производительности.

Улучшения

  • Генерирование журналов использования диска только в том случае, если указанный путь не существует.(#38822)
  • Добавлен параметр для настройки максимальной длины VARCHAR и восстановлено ограничение до 65 535.(#38883)
  • Поддерживается преобразование типов параметров для выражений.(#38782)

Исправления ошибок

  • Исправлены потенциальные тупики в сценариях параллелизма.(#38863)
  • Генерировался файл index_null_offset только для полей, поддерживающих нулевые значения.(#38834)
  • Исправлено использование плана извлечения после освобождения в фазе уменьшения.(#38841)
  • Распознавание выражений с заглавными буквами AND и OR.(#38928)
  • Разрешено успешное удаление разделов даже при неудачной загрузке.(#38874)
  • Исправлены проблемы с регистрацией файла статистики BM25 при импорте.(#38881)

v2.5.1

Дата выхода: 26 декабря 2024 года

Версия MilvusВерсия Python SDKВерсия SDK для Node.jsВерсия Java SDK
2.5.12.5.22.5.22.5.2

В Milvus 2.5.1 исправлен ряд ошибок, касающихся загрузки памяти, списков RBAC, балансировки узлов запросов и индексации сегментов с уплотнениями, а также улучшены веб-интерфейс и перехватчики. Мы настоятельно рекомендуем обновиться до версии 2.5.1 для повышения стабильности и надежности.

Улучшения

  • Обновление страниц коллекции и запросов в веб-интерфейсе.(#38701)

Исправления ошибок

  • Исправлены проблемы OOM путем добавления фактора памяти к оценкам загрузки.(#38722)
  • Исправлено расширение групп привилегий при перечислении политик в RootCoord.(#38760)
  • Исправлены проблемы со списком групп привилегий и коллекций.(#38738)
  • Исправлен балансировщик, чтобы избежать повторной перегрузки одного и того же узла запроса.(#38724)
  • Исправлены неожиданные задачи балансировщика, запускаемые после перезапуска QueryCoord.(#38725)
  • Исправлено обновление конфигурации нагрузки, которое не применялось к загружаемым коллекциям.(#38737)
  • Исправлен нулевой счетчик чтения при импорте данных.(#38695)
  • Исправлено декодирование юникода для JSON-ключей в выражениях.(#38653)
  • Исправлено имя БД перехватчика для alterCollectionField в 2.5. (#38663)
  • Исправлены пустые параметры индекса для запечатанных сегментов при использовании перебора BM25.(#38752)

v2.5.0

Дата выхода: 23 декабря 2024 года

Версия MilvusВерсия Python SDKВерсия SDK для Node.jsВерсия Java SDK
2.5.02.5.12.5.22.5.2

В Milvus 2.5.0 реализованы значительные улучшения, повышающие удобство использования, масштабируемость и производительность для пользователей, работающих с векторным поиском и управлением крупномасштабными данными. В этом выпуске Milvus интегрирует новые мощные функции, такие как поиск по терминам, уплотнение кластеров для оптимизации запросов и универсальная поддержка методов поиска по разреженным и плотным векторам. Усовершенствования в управлении кластерами, индексировании и обработке данных обеспечивают новые уровни гибкости и простоты использования, делая Milvus еще более надежной и удобной векторной базой данных.

Ключевые особенности

Milvus 2.5 поддерживает полнотекстовый поиск, реализованный с помощью Sparse-BM25! Эта функция является важным дополнением к сильным возможностям семантического поиска Milvus, особенно в сценариях, связанных с редкими словами или техническими терминами. В предыдущих версиях Milvus поддерживал разреженные векторы для помощи в сценариях поиска по ключевым словам. Эти разреженные векторы генерировались вне Milvus с помощью нейронных моделей, таких как SPLADEv2/BGE-M3, или статистических моделей, таких как алгоритм BM25.

Milvus 2.5, работающий на базе Tantivy, имеет встроенные анализаторы и извлечение разреженных векторов, расширяя API от получения только векторов в качестве входных данных до прямого приема текста. Статистическая информация BM25 обновляется в реальном времени по мере ввода данных, что повышает удобство использования и точность. Кроме того, разреженные векторы, основанные на алгоритмах приближенного поиска ближайших соседей (ANN), обеспечивают более высокую производительность по сравнению со стандартными системами поиска по ключевым словам.

Подробнее см. в разделах Обзор анализатора и Полнотекстовый поиск.

Веб-интерфейс управления кластерами (бета-версия)

Чтобы лучше поддерживать огромные данные и богатые возможности, сложная конструкция Milvus включает в себя различные зависимости, многочисленные роли узлов, сложные структуры данных и многое другое. Эти аспекты могут создавать проблемы при использовании и обслуживании.

В Milvus 2.5 появился встроенный WebUI для управления кластерами, который снижает сложность обслуживания системы за счет визуализации сложной информации о среде выполнения Milvus. Сюда входят сведения о базах данных и коллекциях, сегментах, каналах, зависимостях, состоянии здоровья узлов, информация о задачах, медленных запросах и многое другое.

Подробнее см. в разделе Milvus WebUI.

Текстовое соответствие

Milvus 2.5 использует анализаторы и индексацию от Tantivy для предварительной обработки текста и создания индекса, поддерживая точное сопоставление текстовых данных на естественном языке на основе определенных терминов. Эта функция в основном используется для фильтрации поиска по определенным условиям и может включать скалярную фильтрацию для уточнения результатов запроса, позволяя искать сходство в векторах, удовлетворяющих скалярным критериям.

Подробнее см. в разделах "Обзор анализатора " и "Подбор текста".

Индекс растровых изображений

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

Битовые индексы традиционно эффективны для полей с низкой кардинальностью, которые имеют небольшое количество различных значений - например, столбец, содержащий информацию о поле, имеет только два возможных значения: male и female.

Подробнее см. в разделе Растровый индекс.

Нулевое значение и значение по умолчанию

Milvus теперь поддерживает установку нулевых свойств и значений по умолчанию для скалярных полей, отличных от поля первичного ключа. Для скалярных полей, помеченных как nullable=True, пользователи могут опустить поле при вставке данных; система будет рассматривать его как нулевое значение или значение по умолчанию (если оно установлено) без возникновения ошибки.

Значения по умолчанию и свойства с возможностью обнуления обеспечивают большую гибкость Milvus. Пользователи могут использовать эту функцию для полей с неопределенными значениями при создании коллекций. Она также упрощает миграцию данных из других систем баз данных в Milvus, позволяя работать с наборами данных, содержащими нулевые значения, с сохранением исходных настроек значений по умолчанию.

Подробности см. в разделе "Нулевые значения и значения по умолчанию".

HNSW SQ/PQ/PRQ на основе Faiss

Благодаря тесному сотрудничеству с сообществом Faiss, алгоритм HNSW в Faiss был значительно улучшен как в плане функциональности, так и в плане производительности. Из соображений стабильности и удобства сопровождения Milvus 2.5 официально перенес поддержку HNSW из hnswlib в Faiss.

Основываясь на Faiss, Milvus 2.5 поддерживает несколько методов квантования в HNSW для удовлетворения потребностей различных сценариев: SQ (Scalar Quantizers), PQ (Product Quantizer) и PRQ (Product Residual Quantizer). SQ и PQ более распространены; SQ обеспечивает хорошую производительность запросов и скорость сборки, в то время как PQ предлагает лучший отзыв при том же коэффициенте сжатия. Во многих векторных базах данных обычно используется бинарное квантование, которое является простой формой квантования SQ.

PRQ - это объединение PQ и AQ (аддитивного квантования). По сравнению с PQ, он требует больше времени на сборку, но обеспечивает лучший отзыв, особенно при высокой степени сжатия, говоря о двоичном сжатии.

Кластерное уплотнение (бета-версия)

В Milvus 2.5 появилась функция Clustering Compaction для ускорения поиска и снижения затрат в больших коллекциях. При указании скалярного поля в качестве ключа кластеризации данные перераспределяются по диапазонам для оптимизации хранения и поиска. Действуя подобно глобальному индексу, эта функция позволяет Milvus эффективно отсеивать данные при запросах на основе метаданных кластеризации, повышая производительность поиска при применении скалярных фильтров.

Подробности см. в разделе "Компактификация кластеризации".

Другие возможности

Потоковый узел (бета-версия)

В Milvus 2.5 появился новый компонент, называемый потоковым узлом, который предоставляет услуги ведения журнала с опережением записи (WAL). Это позволяет Milvus достигать консенсуса до и после чтения и записи каналов, открывая новые возможности, функционал и оптимизации. Эта функция отключена по умолчанию в Milvus 2.5 и будет официально доступна в версии 3.0.

Поддержка IPv6

Milvus теперь поддерживает IPv6, что позволяет расширить возможности сетевого подключения и совместимость.

Массовый импорт CSV

В дополнение к форматам JSON и Parquet, Milvus теперь поддерживает прямой массовый импорт данных в формате CSV.

Шаблоны выражений для ускорения запросов

Milvus теперь поддерживает шаблоны выражений, что повышает эффективность разбора выражений, особенно в сценариях со сложными выражениями.

Подробности см. в разделе Шаблонизация фильтров.

Усовершенствования GroupBy

  • Настраиваемый размер группы: Добавлена поддержка указания количества записей, возвращаемых для каждой группы.
  • Гибридный поиск GroupBy: Поддерживается гибридный поиск GroupBy на основе нескольких векторных столбцов.

Усовершенствования итератора

  • Поддержка MVCC: Теперь пользователи могут использовать итераторы без последствий последующих изменений данных, таких как вставки и удаления, благодаря Multi-Version Concurrency Control (MVCC).
  • Постоянный курсор: Milvus теперь поддерживает постоянный курсор для QueryIterator, что позволяет пользователям возобновить итерацию с последней позиции после перезапуска Milvus без необходимости перезапускать весь процесс итерации.

Улучшения

Оптимизация удаления

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

Обновление зависимостей

Обновление до ETCD 3.5.16 и Pulsar 3.0.7 LTS, исправляющее существующие CVE и повышающее безопасность. Примечание: Обновление до Pulsar 3.x не совместимо с предыдущими версиями 2.x.

Для пользователей, у которых уже есть рабочее развертывание Milvus, необходимо обновить компоненты ETCD и Pulsar, прежде чем вы сможете использовать новые возможности и функции. Подробности см. в разделе Обновление Pulsar с версии 2.x до версии 3.x.

Локальное хранилище V2

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

Оптимизация разбора выражений

Улучшение разбора выражений за счет внедрения кэширования повторяющихся выражений, обновления ANTLR и оптимизации производительности клаузул NOT IN.

Улучшение производительности параллелизма DDL

Оптимизирована производительность параллелизма операций языка определения данных (DDL).

Выравнивание функций RESTful API

Согласование функциональных возможностей RESTful API с другими SDK для обеспечения согласованности.

Обновления в области безопасности и конфигурации

Поддержка TLS для защиты межузловой связи в более сложных или корпоративных средах. Подробности см. в разделе Конфигурация безопасности.

Повышение производительности уплотнения

Устранены ограничения на максимальное количество сегментов при смешанном уплотнении, теперь приоритет отдается меньшим сегментам, что повышает эффективность и ускоряет запросы к большим или фрагментированным наборам данных.

Балансировка каналов на основе баллов

Внедрена политика, которая динамически распределяет нагрузку между каналами, повышая эффективность использования ресурсов и общую стабильность в крупномасштабных развертываниях.

Попробуйте Managed Milvus бесплатно

Zilliz Cloud работает без проблем, поддерживается Milvus и в 10 раз быстрее.

Начать
Обратная связь

Была ли эта страница полезной?