|
|
|
новичок
      
участник
Last Login: 07.06.2007 13:18
Сообщ.: 5,
Visits: 15
|
|
народ, подскажите, кто знает
есть 2 веб сервера в разных городах,
на одном стоит mySql, работает веб-чат кот. использует MySql, на втором MSSql server 2000, работает веб-чат кот. использует MSSql server 2000
как сделать, и можно ли вообще, так чтобы эти оба чата были одинаковы, т.е. если я пишу сообщение в первый чат, то оно автоматом отображается и во втором чате и наоборот.
можно ли сделать какуюнить синхронизацию баз по событию...или чего нибудь подобное??
|
|
|
|
|
Supreme Being
      
модератор
Last Login: 29.10.2007 14:45
Сообщ.: 1 833,
Visits: 16 863
|
|
| Думаю, самым простым вариантом в данном случае будет просто одновременное добавление записей в обе базы из каждого скрипта, однако этот вариант не особо надежен. Второй вариант - раз в минуту, к примеру, кидать XML файлы с сообщениями. Но в любом случае - полной идентичности добиться будет трудно.
|
|
|
|
|
новичок
      
участник
Last Login: 07.06.2007 13:18
Сообщ.: 5,
Visits: 15
|
|
| это все не очень безопастно и не надежно, может както можно через linked server или репликации...или чтото похожее
|
|
|
|
|
Supreme Being
      
модератор
Last Login: 29.10.2007 14:45
Сообщ.: 1 833,
Visits: 16 863
|
|
| Репликации, я думаю, отпадают. Ибо между MS SQL и MySQL их настроить, предполагаю, что невозможно. А вот через Linked Server, в принципе, можно попробовать. Только вот как отслеживать новые записи на MySQL - не знаю. При добавлении в БД на MS SQL все понятно - триггер на инсерт. Но если уж до такого дошло, то какая вообще необходимость использовать 2 базы? Используйте одну...
|
|
|
|
|
новичок
      
участник
Last Login: 07.06.2007 13:18
Сообщ.: 5,
Visits: 15
|
|
| Алексей, у меня на 1 сервере находиться веб чат, на платном хосте , а на 2 сервере у меня определенный сервис, который работает внутри локальной сети, и нужно сделать так, что если народ общается в веб чате, то в локальном сервисе (на 2 сервере) все это дублировалось. и наоборот, если я в локальном сервисе добавляю сообщение, то оно дублируется в веб чате. Я бы конечно сделал все это на одном сервере (т.е. веб чат поставил), но эт надо лицензию покупать на ПО:) а денег нет:( вот и приходиться выкручиваться. Попробовал через linked server...запрос из таблицы на 20 записей выполнялся 30 секунд :(:(:(
|
|
|
|
|
Supreme Being
      
модератор
Last Login: 29.10.2007 14:45
Сообщ.: 1 833,
Visits: 16 863
|
|
| Ну если такие проблемы со скорость, то в любом случае красивого решения не получится. Также, как и если вы клиентов со второго сервере переведете на веб - будут такие же тормоза. Может быть возможно как-то увеличить пропусную способность сети?
|
|
|
|
|
новичок
      
участник
Last Login: 07.06.2007 13:18
Сообщ.: 5,
Visits: 15
|
|
| Алексей, проблем со скоростью нет...Люди (доверенные, знающие адрес) работают с этим сервисом через интернет, и без проблем со скоростью... Или возможно проблем со скоростью нет потомучто сервис и база данных находятся на одном сервере? вы считаете что с удаленного сервера запросы будут выполняться также медленно? Я даже не понимаю, почему так linked server тормозит
|
|
|
|
|
Supreme Being
      
модератор
Last Login: 29.10.2007 14:45
Сообщ.: 1 833,
Visits: 16 863
|
|
| Если сервис и бд работают на одной машине, то скорость выполнения запросов зависит на 99% от сложности запросов и на 1% - от количества выводимых данных. Когда они находятся на разных, а тем более сильно удаленных серверах, то наибольшее влияние на скорость получение результата оказывает скорость передачи данных по сети. Дело не в то, что "Linked Server тормозит", а в том, что процесс получения данных с удаленного сервера занимает много времени.
|
|
|
|
| | |