Стратегии репликации PostgreSQL - PullRequest
11 голосов
/ 08 января 2009

В настоящее время мы используем PostgreSQL 8.3 (в Linux) в качестве серверной базы данных для нашего веб-приложения Ruby on Rails.

Учитывая, что в базе данных PostgreSQL мы активно используем блокировку на уровне строк и PL / PGSQL, что мы можем использовать для защиты наших данных - я имею в виду инструменты, пакеты, сценарии, стратегии - для успешной репликации базы данных и построения мультимастера сочетание

Я буду признателен за предложения мастер-раб.

Например, если я установил несколько серверов приложений под управлением Apache / Ruby для достижения более высокой производительности и в конце развернул несколько серверов баз данных, есть ли способ построить репликацию с несколькими хозяевами в PostgreSQL?

Сейчас мы используем механизм PostgreSQL WAL для резервного копирования данных в файловую систему.

Большое спасибо.

Ответы [ 7 ]

12 голосов
/ 08 января 2009

Существует несколько инструментов для сценариев «ведущий-ведомый» (и «ведущий-мультислав»), обычно основанных на триггерах Slony-I уже упоминался (стабилен и прочен, но немного сложен в эксплуатации). Люди, имеющие проблемы со Slony - я написал Londiste (по команде Skype) и PyReplica . Ба, и я только что заметил Мамонт с открытым исходным кодом

Для мультимастера есть Bucardo (примечание: это не то, что отполировано) или коммерческие предложения - например, Continuent или CyberTec .

7 голосов
/ 08 января 2009

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

2 голосов
/ 25 ноября 2009

Хм, Bucardo действительно хорош и стабилен, по сравнению с другими здесь. Он настолько же совершенен, как и система репликации на основе Perl, и поддерживает репликацию master-slave и multi-master с интересными концепциями разрешения конфликтов.

Если вам нужен простой представитель ведущий-ведомый, я бы порекомендовал Londiste, но для нужд нескольких мастеров, Bucardo - единственное приемлемое решение, IMHO.

1 голос
/ 08 мая 2009

Поздний ответ, но есть новое программное обеспечение с открытым исходным кодом для асинхронной репликации мастер-мастер PostgreSQL (также работает для MySQL): rubyrep

Фокус на легкой установке. Раскрытие: я написал это.

1 голос
/ 08 января 2009

Я хотя бы Postgres-R выглядел многообещающе, однако, он все еще находится в разработке.

Предполагалось, что он стабилизирован и подразумевает потенциальную возможность интеграции со стандартным вопросом, но его еще не осуществили.

0 голосов
/ 14 сентября 2009

PGCluster выглядит многообещающе - мы используем его в ограниченных ситуациях без особых проблем.

http://pgfoundry.org/projects/pgcluster/

0 голосов
/ 08 января 2009

Вы можете взглянуть на slony .

...