Каково ваше мнение о DRBD / Heartbeat для репликации и отработки отказа для СУБД Firebird? - PullRequest
4 голосов
/ 26 октября 2009

Я изучаю возможность использования Firebird для проекта.

Однако одна потенциальная проблема - это репликация и отработка отказа, или, скорее, отсутствие (субъективного) «хорошего» решения. Есть несколько потенциальных решений, перечисленных в FAQ Firebird, но они 1) ориентированы на Windows; 2) ужасно устаревший; 3) коммерческий; или 4) не полнофункциональный.

Единственный потенциальный вариант, который я вижу, это ВОЛОКНА, и это выглядит 1) незрелым; 2) потенциально мертвый; и 3) не полнофункциональный.

Я узнал о DRBD и Heartbeat, и эти решения выглядят многообещающе. Жду ваших отзывов, если у вас уже есть 1) настройка реплицированной конфигурации Firebird; и / или 2) использовал DRBD с Firebird.

Любые "ошибки", рекомендации, советы и т.д.?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 20 марта 2012

Мы использовали DRBD / Heartbeat / Pacemaker Решение за последние 2 года для точно такой же проблемы. Поддерживать работу баз данных Firebird и аварийное переключение. Настройка на самом деле довольно проста, и у меня есть несколько советов, которые я дам вам для начала. Так что это всего лишь предложения ...

  • создайте drbd раздел, отформатируйте его и смонтируйте в / data (с кардиостимулятором, конечно)
  • поместите ваш aliases.conf в drbd partion , чтобы вам не приходилось менять aliases.conf дважды каждый раз, когда вы вносите в него изменения. Скопируйте файл aliases.conf в / data и свяжите его с /etc/firebird/2.1/aliases.conf на обоих узлах

Недостаток использования Drbd / Pacemaker в первичной / вторичной конфигурации заключается в том, что клиенты потеряют соединение , как только основной узел умрет и пока вторичный узел не работает. Придется переподключаться. Я действительно не нашел другого способа обойти это, хотя клиент firebird должен разрешать тайм-аут соединения, он никогда не работал с нашими приложениями (возможно, приложения или библиотеки, которые мы используем, на самом деле не используют тайм-аут соединения firebird).

Что касается репликации базы данных, я боюсь, что вы должны пойти по пути, который Хьюг Ван Ландегем описал или процитировал. Мы разработали такое приложение, которое работает с триггерами. Таким образом, новая строка добавляется в таблицу, триггер копирует ключ записи в другую таблицу, которая постоянно читается приложением, которое захватывает эту запись и вставляет ее в другую базу данных. Довольно некрасиво, но работает просто отлично! Я лично считаю, что Firebird следует потратить некоторое время на создание собственной системы репликации базы данных ... они действительно сильно отстают ...

Надеюсь, моя информация немного помогла вам. У меня есть дополнительные вопросы, не стесняйтесь связаться со мной или посетить мой сайт @ gefoo.org

3 голосов
/ 26 октября 2009

Существует один сеанс о репликации в Firebird Conference 2009

Хольгер Клемт

* Firebird Replicated Part 1
* Firebird Replicated Part 2
      o In this two sessions you will see how easy it is to implement

ваша собственная система репликации в База данных Firebird. На основе триггеров и простые сценарии, вы можете создать система резервного копирования в реальном времени. Архитектура позволяет мастер-мастер, мастер-раб, мульти-мастер, онлайн и оффлайн Репликация. Реплицированная Жар-птица кластер может быть использован любым клиентом без перерыва, также в случае запланированных частичных отказов оборудования аппаратное и программное обеспечение операции, например, переключение на новая версия Firebird.

...