Сайт моей компании использует базу данных PostgreSQL. В нашем центре обработки данных у нас есть главная БД и несколько подчиненных БД только для чтения, и мы используем Londiste для непрерывной репликации между ними.
Я хотел бы настроить другую подчиненную БД только для чтения для целей отчетности, и я хотел бы, чтобы эта подчиненная база данных находилась в удаленном месте (за пределами центра обработки данных). Это подчиненное устройство не должно быть на 100% обновленным. Если это до 24 часов, это нормально. Кроме того, я хотел бы свести к минимуму нагрузку на главную БД. Поскольку наша главная БД занята днем и простаивает ночью, я считаю хорошей идеей (если возможно) заставлять отчетный ведомый догонять один раз каждую ночь.
Я думаю об использовании доставки журналов для этого, как описано на http://www.postgresql.org/docs/8.4/static/continuous-archiving.html
Мой план:
- Setup WAL archiving on the master DB
- Produce a full DB snapshot and copy it to the remote location
- Restore the DB and get it caught up
- Go into steady state where:
- DAYTIME -- the DB falls behind but people can query it
- NIGHT -- I copy over the day's worth of WAL files and get the DB caught up
Примечание: главное здесь то, что мне нужно только один раз скопировать полный моментальный снимок БД. После этого мне нужно будет только скопировать дневные файлы WAL, чтобы снова догнать удаленное ведомое устройство.
Поскольку я еще не занимался доставкой журналов, я хотел бы получить отзыв / совет.
Будет ли это работать? Поддерживает ли PostgreSQL такое повторное восстановление?
Есть ли у вас другие предложения по настройке удаленного полусвежего подчиненного устройства только для чтения?
Спасибо!
--S