синхронизация баз данных

Semen

Семён
синхронизация баз данных

Добрый день всем!

Никогда раньше не делал подобного, есть сомнения...
Собственно задача:
Есть программа для соревнований, которая регистрирует время участников и выводит результаты, всё это длится 24 часа.
В качестве базы используется MySql. Необходимо сделать трансляцию результатов на сайт в реальном времени, т.е. синхронизировать базы.
Мои мысли такие:
все изменения в базе записываются в файл;
с определённым интервалом читается файл и делаются изменения на сайте.

Буду благодарен за советы.
 

Rin

*
Я делал так:

FEDERATED Storage Engine + INSERT ... SELECT

Код синхронизации поместил в хранимые процедуры.
Чтение из федеративных таблиц, запись в InnoDB.
Федеративные таблицы создавал как TEMPORARY.
Чтобы забирать только отсутствующие данные, использовал поле `update_datetime` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP.
Запуск скрипта 1 раз в 30 мин.
 

Semen

Семён
Спасибо за советы, почитал, буду пытаться делать с репликацией.
Как сделаю отпишу.
 

Rin

*
В моём случае репликация не подошла, с сервера [A] на сервер перетекает лишь часть данных, в т.ч. агрегированных.
 

Страшный Злодей

Бывший член клуба (достало хамство).
[offtop]Как казино позакрывали, так такие задачи у народа стали появляться всё чаще..[/offtop]
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Semen
на сервере-источнике информации сделай веб-сервис
на 2м сервере скиптом запрашивай 1й сервер периодически, с запросом отправляй ID последнего события,
в ответ сервер-источник будет выдавать список более поздних событий
сервер-приемник будет принимать список, парсить и обновлять свою базу
 

Rin

*
grigori
Изначально я планировал сделать так же, но схема "FEDERATED Storage Engine + INSERT ... SELECT" проще, быстрее и надёжнее, т.к. две БД связываются друг с другом напрямую.
 
Сверху