Приложение к журналу
«Современные проблемы науки и образования»
ISSN - 1817-6321


PDF-версия статьи Титульная страница журнала PDF-версия статьи
Образование диссипативных структур в ORM-компонентах высоконагруженных порталов

МГТУ Московский государственный технический университет радиотехники, электроники и автоматики


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

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

Автор считают, что ORM-компоненты высоконагруженных образовательных порталов, являющиеся открытыми системами, демонстрируют признаки нахождения в неравновесном состоянии, характеризующимся различными значениями ее параметров на входе, выходе и внутренних точках системы. Параметрами можно считать, например, количество входных и выходных запросов и их внутренних представлений. Тримолекулярная модель, также известная как брюсселятор, разработанная для исследования неравновесных систем с неустойчивым поведением.

Допустим, что основная логика приложения работает только с сущностями 2-х типов: А и В. Тогда работа кэширующего ORM-компонента будет описана «реакциями» вида:

A -> X+D (1)

A+B+2X+Y -> 3X+D+E (2)

A+B+X -> Y+D+E (3)

X -> D (4)

A -> D (5)

B -> E (6)

Ниже рассмотрен логический смысл каждой «реакции» отдельно:

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

(2) В случае поступления параллельных запросов на чтение сущностей A и B и при нахождении записей в кэше типов X и Y на выполнение в СУБД будет отправлен один запрос, а не два и будет обновлены записи внутреннего кэша.

(3) Если в кэше нет актуального объекта кэша типа Y и недостаточно объектов кэша типа X, то будет создана запись кэша типа Y и будет выполнен запрос к СУБД.

(4) Отправка запросов на обновление кэша на выполнение СУБД.

(5), (6) В отсутствии кэша запросы к ORM-компоненту могут быть напрямую отправлены в СУБД на выполнение

Коэффициенты k1..k6, A, B и вид «реакций» (1)..(6) необходимо получать эмпирически из условий работы конкретной реализации ORM-компонента, схемы БД и производителя СУБД.

Поток входных запросов (концентрации A и B) априорно предполагается постоянным.

Положим, что величины А, В, X, Y, D, E из (1)-(4) непрерывны, чтобы применить математический аппарат дифференциального исчисления и исследовать систему (1)-(4) с его помощью. В «реакциях» (5) и (6) не участвуют объекты X и Y, следовательно в данный момент их можно не рассматривать. Дальнейшие вычисления проводились в системе компьютерной алгебры Mathcad 15.

Ниже рассмотрено кинетическое уравнение величин X и Y для системы реакций (1)-(4):

d[X]/dt=k1[A]+k2[A][B][X]^2[Y]-k3[X]-k4[A][B][X]

d[Y]/dt=-k2[A][B][X]^2[Y]+k4[A][B][X]

Автор считают, что следует считать более оптимальным стационарный режим, a не циклический режим, характеризующийся циклическими изменениями X и Y и следующими недостатками:

• Изменяющийся во времени расход памяти: потребление памяти будет периодически изменяться, увеличивая нагрузку на менеджер памяти ОС.

• Увеличение времени обработки (замедление выполнения) запросов от основной логикой портала в моменты пиковой нагрузки, когда к СУБД отправляется максимальное количество параллельных запросов.

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

Заключение

В статье приведен синтез модели взаимодействия портала через ORM-компонент с СУБД на основе термодинамической тримолекулярной модели. Показано, что применение кэширования ORM-компонентов может повлечь за собой:

• Пиковый расход памяти.

• Замедление обработки запросов от основной логикой работы в моменты пиковой нагрузки.

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


ОПУБЛИКОВАНО

Мельников С.В. Образование диссипативных структур в ORM-компонентах высоконагруженных порталов. // Современные проблемы науки и образования - 2013.-№6. (приложение "Технические науки"). - C. 5