InG0d
Дата: 26.02.2010 20:40:04
Подскажите можно ли реализовать на MS SQL(2005-2008) следующую задачу.
Есть некое приложение(достаточно кривое) ориентированное на работу только по локальной сети, которое работает с некоторым количеством баз MS SQL, суммарным объемом 50 Гиг, планируется рост до 70-80. Основное место занимают просто большие файлы хранящиеся в одной из баз. Приложение чужое модифицировать мы его не можем.
Нам нужно это приложение развернуть в другом городе, и обеспечить совместную работу пользователей в разных города с одними данными. т.к. канал достаточно узкий, приложение с базой размещенной в другом городе работать не будет. напрашивается идея держать два набора локальных баз и каким то образом их синхронизировать, то есть некий кластер в режиме active active, можно ли это реализовать средствами MS SQL ???
ППС терминальные решения не подходят :(
Crimean
Дата: 26.02.2010 20:55:05
почему это терминалы не подходят? боюсь, у вас выхода нет. обясню:
большие файлы небось не просто так хранятся, их смотреть кому-то надо? так вот, на локаль пользователю вы их по хреновым каналам точно не протащите, тем более что приложение на это не расчитано - ни тебе фтп, ни тебе докачки. а в терминале почти все будет работать точно, кроме совсем экзотики
кластер - вообще не из этой серии
с репликацией главный вопрос - каков у вас поток модификации данных. считаем что вопрос заливки начального снапшота вы решите до развозки серверов по местам
модификация данных в одном месте или во всех?
допускает ли прикладуха такое раздельное изменение данных?
что потом делать с прикладными коллизиями?
Crimean
Дата: 26.02.2010 21:33:32
> Прикладной софт в них не работает.
да ну, не бывает такого, софту-то какая разница? или он жестко привязан к ключу аппаратному какому?
> То есть идея вообще не реализуема
пример. у клиента счет один. а кассы две. в двух местах. и там и там свой сиквел. реплика между ними. приходят два "плохих дяди" от клиента. берут налом весь остаток счета. сразу в оба места приходят. кассиры смотрят - денег есть, ок, выдают, в каждом месте по отдельности все честно. но вот потом по реплике коллизия будет. техническая. чек констрейнт сработает по остатку. он типа в минус-то как бы не может выйти. и один из документов надо будет удалить. так вот, документ-то вы удалите, а бабло в кассу уже не вернуть. я об этом. если у вас такой вариант и софт менять нельзя, то все сильно осложняется. ну не совсем невозможно, но сложно. а если софт типа адрессной книги и в каждом городе можно править только адреса своего города - то все более чем реализуемо. то есть когда прикладная часть работы не может создавать прикладные коллизии в данных. а с техническими вы разрулите, когда с репликой разберетесь
но - опять же - если модицикаций много - ваш канал потянет поток модификаций?