Прямо сейчас мы используем PostgreSQL 8.3 (в Linux) в качестве базы данных для нашего веб-приложения Ruby on Rails.
Учитывая, что в базе данных PostgreSQL мы активно используем блокировку на уровне строк и PL / PGSQL, что мы можем использовать для защиты наших данных - я имею в виду инструменты, пакеты, сценарии, стратегии - для успешной репликации базы данных и создания комбинации с несколькими мастерами?
Я также буду признателен за предложения хозяина-раба.
Например, если я поставлю несколько серверов приложений под управлением Apache / Ruby для достижения более высокой производительности и в конце разверну несколько серверов баз данных, есть ли способ создать репликацию с несколькими мастерами в PostgreSQL?
Сейчас мы используем механизм PostgreSQL WAL для резервного копирования данных в файловую систему.
Большое спасибо.





Мне казалось, что Postgres-R выглядит многообещающе, однако он все еще находится в разработке.
Предполагалось, что он был стабилизирован и был задуман как потенциал для интеграции со стандартным выпуском, но его еще не удалось реализовать.
Вы можете посмотреть бездельник.
Есть несколько инструментов для сценариев главный-подчиненный (и главный-мульти-подчиненный), обычно основанных на триггерах. Slony-I уже упоминался (стабильный и надежный, но немного сложный в эксплуатации). У людей проблемы со Slony - писал я Londiste (команда Skype) и PyReplica. Ба, и я только что заметил Мамонт имеет открытый исходный код
Для мультимастера есть Bucardo (примечание: не то чтобы отполировать) или коммерческие предложения - например, Континент или CyberTec.
Если вы еще этого не сделали, я бы посоветовал взглянуть на главу Высокая доступность, балансировка нагрузки и репликация в руководстве PostgreSQL. Он дает четкий обзор доступных методов и их функций.
Поздний ответ, но есть новое программное обеспечение с открытым исходным кодом для асинхронной репликации мастер-мастер PostgreSQL (также работает для MySQL): рубин
Основное внимание уделяется простой настройке. Раскрытие: я написал это.
Кажется, что его больше не поддерживают очень активно, что очень досадно.
PGCluster выглядит многообещающе - мы используем его в ограниченных ситуациях без особых проблем.
Хм, Bucardo действительно хорош и стабилен по сравнению с другими здесь. Он настолько совершенен, насколько может быть система репликации на основе Perl, и поддерживает репликацию главный-подчиненный, а также множественную репликацию с интересными концепциями разрешения конфликтов.
Если вам нужен простой мастер-подчиненный, я бы порекомендовал Londiste, но для потребностей с несколькими мастерами Bucardo - единственное приемлемое решение.
Однако это не так просто, как кажется.