Как справится без репликации?

Тема в разделе "Базы данных", создана пользователем dazed, 22 апр 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. dazed

    dazed

    Регистр.:
    31 мар 2007
    Сообщения:
    208
    Симпатии:
    55
    Всем привет!

    Возникла такая задача по обновлению двух таблиц. Т.е. в одной таблице постоянно добавляются или обновляются данные и нужно периодически обновленные данные передавать в другую таблицу, к примеру раз в сутки.
    Базы на разных серверах, связь между ними установлена.

    Как можно красиво поступить в этом случае без репликации средствами MySQL?

    Либо только поштучно каждую запись обрабатывать?
     
  2. MisterX

    MisterX Постоялец

    Регистр.:
    10 ноя 2006
    Сообщения:
    101
    Симпатии:
    7
    Можно эмулировать репликацию, используя журнал двоичной регистрации. Либо писать отдельный скрипт, который будет производить синхронизацию вручную. Репликацией все же данная задача обновления решилась бы проще.
     
  3. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    591
    Судя по всему речь о простом хостинге, отсюда и требование "без репликации" и отсутствие доступа к журналам.

    Писать все инсерты/реплейсы/апдейты/делиты в файл, который раз в сутки передавать на удалённый хост и там выполнять.
    Если используется враппер для доступа к БД, а не работа напрямую, то делается элементарно.
     
  4. zerdek

    zerdek

    Регистр.:
    29 ноя 2007
    Сообщения:
    346
    Симпатии:
    50
    Можно завести еще одну таблицу в которой запоминать ID всех изменившихся, добавленных, удаленных записей. Раз в сутки формируем по этим ID sql скрипт insert/update/delete - отправляем ее на второй хост, а служебную табличку очищаем.

    ps: объем данных велик? может проще раз в сутки sql бекапом поднимать одну табличку на втором хосте? по условию - все-равно репликация однонаправленная.
     
Статус темы:
Закрыта.