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

milvus-logo
LFAI
  • Home
  • Blog
  • С какой версии Milvus начать

С какой версии Milvus начать

  • Engineering
February 19, 2024
Chris Churilo

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

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

Доступные версии Milvus

Разработчикам доступны три версии Milvus, и все они с открытым исходным кодом. Эти три версии - Milvus Lite, Milvus Standalone и Milvus Cluster - отличаются друг от друга функциями и тем, как пользователи планируют использовать Milvus в краткосрочной и долгосрочной перспективе. Итак, давайте рассмотрим их по отдельности.

Milvus Lite

Как следует из названия, Milvus Lite - это облегченная версия, которая легко интегрируется с Google Colab и Jupyter Notebook. Он упакован в виде одного бинарного файла без дополнительных зависимостей, что позволяет легко установить и запустить его на своей машине или внедрить в Python-приложения. Кроме того, Milvus Lite включает в себя автономный сервер Milvus на основе CLI, что обеспечивает гибкость при запуске непосредственно на вашем компьютере. Встраивать ли Milvus в Python-код или использовать его как отдельный сервер - зависит только от ваших предпочтений и требований конкретного приложения.

Функции и возможности

Milvus Lite включает в себя все основные функции векторного поиска Milvus.

  • Возможности поиска: Поддержка top-k, range и гибридного поиска, включая фильтрацию метаданных, для удовлетворения различных требований к поиску.

  • Типы индексов и метрики сходства: Поддерживает 11 типов индексов и пять метрик сходства, обеспечивая гибкость и возможности настройки для конкретного случая использования.

  • Обработка данных: Обеспечивает пакетную (Apache Parquet, Arrays, JSON) и потоковую обработку данных с легкой интеграцией через коннекторы для Airbyte, Apache Kafka и Apache Spark.

  • CRUD-операции: Обеспечивает полную поддержку CRUD (создание, чтение, обновление/вставка, удаление), предоставляя пользователям широкие возможности управления данными.

Области применения и ограничения

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

Доступные ресурсы

Автономный Milvus

Milvus предлагает два режима работы: Standalone и Cluster. Оба режима идентичны по основным функциям векторной базы данных и различаются по поддержке объема данных и требованиям к масштабируемости. Это различие позволяет выбрать режим, который наилучшим образом соответствует размеру вашего набора данных, объему трафика и другим требованиям к производственной инфраструктуре.

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

Особенности и возможности

  • Высокая производительность: Векторный поиск в огромных наборах данных (миллиарды и более) с исключительной скоростью и эффективностью.

  • Возможности поиска: Поддержка top-k, range и гибридного поиска, включая фильтрацию метаданных, для удовлетворения различных требований к поиску.

  • Типы индексов и метрики сходства: Поддерживает 11 типов индексов и 5 метрик сходства, обеспечивая гибкость и возможности настройки для конкретного случая использования.

  • Обработка данных: Обеспечивает как пакетную (Apache Parquet, Arrays, Json), так и потоковую обработку данных, с легкой интеграцией через коннекторы для Airbyte, Apache Kafka и Apache Spark.

  • Репликация данных и обход отказа: Встроенные функции репликации и обхода/возврата отказа обеспечивают целостность данных и доступность приложений даже во время сбоев или отказов.

  • Масштабируемость: Достигайте динамической масштабируемости с помощью масштабирования на уровне компонентов, что позволяет плавно увеличивать и уменьшать масштабы в зависимости от потребностей. Milvus может автомасштабироваться на уровне компонентов, оптимизируя распределение ресурсов для повышения эффективности.

  • Многопользовательская поддержка: Поддержка многопользовательского доступа с возможностью управления до 10 000 коллекций/разделов в кластере, обеспечивая эффективное использование ресурсов и изоляцию для различных пользователей или приложений.

  • CRUD-операции: Обеспечивает полную поддержку CRUD-операций (создание, чтение, обновление/вставка, удаление), предоставляя пользователям широкие возможности управления данными.

Основные компоненты:

  • Milvus: основной функциональный компонент.

  • etcd: Движок метаданных, отвечающий за доступ и хранение метаданных из внутренних компонентов Milvus, включая прокси, индексные узлы и многое другое.

  • MinIO: механизм хранения, отвечающий за сохранение данных в Milvus.

Рисунок 1: Автономная архитектура Milvus

Доступные ресурсы

Milvus Cluster

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

Функции и возможности

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

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

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

Основные компоненты:

Milvus Cluster включает восемь компонентов микросервисов и три сторонних зависимости. Все микросервисы могут быть развернуты на Kubernetes независимо друг от друга.

Компоненты микросервисов

  • Корневой координатор

  • Прокси

  • Координата запроса

  • Узел запросов

  • Индексный коорд

  • Индексный узел

  • Коорд данных

  • Узел данных

Сторонние зависимости

  • etcd: Хранит метаданные для различных компонентов в кластере.

  • MinIO: Отвечает за сохранение данных в больших файлах в кластере, таких как индексные и бинарные файлы журналов.

  • Pulsar: Управляет журналами последних операций мутации, выводит потоковый журнал и предоставляет сервисы публикации и подписки журналов.

Рисунок 2: Архитектура кластера Milvus

Доступные ресурсы

Принятие решения о том, какую версию Milvus использовать

Решая, какую версию Milvus использовать для своего проекта, вы должны учитывать такие факторы, как размер набора данных, объем трафика, требования к масштабируемости и ограничения производственной среды. Milvus Lite идеально подходит для создания прототипов на вашем ноутбуке. Milvus Standalone обеспечивает высокую производительность и гибкость при проведении векторного поиска в ваших наборах данных, что делает его подходящим для небольших развертываний, CI/CD и автономных развертываний, когда у вас нет поддержки Kubernetes... И наконец, Milvus Cluster обеспечивает беспрецедентную доступность, масштабируемость и оптимизацию затрат для рабочих нагрузок корпоративного уровня, что делает его предпочтительным выбором для крупномасштабных высокодоступных производственных сред.

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

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

Like the article? Spread the word

Продолжить чтение