Зеркальное отображение базы данных / Потоковая репликация Postgres - PullRequest
11 голосов
/ 02 июня 2011

Я не администратор базы данных;Я являюсь основным разработчиком приложения на основе базы данных предприятия.

В настоящее время я предоставляю несколько новых машин для обновления нашей существующей корпоративной базы данных.В настоящее время мы запускаем Postgres 8.4 с базой данных на нашем сайте DR, которая через определенные промежутки времени получает обновления посредством некоторой пользовательской работы по rsync, которую выполнял бывший сотрудник.

Одна из основных проблем, которую мы пытаемся решить, - это задержка между двумяглобальные офисы.У нас есть сотрудники в Нью-Йорке и сотрудники в Лондоне.В настоящее время лондонские сотрудники терпят судьбу нашего VPN-канала.Я не в состоянии изменить эту инфраструктуру.

Я хотел бы перейти на Postgres 9 и настроить потоковую репликацию.Раб находился в лондонском офисе, что облегчало бы проблемы с чтением для пользователей.Проблема, которую я предвижу, - это запись в ведомое устройство (не знаю, как PG справляется с этим, насколько я понимаю, ведомое устройство находится в режиме только для чтения).В идеале записи должны отправляться мастеру в Нью-Йорке (записи из Лондона очень редки, но необходимы) самой базой данных.Кроме того, я могу настроить Fallover, чтобы он действовал как резервная копия с горячей заменой (заменяя DR).Опять же, все содержится в конфигурации Postgres без дополнительного кода.

Это мое идеализированное решение.Как далеко я?Это вообще возможно?

Я немного ошеломлен широтой этой темы, и Google на самом деле не помогает мне.Я был бы признателен за любые советы от некоторых опытных администраторов баз данных, с анекдотами, соответствующей документацией или примерами.

В настоящее время мы используем SQLAlchemy в качестве основного интерфейса к базе данных, если это актуально.Это значит, что мы не привязаны к Postgres.

Спасибо всем.

Ответы [ 2 ]

10 голосов
/ 02 июня 2011

pgpool-II может справиться с этим для вашего: enter image description here

Проверьте этот пример .

2 голосов
/ 02 июня 2011

Документация PostgreSQL 9 дает хороший обзор доступных опций.

http://www.postgresql.org/docs/9.0/static/different-replication-solutions.html

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

...