pg_dump из службы Azure Postgres, которая содержит большой набор данных.

Мы сталкиваемся с хорошо известными проблемами эффективности pg_dumps с точки зрения скорости. В настоящее время у нас есть PostgreSQL, размещенный на Azure, в котором хранятся наши ресурсы, которые создаются/обновляются SmileCDR. Каким-то образом через три месяца он становится больше за счет сохранения FHIR-объектов. Теперь мы хотим иметь совершенно новую среду; в этом случае постоянные данные в PostgreSQL должны быть удалены, а новая база данных должна быть инициирована со старым набором данных.

Обратите внимание.

  1. pg_dump занимает гораздо больше времени, почти сутки. Как можно ускорить процесс резервного копирования-восстановления?
  2. Какие альтернативы мы могли бы использовать и применять в то время как pg_dump для достижения цели?

Важные примечания.

  • Flyway, используемый SmileCDR для управления версиями в PostgreSQL.
  • Приходится копировать все со старого на новый.
  • Версия PostgreSQL — 11, 2 виртуальных ядра, хранилище 100 ГБ.
  • Объекты FHIR хранятся в PostgreSQL.
  • Некоторые предложения, такие как несколько заданий, без сжатия, формат каталога, практиковались, но это не оказало существенного влияния.

person nurisezgin    schedule 04.03.2021    source источник


Ответы (1)


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

Лучшее, что вы можете сделать, это создать дамп формата каталога со многими процессами; который будет читать данные параллельно везде, где это возможно:

pg_dump -F d -j 6 -f backupdir -h ... -p ... -U ... dbname

В этом примере я указал 6 процессов для параллельного выполнения. Это ускорит обработку, если у вас есть только одна большая таблица, а все остальные довольно маленькие.

person Laurenz Albe    schedule 04.03.2021
comment
Привет Лоренц, спасибо за ваш ответ. При таком подходе мы не получили значительных улучшений в плане создания резервной копии. Мы ищем предоставленные Azure утилиты для резервного копирования. Спасибо - person nurisezgin; 04.03.2021
comment
Конечно. Обратите внимание, однако, что спрашивать рекомендации по утилитам не по теме. - person Laurenz Albe; 04.03.2021