Как сделать резервную копию Azure Cosmos DB с помощью приложения-функции Azure - PullRequest
0 голосов
/ 31 августа 2018

Проблема:

Я пытаюсь создать решение для резервного копирования для Azure Cosmos DB, которое регулярно дает нам дампы БД на случай, если мы программным образом повредим данные в нашей базе данных. Проблема в том, что фабрика данных еще не существует для Azure Германия, и мы не можем полагаться на автоматическое резервное копирование из Azure (которое доступно только в течение 8 часов). Я не хочу использовать какие-либо дополнительные приложения вне облака.

Что я нашел до сих пор:

https://www.npmjs.com/package/mongo-dump-stream

Mongo Dump Stream должен иметь возможность подключаться к нашей БД и читать из нее.

Моя идея - использовать этот npm из функций Azure и отправить результат дампа в хранилище BLOB-объектов.

Мой вопрос:

Как отправить результат в хранилище BLOB-объектов?

Можете ли вы привести пример для конкретной реализации?

1 Ответ

0 голосов
/ 01 сентября 2018

Вот идея:

Не создавайте резервную копию для всей коллекции, но для изменений (дельта) и сохраняйте изменения, произошедшие со временем. Позже вы сможете реализовать механизм восстановления, который будет проходить через дельта-файлы.

Вот как выглядит реализация как концепция, но только для запрошенного вами механизма резервного копирования:

enter image description here

Здесь является посвященным репо для этого. Я также добавил сценарий командной строки Azure, чтобы помочь вам быстро воспроизвести мою идею в вашем клиенте Azure.

Общее описание:

  1. Зависимости: azure-storage, unix-timestamp, documentdb
  2. У меня есть функция, запускаемая по времени. Частота создает капли, названные отметкой даты и времени.
  3. Я храню последнее время импорта в таблице хранения.
  4. Для получения дельты я использую поле _ts любого документа в CosmosDb.

Преимущества этого подхода:

  1. delta-s легче и быстрее импортируются / резервируются
  2. Вы можете установить частоту генерации дельты
  3. при восстановлении вы можете видеть базу данных в разных состояниях

Недостатки:

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