Концепция


MDT - это не просто очередной набор компонент доступа к базам данных семейства Interbase (InterBase, FireBird, Yaffil). Это - комплекс программных средств, главной идеей которого является полное или частичное хранение копий данных центральной базы на других компьютерах (рабочих станциях, вспомогательных серверах), поддержание актуальности этих копий и выполнение читающих SQL-запросов к данным таблиц, по-возможности, без обращения к центральному серверу.


Зачем это нужно?


На наш взгляд, в обычной информационной системе (ИС), подавляющее большинство запросов к серверу базы данных являются читающими. Пользователи ИС просматривают разнообразные справочники и реестры документов, получают оперативную информацию, а так же формируют различные, простые или сложные, отчеты. Поэтому, именно читающие запросы, в основном, определяют загрузку сервера БД, и именно они, в конечном счете, делают сервер "узким местом" клиент-серверной архитектуры с точки зрения ее производительности.


Вот по реке идет лодка, на веслах сидит олимпийский чемпион по гребле и на совесть выполняет свои обязанности, в лодке кроме него находится немного пассажиров - человек 100. Пока чемпион гребет, пассажиры часики в руках вертят. В такой ситуации самое трагическое не то что лодка плывет медленно, хотя и это грустно, а то, что каждый новый пассажир только снижает ее скорость. Мы предлагаем забрать у чемпиона весла, и раздать их всем участникам движения. Старый принцип - "Хочешь плыть - садись", меняем на новый - "Хочешь плыть - греби!" Отныне наш чемпион только руководит процессом, помогает на поворотах, а также в исключительных случаях соглашается поработать за совсем слабых и выбившихся из сил пассажиров.

При отсутствии средств кластеризации базы данных на уровне СУБД, зачастую наблюдается ситуация, при которой центральный сервер сильно перегружен и не успевает отрабатывать все поступающие к нему запросы за приемлемое время.

С другой стороны, компьютерам, выступающим в роли клиентов, отводится решение относительно простых задач. Их функция - сформировать и отправить на сервер запросы, получить от него результаты и представить их на экране в нужном пользователю виде, то есть вычислительные мощности этих машин практически не используются.

Соответственно, перенеся подавляющую часть работы сервера (т.е. выполнение читающих запросов) на рабочие станции, MDT балансирует распределение задач, уменьшает нагрузку на центральный сервер и увеличивает ее на рабочих станциях, тем самым, увеличивая общую производительность системы. Максимальная пиковая вычислительная мощность такой системы возрастает практически прямо пропорционально количеству подключенных клиентских компьютеров!


Операции модификации данных, по-прежнему выполняются центральным сервером, и, естественно, создают нагрузку на него. Но так как операций модификации значительно меньше, чем читающих запросов, то при условии развития системы, росте количества ее пользователей и информации внутри нее, точка, в которой сервер выйдет на предельную загрузку, многократно сдвигается во времени.


Как этим воспользоваться?


Понятно, что достаточно сложно переписать уже существующую крупную информационную систему на новые компоненты доступа к данным, пусть даже интерфейсно похожие на все остальные. Поэтому мы предлагаем специальные компоненты - аналоги известных существующих на сегодня компонент доступа к данным. При создании этих специализированных аналогов ставилась задача реализации максимально возможной совместимости. Очень важно так же то, что компоненты аналоги сохраняют возможность работать в исходном режиме, в этом случае работает код базовой компоненты, гарантирующий абсолютную совместимость. Поэтому вопрос перевода проекта на компоненты-аналоги - это, по большому счету, вопрос замены в исходных текстов проекта одних названий классов на другие.


В итоге


Конечно, все, что сказано выше - лишь поверхностное описание технологии MDT, приведенное для того, чтобы вы сразу поняли, о чем вообще идет речь на этом сайте. В других разделах вы найдете более полное описание технологии, планы по развитию MDT, исходные тексты компонент и необходимые исполняемые файлы, подробную документацию по установке MDT, а также инструкции по переводу существующих проектов на MDT и многое другое.

Мы хотели бы подчеркнуть, что этот сайт не является коммерческим. Он создан для того, чтобы позволить Вам познакомиться с данной технологией, а нам понять, интересна ли эта технология Вам, и возможно ли наше сотрудничество.

Наверх Design : kve