|
|
|
Обмен данными между базами
|
|||
|---|---|---|---|
|
#18+
Добрый день читаю на форуме, информацию но не могу собрать и понять как сделать Задача: У меня есть несколько баз данных(точнее еще все в разработке), с одинаковой структурой в каждом филиале-базе забиваются свои данные Есть база офис - которая получает данные со всех филиалов остальные получают данные добавленные в офисе репликацию сейчас читаю - тут как я понял данные обновляются как master-slave то есть только изменения master отражаются в slave Вот как я сам думал, не думая про репликацию(Правильно ли?) Все филиалы это локальные ПК 1 У каждой таблицы есть поля server, значение 0 значит нет на сервере, 1 значит уже есть если сделали update - значение сново - 0. (Тут не понятно, если удалил запись, как об этом дать понять серверу) 2 есть сервер-офис, у которого база тоже как бы филиал 3 есть на офисе еще база которая собирает данные со всех филиалов и раздает новые данные в филиалы. ее структура отличается от филиалов то есть id у записей с филиалов могут совпадать по этому я подумал что будет так id , fid-ид в филиале, поля с данными.... fcode- код филиала и вспомогательная таблица которая смотрит какому филиалу уже отправлялись данные. то есть id tid - из какой таблицы rid - id записи таблицы to - кому, какому филиалу Передавать думал, или XML или JSON или дамп данных SQL скажите то что на написал, полная ерунда или это может работать? просто не нашел пока однозначного решения в поисковике и сижу велосипед изобретаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2013, 18:34:19 |
|
||
|
Обмен данными между базами
|
|||
|---|---|---|---|
|
#18+
http://www.initialize.ru/mysql-master-master-replikaciya тут есть про репликацию мастер мастер но тут как я понял чтобы не было путаницей с автоинкремент id у одного делаю четные ,у другого не четные а у меня количество баз не известно, их может быть много. этот метод наверное не пойдет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2013, 18:52:05 |
|
||
|
Обмен данными между базами
|
|||
|---|---|---|---|
|
#18+
motorov http://www.initialize.ru/mysql-master-master-replikaciya тут есть про репликацию мастер мастер но тут как я понял чтобы не было путаницей с автоинкремент id у одного делаю четные ,у другого не четные а у меня количество баз не известно, их может быть много. этот метод наверное не пойдет Но ведь этот метод подразумевает не только четные и нечетные идентификаторы, а вообще любой шаг и смещение. то есть один сервер генерирует идентификаторы 1- 5 - 10 , второй 2 -6 -11 и тд. При появлении в системе нового сервера конфигурация всех других изменяется, но можно заранее все зарезервировать. с шагом по 10 или 100. Есть масса других вариантов, но там придется уже повозиться программистам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2013, 21:09:58 |
|
||
|
Обмен данными между базами
|
|||
|---|---|---|---|
|
#18+
репликации подумал что не совсем подходит сейчас делаю так выгружаю файл json(подумал что этот формат проще) с данными таблицы со значением поля server=0 загружаю этот файл на сервер на сервере идет цикл если запись с id уже есть то update если нет то insert после этого, если прошла операция успешно, на клиенте server=1 у этих записей. Одно не понятно если на клиенте удалять запись, как об этом понять на сервере, что запись удалена? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2013, 19:17:50 |
|
||
|
|

start [/forum/topic.php?fid=47&gotonew=1&tid=1835926]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
9ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 350ms |

| 0 / 0 |
