Перенос существующих коллекций Cosmosdb в Автопилот - PullRequest
0 голосов
/ 10 января 2020

У меня есть несколько существующих коллекций с ручной подготовкой RU, которые я хотел бы перенести на управляемый Autopilot, чтобы лучше автоматически обрабатывать меняющиеся уровни спроса.

Коллекции содержат много ГБ исторических временных рядов данных, и у меня не может быть простоев, когда новые или исторические данные недоступны для клиентов. Я также должен убедиться, что данные не будут потеряны во время миграции

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

Для миграции я подумал о следующем: 1. Создать новую коллекцию автопилота 2. Изменить сервис для запроса как старой, так и новой коллекции и дедуплицировать любые данные, присутствующие в обоих 3. Перенаправить загрузку данных в новую коллекция 4. Используйте ADF (Azure фабрика данных), чтобы скопировать содержимое старой коллекции в новый Autopilot 5. Обновите сервис, чтобы запросить только новую коллекцию 6. Удалите старую коллекцию.

Это лучшая стратегия миграции, или есть альтернативный подход, который обеспечил бы лучшее качество обслуживания клиентов, или было бы меньше работы?

1 Ответ

0 голосов
/ 10 января 2020

В режиме предварительного просмотра вам нужно будет вручную перенести данные в контейнеры AutoPilot. Как только мы проведем GA, мы планируем разрешить клиентам беспрепятственно переносить контейнеры с обычной пропускной способности на AutoPilot.

Для сценария, который вы описываете, мне проще использовать ChangeFeed, когда мне нужно выполнить миграцию практически без простоев. Создайте новый сконфигурированный контейнер AutoPilot, затем создайте функцию Azure, используя привязки Cosmos DB для чтения из исходного контейнера и записи в новый контейнер AutoPilot, чтобы данные оставались синхронизированными c.

Переписать приложения-потребители, чтобы использовать новый контейнер и сценарии массовой загрузки для записи в новый контейнер. Как только это будет сделано, разверните изменения. Мне нравится использовать слоты для веб-приложений (или что вы выбираете) для нулевого или почти нулевого времени простоя.

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

Надеюсь, это поможет.

...