PDF-версия статьи |
Обычно, для ускорения работы 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