посоветуйте механизмы синхронизации баз данных
Под базами данных будем считать просто некоторые хранилища какой-то информациитебе нужна синхронизация файловых систем (ну или их директорий) что ли?
если в целом - ретранслируй все запросы на запись на слейв тоже
стандартные решения, способы, алгоритмыконкретные решения и способы будут зависить от хранилища.
В общем случае для субд это называется репликация и настраивается в конкретной субд.
общий алгоритм очевиден - при записи в ведущую базу, записываемые данные должны копироваться в резервную(сразу или с каким то лагом). Когда основная отпадет, пишем в резервную. Поднялась основная - определяется, чего в ней не хватает и копируется туда.
- active - passive (failover) cluster с разделяемым(общим, shared) хранилищем - SAN, NFS, iSCSI и т.д.
- active - passive (failover) cluster с репликацией данных - репликация может быть как на уровне хранилища или Volume Manager-а или ФС или приложения (СУБД и т.д.)
они не всегда присутствуют одновременно: например, переключение на Disaster Recovery сайт совсем не часто делают под управлением кластера, но естественно всегда есть репликация.
тупо про банальный кластер из двух узлов
http://sources.redhat.com/cluster/wiki/FAQ
http://en.wikipedia.org/wiki/Red_Hat_Cluster_Suite
http://www.redhat.com/cluster_suite/
http://www.rhd.ru/docs/manuals/enterprise/RHEL-3-Manual/rh-c...
DRDB
http://www.drbd.org/
Оставить комментарий
NataNata
ситуацияесть два компа, один - основной, другой - запасной. И, соответственно, на каждом компе висит по идентичной проге-серверу. Клиенты висят на основном сервере. В случае каких-то проблем должны переключиться на запасной. Есть поставщик некоторых данных, который может использоваться только одним сервером; активный (т.е. либо основной, либо запасной) сервер эти данные собирает, переваривает и сохраняет в некоторые базы данных на своем компе.
Каковы имеются в природе стандартные решения, способы, алгоритмы и т.д. для синхронизации баз данных между серверами, если, основной сервер на время сдох и приходиться использовать запасной сервер (который должен продолжить сбор данных с поставщика на основе базы данных основного сервера а потом возвращаться опять на основной (который должен продолжить сбор данных с поставщика на основе базы данных запасного)? Под базами данных будем считать просто некоторые хранилища какой-то информации (MSSQL и Oracle тут непричем, конкретно в моем проекте они не используются из-за очень специфического вида данных)