Dimitry Sibiryakov |
artemana | 1.Насколько с технической стороны интересен подход, реализованный в данных средствах?
|
Довольно странный подход, надо сказать. |
Да, обычным этот подход назвать нельзя! А уж кто какие прилагательные применит для его описания - право каждого.
Dimitry Sibiryakov |
Раз уж сделали репликацию, то зачем ещё модифицированные компоненты доступа? |
Репликация - это очень широкий термин, обозначающий перемещение данных между различными источниками. В этом плане к MDT также можно было бы «лепить» этот термин. С таким же успехом его можно использовать в описании многих вещей например - TClientDataSet. Вместе с тем, часто в термин «Репликация» вкладывают конкретное представление. Например, программу репликации (уровня СУБД, или внешнюю) которая обеспечивает отложенный однонаправленный или двунаправленный обмен, между двумя или более базами данных. У каждой из этих баз есть свои клиенты, которые работают с ними «не догадываясь» о существовании соседей. Цель – та же что у MDT. Сложность настройки репликации различна. Правила обмена могут учитывать прикладную логику ИС или игнорировать ее – все это пока не суть важно. Ключевым моментом является то, что реализуется отложенный обмен и самодостаточность каждой из баз.
Так вот, MDT - не подходит под это представление. Архитектура MDT подразумевает возможность обращения клиента как к копиям базы так и к центральной СУБД. Причем в случаи обращения к копии, клиент сам себе выполняет ее синхронизацию, обеспечивая 100% актуальность данных, делая для прикладного слоя
неотличимым работу в распределенной сети от работы в режиме одной базы. Это достигается, в том числе, за счет того, что все пишущие операция выполняются на центральном сервере. Вот ключевое отличие, которое существуют между MDT и одним из описанных только что представлений о репликации. Именно этим отличием вызвано модификация компонент, нет другого слоя, где это мы могли бы это реализовать. Разработчики серверов, могли бы реализовать такое решение на слой ниже, - на уровне сервера. Кстати сказать, так наверно и делается в кластерных системах (Oracle RAC). Другое дело то, что насколько такое отличие важно. Здесь каждый прикидывает на себя. Мы собираем мнения.
Пока приведу один пример. Десятки раз встречал здесь и в других местах, обсуждения с одобрением следующего регламента эксплуатация ИС. Днем вводим данные, на ночь запускаем сложный и длинный расчет, который к утру формирует некие доп. данные, например готовые агрегаты, облегчающие дальнейшую работу. Основная цель понятна - не загружать сервер днем, освободив его максимально для работы операторов (формирование первички). Если представить что большую часть нагрузки такого расчета занимает SQL чтение, то MDT является идеальным средствам, позволяющим запускать такой расчет в любое время суток. Аналогичное по эффективности решение такой задачи на любом репликаторе, ИМХО, реализовать сложнее.