Репликация базы данных

Существует ли какой-либо встроенный или легко поддерживаемый способ репликации базы данных в удалённое расположение для создания копии данных с низким RPO? Выгрузка всей базы данных в файл становится неудобной, если требуется выполнять резервное копирование чаще одного раза в день.

Есть ли причина, по которой резервного копирования в хранилище S3 недостаточно?

Это, безусловно, работает, но, насколько я знаю, процесс тот же, что и при локальном резервном копировании: при каждом запуске резервного копирования вся база данных записывается в файл, а затем этот файл передаётся в S3. Если мне нужен RPO менее 15 минут, это действительно не самое подходящее решение.

Вы можете запустить внешний экземпляр PostgreSQL с необходимой репликацией для вашего сценария использования и указать Discourse подключаться к нему, следуя руководству Запуск Discourse с отдельным сервером PostgreSQL.

Таким образом, всё будет под вашим контролем, и вы сможете использовать стандартные инструменты и функции PostgreSQL.

2 лайка

Отлично, спасибо за ссылку.

Есть ли какие-либо подводные камни при выполнении этого, когда наступит время обновлять базу данных? Я знаю, что при стандартной установке Discourse обычно пытается обрабатывать это самостоятельно, так что нужно ли обновлять базу данных перед пересборкой Discourse, требующей новой версии БД? Или же нужно будет обновлять БД после Discourse?

1 лайк

Вы будете отвечать за такие задачи, как обновление PostgreSQL и соблюдение поддерживаемой нами основной версии. Если это не входит в вашу компетенцию, существуют альтернативы с размещением, например AWS RDS, которые упрощают процесс. Однако имейте в виду, что стоимость может быстро превысить затраты на использование нашего хостинга, который берет на себя управление всем стеком технологий.

1 лайк