Инженерный взгляд: почему Milvus — привлекательный вариант для ваших приложений?
Векторные базы данных необходимы для современного управления данными и широко используются при создании приложений — от рекомендательных систем и чат-ботов до искусственного общего интеллекта (AGI) и retrieval augmented generation (RAG). В этой динамичной среде Milvus является первопроходцем, а его недавний релиз, Milvus 2.3, представляет множество интересных новых функций и улучшений.
В этом блоге мы рассмотрим Milvus 2.3 с инженерной точки зрения и поделимся соображениями о том, почему Milvus 2.3 является отличным выбором для новичков и существующих пользователей с трех ключевых сторон: выбора базы данных, опыта разработки и надежности системы.
Баланс производительности, стоимости и масштабируемости
При выборе векторной базы данных большинство пользователей учитывают три основных фактора: производительность, стоимость и масштабируемость. Предыдущая серия Milvus 2.x ставила во главу угла масштабируемость, делая их адаптируемыми к различным средам и способными хранить и искать миллиарды векторов. Milvus 2.3 идет еще дальше в оптимизации масштабирования, обеспечивая плавный переход от миллионов к миллиардам векторов благодаря своему облачно-нативному разделению хранения и вычислений.
Milvus 2.3 также предоставляет пользователям несколько вариантов развертывания с учетом производительности и стоимости, включая варианты docker для GPU, CPU (ARM64 и x86), а также варианты Kubernetes (Milvus Operator и Helm).
Пользователи, для которых производительность является приоритетом, могут выбрать Milvus 2.3 с docker для GPU, что обеспечивает производительность в 3–10 раз выше, чем вариант с CPU.
Пользователи, чувствительные к стоимости, могут выбрать вариант Milvus для ARM64, который более бюджетен, сохраняя при этом приемлемую производительность.
Milvus 2.3 также поддерживает MMap — системный вызов UNIX, который отображает файлы и другие объекты в память, тем самым значительно увеличивая емкость данных на одной машине при сниженных затратах. Согласно результатам нашего тестирования, при поддержке MMap Milvus может удвоить емкость данных, ограничив снижение производительности пределами 20%. Мы продолжим оптимизировать эту функцию в предстоящей версии Milvus 2.3.1, стремясь увеличить емкость данных до 20 раз по сравнению с текущей.
Предоставление разработчикам простоты
Современным приложениям требуется больше, чем базовые функции векторного поиска, такие как вставка, удаление и извлечение. Например, разным приложениям нужны разные запросы, такие как top-k векторные запросы, запросы на основе расстояния и запросы с фильтрацией по атрибутам. Кроме того, этим приложениям могут потребоваться другие методы для вычисления векторного расстояния, включая евклидово расстояние (L2), скалярное произведение (IP) и косинусное сходство (COSINE).
Milvus 2.3 улучшил свой API, чтобы удовлетворить все эти разнообразные требования, сделав разработку более простой. Например, новая функция upsert упрощает управление данными, объединяя вставку и обновление данных в одну строку кода. Индекс ScaNN обеспечивает высокопроизводительное индексирование, предлагая более высокую скорость запросов, чем старые версии.
Milvus также поддерживает интеграцию данных с другими продуктами, предоставляя инструменты миграции и возможности инкрементального захвата данных для упрощения управления данными.
Обеспечение стабильности и доступности на уровне секунд
Milvus доказал свою надежность и доступность для производственных сред благодаря постоянной оптимизации.
В серии 2.1.x была представлена репликация памяти, что значительно повысило стабильность системы. Серия 2.2.x добавила возможности изоляции сбоев для групп ресурсов, повысив отказоустойчивость системы. Развивая успехи предыдущих версий, Milvus 2.3 представляет Look Aside Load Balancer, который обеспечивает еще более быстрое обнаружение событий узлов и гарантирует переключение при отказе и расширение ресурсов на уровне секунд.
Milvus 2.3 также включает улучшенное управление памятью, усовершенствованные последовательные обновления и поддержку большего числа таблиц в одном кластере, что приводит к дополнительному повышению общей стабильности системы.
Заключение
В быстро развивающейся сфере векторных баз данных Milvus 2.3 выделяется как образец совершенства. Он предлагает всё, что нужно пользователям в современной векторной базе данных: высокую производительность, масштабируемость, доступность, стабильность и экономическую эффективность.
По мере того как технологии продолжают развиваться, развивается и Milvus. Мы продолжим неустанно оптимизировать Milvus и внедрять передовые функции в будущих версиях, такие как удаление по выражениям, бесшовное развертывание в облаке Azure, расширенная поддержка массивов, оптимизация значений по умолчанию/null и динамическое добавление столбцов. Следите за новостями.
Это путешествие — не то, в которое мы отправляемся в одиночку. Мы приглашаем всё сообщество активно изучать Milvus, делиться своими идеями и вносить вклад в дальнейшую эволюцию этой замечательной технологии.
Читать далее

The Real Bottlenecks in Autonomous Driving — And How AI Infrastructure Can Solve Them
Autonomous driving faces a data bottleneck. Learn how AI-native vector databases like Zilliz solve scale, cost, and insight challenges across AV pipelines.

VidTok: Rethinking Video Processing with Compact Tokenization
VidTok tokenizes videos to reduce redundancy while preserving spatial and temporal details for efficient processing.

Proactive Monitoring for Vector Database: Zilliz Cloud Integrates with Datadog
we're excited to announce Zilliz Cloud's integration with Datadog, enabling comprehensive monitoring and observability for your vectorDB deployments.



