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

milvus-logo
LFAI
Главная
  • Руководство пользователя
  • Home
  • Docs
  • Руководство пользователя

  • Коллекции

  • Коллекционирование с пояснениями

Объяснение коллекций

В Milvus вы можете создавать несколько коллекций для управления данными и вставлять данные в коллекции в виде сущностей. Коллекции и сущности похожи на таблицы и записи в реляционных базах данных. Эта страница поможет вам узнать о коллекции и связанных с ней понятиях.

Коллекция

Коллекция - это двумерная таблица с фиксированными столбцами и вариантами строк. Каждый столбец представляет собой поле, а каждая строка - сущность.

На следующей схеме показана коллекция с восемью столбцами и шестью сущностями.

Collection explained Пояснения к коллекции

Схема и поля

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

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

  • Сделать их нулевыми или установить значения по умолчанию.

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

  • Включение динамического поля

    Подробнее о том, как включить и использовать динамическое поле, читайте в разделе Динамическое поле.

Первичный ключ и AutoId

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

Как показано на диаграмме выше, поле с именем id служит первичным полем, и первый ID 0 соответствует сущности под названием "Смертность от коронавируса не важна". Других сущностей с первичным полем 0 не существует.

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

Дополнительные сведения см. в разделе Первичное поле и AutoID.

Индекс

Создание индексов по определенным полям повышает эффективность поиска. Рекомендуется создавать индексы для всех полей, на которые опирается ваш сервис, среди которых индексы для векторных полей являются обязательными.

Сущность

Сущности - это записи данных, которые имеют одинаковый набор полей в коллекции. Значения во всех полях одной строки составляют сущность.

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

Дополнительные сведения см. в разделе Объяснение схемы.

Загрузка и освобождение

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

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

Более подробную информацию см. в разделе Загрузка и освобождение.

Поиск и запросы

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

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

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

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

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

Раздел

Разделы - это подмножества коллекции, которые имеют один и тот же набор полей с родительской коллекцией, и каждый из них содержит подмножество сущностей.

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

Подробнее см. в разделе Управление разделами.

Осколки

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

Подробнее о том, как задать количество шардов, см. в разделе Создание коллекции.

Псевдоним

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

Для получения дополнительной информации см. раздел Управление псевдонимами.

Функция

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

Уровень согласованности

В распределенных системах баз данных обычно используется уровень согласованности для определения однородности данных между узлами данных и репликами. Вы можете установить отдельные уровни согласованности при создании коллекции или проведении поиска по сходству в коллекции. Применимые уровни согласованности: Strong, Bounded Staleness, Session и Eventually.

Подробные сведения об этих уровнях согласованности см. в разделе Уровень согласованности.

Ограничения

Лимиты и ограничения для коллекций см. в разделе Лимиты и ограничения.

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

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

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

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