The current article describes the research work to optimize enterprise level informational system. The optimizations were focused on persistence layer based on ORM tool (Object Relational Mapping − a programming technique for converting data between incompatible type systems in relational databases and object-oriented programming languages). The main line of investigation was to determine the efficacy of such optimization type as data prefetching in ORM queries to minimize the number of interactions with database and to solve so-called «N + 1 select problem». The most of optimizations were made using the Autofetch library. All researches were based on University Informational System (UIS) − the development of CNIT (Center of New Informational Technologies) NSU. The system is currently in exploitation in NSU and a few other organizations.
Статья посвящена описанию исследовательской работы по оптимизации информационной системы масштаба предприятия на уровне работы с базой данных через ORM средства (ORM, Object Relational Mapping − общее название технологий, отображающих объектную модель на реляционную базу данных). Основным направлением исследований стало определение эффективности такого типа оптимизации, как проставление директив предвыборки (prefetch) в те или иные ORM запросы системы с целью минимизации числа обращений к БД и устранения так называемой «N + 1 select problem». В качестве основного инструмента при проведении указанной оптимизации была использована библиотека Autofetch. Исследования проводились на примере Университетской информационной системы (УИС), разрабатываемой в ЦНИТ НГУ и активно эксплуатирующейся в НГУ, а также в нескольких других организациях.