Milvus представил MMap для переосмысления управления данными и увеличения возможностей хранения
Milvus — самое быстрое решение среди открытых векторных баз данных, ориентированное на пользователей с высокими требованиями к производительности. Однако разнообразие потребностей пользователей отражает разнообразие данных, с которыми они работают. Некоторые отдают приоритет бюджетным решениям и обширному хранилищу, а не максимальной скорости. Понимая этот спектр требований, Milvus представляет функцию MMap, переосмысливая подход к обработке больших объемов данных и обещая экономическую эффективность без ущерба для функциональности.
Что такое MMap?
MMap, сокращение от memory-mapped files, устраняет разрыв между файлами и памятью в операционных системах. Эта технология позволяет Milvus отображать большие файлы напрямую в адресное пространство памяти системы, преобразуя файлы в непрерывные блоки памяти. Такая интеграция устраняет необходимость в явных операциях чтения или записи, фундаментально меняя то, как Milvus управляет данными. Она обеспечивает бесшовный доступ и эффективное хранение больших файлов или ситуаций, когда пользователям требуется произвольный доступ к файлам.
Кому полезна MMap?
Векторные базы данных требуют значительного объема памяти из-за требований к хранению векторных данных. Благодаря функции MMap обработка большего объема данных при ограниченной памяти становится реальностью. Однако эта расширенная возможность имеет свою цену в виде производительности. Система интеллектуально управляет памятью, вытесняя часть данных в зависимости от нагрузки и использования. Такое вытеснение позволяет Milvus обрабатывать больше данных при том же объеме памяти.
Во время наших тестов мы наблюдали, что при достаточном объеме памяти все данные после периода прогрева находятся в памяти, сохраняя производительность системы. Однако по мере роста объема данных производительность постепенно снижается. Поэтому мы рекомендуем функцию MMap пользователям, менее чувствительным к колебаниям производительности.
Включение MMap в Milvus: простая конфигурация
Включить MMap в Milvus удивительно просто. Все, что нужно сделать, — изменить файл milvus.yaml: добавить пункт mmapDirPath в конфигурацию queryNode и указать действительный путь в качестве его значения.
Поиск баланса: производительность, хранение и системные ограничения
Шаблоны доступа к данным существенно влияют на производительность. Функция MMap в Milvus оптимизирует доступ к данным на основе локальности. MMap позволяет Milvus записывать скалярные данные напрямую на диск для сегментов данных, к которым осуществляется последовательный доступ. Данные переменной длины, такие как строки, подвергаются выравниванию и индексируются с помощью массива смещений в памяти. Такой подход обеспечивает локальность доступа к данным и устраняет накладные расходы на отдельное хранение каждого элемента данных переменной длины. Оптимизации для векторных индексов выполняются тщательно. MMap выборочно используется для векторных данных, при этом списки смежности остаются в памяти, что позволяет существенно экономить память без ущерба для производительности.
Кроме того, MMap максимизирует обработку данных за счет минимизации использования памяти. В отличие от предыдущих версий Milvus, где QueryNode копировал целые наборы данных, MMap в процессе разработки использует оптимизированный потоковый процесс без копирования. Эта оптимизация резко снижает накладные расходы памяти.
Результаты нашего внутреннего тестирования показывают, что Milvus может эффективно обрабатывать вдвое больший объем данных при включении MMap.
Дальнейший путь: непрерывные инновации и улучшения, ориентированные на пользователей
Хотя функция MMap находится на стадии бета-версии, команда Milvus привержена непрерывному совершенствованию. Будущие обновления усовершенствуют использование памяти системой, позволяя Milvus поддерживать еще более обширные объемы данных на одном узле. Пользователи могут ожидать более детального контроля над функцией MMap, включая динамические изменения коллекций и расширенные режимы загрузки полей. Эти улучшения обеспечивают беспрецедентную гибкость, позволяя пользователям адаптировать свои стратегии обработки данных под конкретные требования.
Заключение: переосмысление совершенства обработки данных с Milvus MMap
Функция MMap в Milvus 2.3 знаменует собой значительный скачок в технологии обработки данных. Обеспечивая тонкий баланс между производительностью, стоимостью и системными ограничениями, Milvus позволяет пользователям эффективно и экономично обрабатывать огромные объемы данных. По мере дальнейшего развития Milvus остается на переднем крае инновационных решений, переопределяя границы достижимого в управлении данными.
Следите за новыми революционными разработками, поскольку Milvus продолжает свой путь к непревзойденному совершенству в обработке данных.
Читать далее

From Vector Database to Vector Lakebase
Zilliz offers a fully managed Vector Lakebase powered by Milvus, unifying real-time vector search, lake-scale discovery, and Al data operations.

Why AI Databases Don't Need SQL
Whether you like it or not, here's the truth: SQL is destined for decline in the era of AI.

Introducing DeepSearcher: A Local Open Source Deep Research
In contrast to OpenAI’s Deep Research, this example ran locally, using only open-source models and tools like Milvus and LangChain.



