Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перенос данных из MySQL в MSSQL на лету 
:(
    Опции темы
npr2
Дата 16.9.2008, 07:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 17.1.2008

Репутация: нет
Всего: нет



Ситуация такова. Есть БД MySQL, в которую пишутся данные с системы навигации, разработка сторонней организации. Есть собственная БД MSSQL. Нужно чтобы в реальном времени, как толькопоявляются некоторые данные в MySQL, отображались в MSSQL. Можно ли это сделать средствами БД?
PM MAIL   Вверх
Kesh
Дата 16.9.2008, 10:05 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



Триггеры...


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
sir_nuf_nuf
Дата 18.9.2008, 11:23 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 6.1.2008

Репутация: 8
Всего: 31



Цитата(Kesh @  16.9.2008,  10:05 Найти цитируемый пост)
Триггеры... 

между разными серверами БД  ?  это должны быть очень крутые триггеры =)


npr2, я думаю будет очень тяжко. Это репликация называется. Только в добавок меж-серверная.

Вариант 1) Написать приложение, которое будет мониторить MySQL и вставлять данные в базу MSSQL. Но это не в "реальном времени", всегда будет какая - то задержка.

Вариант 2) Написать UDF (пользовательскую функцию для MySQL на C/С++), которая будет при отправлять данные в MSSQL.
Схема такая:
а) Происходит вставка/удаление/обновление в MySQL
б) Срабатывает триггер на таблице в которую пишете. (триггер тоже нужно будет сделать)
в) Триггер вызывает вашу UDF функцию
г) Функция отправляет сообщение в очередь (вот тут основные траблы - вам прийдется писать С функцию, которая пишет в очередь сообщений). Сообщение примерно такое: (Имя Таблицы, Тип Операции, Аргумент1, Аргумент2, ...)
д) Есть приложение которое читает из этой очереди сообщений и пишет в MSSQL.

Это тоже не совсем синхронно (из-за очереди), но за-то быстрее чем 3) вариант

Вариант 3) Тоже самое, что и 2), но не используете очередь, а пишете напрямую в MSSQL, используя протокол MSSQL. Очень трудоемко и весьма медленно! За то полная синхронность. Данные будут появляться в обоих серверах почти одновременно.


--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0560 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.