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

milvus-logo
LFAI
Главная
  • Миграция Мильвуса
  • Home
  • Docs
  • Миграция Мильвуса

  • Из Milvus 1.x

С Milvus 1.x

В этом руководстве представлен полный пошаговый процесс переноса данных с Milvus 1.x (включая 0.9.x и выше) на Milvus 2.x. Следуя этому руководству, вы сможете эффективно перенести свои данные, используя расширенные возможности Milvus 2.x и улучшенную производительность.

Необходимые условия

Экспорт метаданных исходной установки Milvus

Чтобы подготовить данные миграции для Milvus 0.9.x - 1.x, остановите исходный Milvus или, по крайней мере, прекратите выполнять в нем любые операции DML.

  1. Экспортируйте метаданные исходной установки Milvus на meta.json.

    • Для инсталляций, использующих MySQL в качестве бэкенда, выполните команду
    ./milvus-migration export -m "user:password@tcp(adderss)/milvus?charset=utf8mb4&parseTime=True&loc=Local" -o outputDir
    
    • Для установок, использующих SQLite в качестве бэкенда, выполните команду
    ./milvus-migration export -s /milvus/db/meta.sqlite -o outputDir
    
  2. Скопируйте папку tables вашей установки Milvus, затем переместите папки meta.json и tables в пустую папку.

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

    migration_data
    ├── meta.json
    └── tables
    
  3. Загрузите папку, подготовленную на предыдущем шаге, в ведро блочного хранилища S3 или напрямую используйте эту локальную папку в следующем разделе.

Настройка файла миграции

Сохраните пример файла конфигурации миграции как migration.yaml и измените конфигурацию в соответствии с вашими реальными условиями. Вы можете поместить файл конфигурации в любой локальный каталог.

dumper:
  worker:
    limit: 2
    workMode: milvus1x
    reader:
      bufferSize: 1024
    writer:
      bufferSize: 1024
loader:
  worker:
    limit: 16
meta:
  mode: local
  localFile: /outputDir/test/meta.json
source:
  mode: local
  local:
    tablesDir: /db/tables/
target:
  mode: remote
  remote:
    outputDir: "migration/test/xx"
    ak: xxxx
    sk: xxxx
    cloud: aws
    region: us-west-2
    bucket: xxxxx
    useIAM: true
    checkBucket: false
  milvus2x:
    endpoint: "{yourMilvus2_xServerAddress}:{port}"
    username: xxxx
    password: xxxx

В следующей таблице описаны параметры в файле конфигурации примера. Полный список конфигураций см. в разделе Миграция Milvus: Milvus1.x - Milvus 2.x.

  • dumper

    ПараметрОписание
    dumper.worker.limitПараметр параллельности потоков дампера.
    dumper.worker.workModeРежим работы задания миграции. Установите значение milvus1x при миграции с Milvus 1.x.
    dumper.worker.reader.bufferSizeРазмер буфера для чтения из Milvus 1.x в каждом пакете. Единица измерения: КБ.
    dumper.worker.writer.bufferSizeРазмер буфера для записи в Milvus 2.x в каждом пакете. Единицы измерения: КБ.
  • loader

    ПараметрОписание
    loader.worker.limitПараметр параллельности потоков загрузчика.
  • meta

    ПараметрОписание
    meta.modeУказывает, откуда считывается метафайл meta.json. Допустимые значения: local, remote, mysql, sqlite.
    meta.localFileПуть к локальной директории, в которой находится файл meta.json. Этот конфиг используется только в том случае, если для meta.mode установлено значение local. О других конфигурациях метафайлов читайте в README_1X.
  • source

    ПараметрОписание
    source.modeУказывает, откуда считываются исходные файлы. Допустимые значения:
    - local: считывает файлы с локального диска.
    - remote: считывает файлы с удаленного хранилища.
    source.local.tablesDirПуть к каталогу, в котором находятся исходные файлы. Например, /db/tables/.
  • target

    ПараметрОписание
    target.modeМесто хранения сброшенных файлов. Допустимые значения:
    - local: Хранить файлы дампа на локальных дисках.
    - remote: Хранить файлы дампа в объектном хранилище.
    target.remote.outputDirПуть к выходному каталогу в облачном хранилище.
    target.remote.akКлюч доступа для хранилища Milvus 2.x.
    target.remote.skСекретный ключ для хранилища Milvus 2.x.
    target.remote.cloudПоставщик услуг облачного хранилища. Примерные значения: aws, gcp, azure.
    target.remote.regionРегион облачного хранилища. Может быть любым значением, если вы используете локальное MinIO.
    target.remote.bucketИмя ведра для хранения данных. Значение должно совпадать с конфигом в Milvus 2.x. Дополнительные сведения см. в разделе Конфигурации системы.
    target.remote.useIAMИспользовать ли IAM-роль для подключения.
    target.remote.checkBucketПроверять, существует ли указанный бакет в хранилище объектов.
    target.milvus2x.endpointАдрес целевого сервера Milvus.
    target.milvus2x.usernameИмя пользователя для сервера Milvus 2.x. Этот параметр необходим, если на сервере Milvus включена аутентификация пользователей. Дополнительные сведения см. в разделе Включение аутентификации.
    target.milvus2x.passwordПароль для сервера Milvus 2.x. Этот параметр необходим, если для сервера Milvus включена аутентификация пользователей. Дополнительные сведения см. в разделе Включить аутентификацию.

Запуск задачи миграции

  1. Запустите задачу миграции с помощью следующей команды. Замените {YourConfigFilePath} на локальный каталог, в котором находится файл конфигурации migration.yaml.

    ./milvus-migration  dump  --config=/{YourConfigFilePath}/migration.yaml
    

    Приведенная выше команда преобразует исходные данные в Milvus 1.x в файлы NumPy, а затем использует операцию bulkInsert для записи данных в целевой бакет.

  2. После создания файлов NumPy импортируйте их в Milvus 2.x с помощью следующей команды. Замените {YourConfigFilePath} на локальный каталог, в котором находится файл конфигурации migration.yaml.

    ./milvus-migration  load  --config=/{YourConfigFilePath}/migration.yaml
    

Проверьте результат

После выполнения задачи миграции вы можете выполнить вызовы API или использовать Attu для просмотра количества перенесенных сущностей. Дополнительные сведения см. в разделе Attu и get_collection_stats().

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

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

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

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