Задавайте вопросы, мы ответим
Вы не зашли.
Есть (то есть, будет), несколько территориально разнесённых серверов с одинаковыми базами, куда периодически ведётся запись на каждом сервере (интенсивность небольшая, но запись идёт постоянно).
Сервера могут выпадать из связки вплоть до нескольких дней.
Пока сервера недоступны - туда всё равно идёт запись от локальных приложений.
Через что лучше сделать репликацию данных без постоянного участия админа?
Меня подталкивают к ndb-кластеру, но у меня есть сомнения, что кластер хорошо отнесётся к отпаданию и обратному подключению узла, на который в промежутке еще и данные будут поступать.
Неактивен
Те, кто подталкивает к ndb, растянутому геораспределенно, ничего не понимают в нем,
не слушайте их
Репликация спасет тоже только относительно: кольцо делать нельзя, т.к. в случае кольца
нужна живость всех серверов, а что-то типа звездочки Вы тоже не сделаете. Вообще,
в такой ситуации нужно что-то с идеологией slony, когда изменения потихоньку доезжают
до всех остальных серверов сторонней репликацией. Правда, непосредственно slony на
MySQL не взлетит, скорее всего, поэтому нужно писать что-то своё
Возможно, можно писать не с нуля, а отталкиваться от какого-то уже готового продукта,
например, нашел trainwreck: http://mituzas.lt/2008/05/14/trainwreck … ion-agent/
Неактивен
Кроме написания своего агента наткнулся на идею использовать для репликации federated таблицы.
На мой взгляд - вполне, если на серверах с данными таблицами будет только входящая реплика (т.е. slave)
Неактивен
Federated — опасная штука. Она очень склонна материализовывать таблицы в случаях
более сложных, чем тривиальные. Например, если Вы захотите сделать что-то типа
SELECT id FROM localtable LEFT JOIN federatedtable f USING (id) WHERE f.id IS NULL,
то MySQL скачает все данные из удаленной таблицы и сравнит id. Наверное, это не
совсем то, что Вам хочется.
Если бы я писал свой движок, я бы, наверное, воспользовался уже готовой
функциональностью по записи бинарного журнала: агентам достаточно копировать
вручную его на остальные мастера, и проигрывать на них. Кажется, это не очень
сложно написать.
Неактивен
Нет, federated будет использоваться только для репликации на центральных slave
Вся остальная работа - только с нормальными.
Неактивен
Ну я и имею в виду репликацию
Неактивен