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

0

Я хочу "реплицировать" базу данных на внешнюю службу. Для этого я мог бы просто скопировать всю базу данных (SELECT * FROM TABLE).

Если какие-то изменения сделаны (INSERT, UPDATE, DELETE), мне нужно снова загрузить всю базу данных или файл журнала, описывающий эти операции?

Спасибо!

Показать ещё 1 комментарий
Теги:
database
replication

2 ответа

2
Лучший ответ

Похоже, что ваша "внешняя служба" - это не просто другая база данных, поэтому традиционная репликация может не сработать для вас. Более подробная информация об этой услуге будет замечательной, поэтому мы можем настроить ответы. В зависимости от того, как долго вы должны получать данные на свои внешние сервисы и требования к производительности вашего приложения, некоторые основные параметры:

  • Триггеры: добавьте триггеры INSERT/UPDATE/DELETE обновить внешний сервис данные при изменении данных (это может быть грубой на вашем приложении но обеспечивают данные в реальном времени для вашего внешнего сервис)
  • Обработка журнала: вы можете анализировать изменения из журналов и использовать некоторый уровень ETL, чтобы убедиться, что они будут корректно работать в вашем хранилище данных внешних сервисов. Я бы не рекомендовал вникать в это, если вы не знакомы с их структурой для вашей конкретной СУБД.
  • Инкрементные разности: вы можете использовать diff на некотором интервале (например, 3 раза в день, например) и выполнить задание cron или запланированное задание script, которое перемещает все данные в большой части. Это приоритизирует производительность вашего приложения над внешней службой.

Если вы выберете триггеры, вы сможете настроить существующее решение для репликации на основе триггеров, чтобы обновить внешнюю службу. Я не использовал их, поэтому я понятия не имею, насколько это безумие, просто идея. Некоторые примеры: Bucardo и Slony.

0

Существует множество способов репликации базы данных PostgreSQL. В текущей версии 9.0 PostgreSQL Global Development Group представила на новый уровень две новые функции Rock Hot Replby и Streaming Replication, поместив PostgreSQL на новый уровень и представив встроенное решение.

В вики есть завершенный обзор новых функций PostgreSQL-9.0: http://wiki.postgresql.org/wiki/PostgreSQL_9.0

Существуют и другие приложения, такие как Bucardo, Slony-I, Londiste (Skytools) и т.д., которые вы также можете использовать.

Теперь, что вы хотите сделать для обработки журнала? Что вы хотите точно? рассматривает

Ещё вопросы

Сообщество Overcoder
Наверх
Меню