C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
синхронизация двух таблиц, CBuilder vs MySQL
2m
Отправлено: 01.12.2005, 16:08


Не зарегистрирован







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

Собсна вопрос — может кто подскажет способы синхронизации?

Самый простой способ эт каждый раз удалять все данные из инетовских таблиц и переписывать полностью из локальных, но вот трафик...(таблицы по объему приличные)
Valdemar
Отправлено: 02.12.2005, 08:38


Мастер участка

Группа: Участник
Сообщений: 433



Можно добавить в таблицы поле, содержащее время создания или модификации записи. А потом делать выборку данных из локальной БД за нужный период и вставлять их (или изменять существующие) в БД в интернете.
2m
Отправлено: 02.12.2005, 11:15


Не зарегистрирован







QUOTE (Valdemar @ 02/12/2005, 08:38)
Можно добавить в таблицы поле, содержащее время создания или модификации записи. А потом делать выборку данных из локальной БД за нужный период и вставлять их (или изменять существующие) в БД в интернете.

я уже думал об этом..
но как тогда с удаленными записями?
все равно придется всю таблицу перебирать...так еще дольше получится чем просто все удалить
Valdemar
Отправлено: 02.12.2005, 12:30


Мастер участка

Группа: Участник
Сообщений: 433



Можно вести лог операций удаления и запоминать значения первичного ключа удаляемых записей, затем в удаленной БД удалить соответствующие записи.
Guest
Отправлено: 02.12.2005, 13:05


Не зарегистрирован







На "домашнем" сервери вести протокол подтвержденных действий — реплика. Выполнять на "рабочем сервере". Просто перекачка таблиц может содержать подводные камни типа нарушения ссылочной целостности.
Если бы не мускул можно было-бы львиную долю работы поручить триггерам.
Valdemar
Отправлено: 02.12.2005, 15:21


Мастер участка

Группа: Участник
Сообщений: 433



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

Вернуться в Работа с базами данных в C++Builder