Анализ возможностей использования OLAP систем в качестве многомерных баз данных для Web-приложений
Журнал: Научный журнал «Студенческий форум» выпуск №34(85)
Рубрика: Технические науки
Научный журнал «Студенческий форум» выпуск №34(85)
Анализ возможностей использования OLAP систем в качестве многомерных баз данных для Web-приложений
В наше время существует множество возможных реализаций для хранения и обработки данных. В WEB приложениях общепринято использовать клиент-серверную архитектуру в сочетании с реляционными хранилищами данных. Однако, данный вид хранилищ не подразумевают возможность многомерного хранения для агрегации данных с «удобной» возможностью их анализа, в отличие от OLAP систем.
Аббревиатура OLAP расшифровывается как аналитическая обработка данных в реальном времени. Если разобрать это определение более подробно можно вынести основные характеристика для такого типа систем [1, c. 137]: быстрота обработки запросов, возможность разграничения работы с огромным количеством данных и возможность их быстрого анализа. Для такой возможности данные хранятся в многомерном виде. В меньшем количестве в OLAP системах используются реляционные базы данных.
В чем же заключается необходимость использования OLAP в некоторых типах приложений? В ходе своего исследования я определила основные проблемы работы моего приложения со стороны сервера: расчет данных в зависимости от входных параметров необходимо было производить при каждой выборке из базы данных, а также логика составления групп данных для итогового отчета была довольно громоздкой. OLAP средства в свою очередь предлагают ряд специальных возможностей для создания консолидированных расчетов на различных срезах данных.
Для реализации данной задумки мною была выбрана система IBM Cognos TM1. Данная система позволяет строить и анализировать бизнес-модели любой сложности, а технология «in-memory» (выгрузка всех расчетов в оперативную память сервера), используемая в системе, гарантирует максимальную производительность работы программного обеспечения в режиме реального времени, при обработке огромных массивов данных (в миллиарды строк и чисел) [2, c. 326].
Все многомерные OLAP системы оперируют многомерными хранилищами данных – кубами. Кубы в свою очередь состоят из измерений, например, страна, время, сотрудник и отдел, в котором он работал. А на пересечении каждого элемента измерения в кубе хранится значение – мера. Меры могут быть как строковыми, так и числовыми и рассчитываются при помощи каких-либо правил. На рисунке 1 визуально представлен куб, используемый как многомерное хранилище.
Рисунок 1. Визуальное представление куба в OLAP системах
Основным вопросом моего исследования стояла возможность связи OLAP системы с серверной частью приложения. В ходе изучения различных ресурсов я обнаружила, что IBM Cognos TM1 предоставляет REST API протокол для работы с системой. Таким образом, реализация OLAP системы в качестве базы данных для WEB-приложения задача реализуемая (рисунок 2).
Стандарты REST API TM1 (протокол для работы с IBM Cognos TM1) соответствуют стандартам классического REAST API. Однако в рассматриваемом случае имеется возможность использования в запросах типа POST динамического языка запросов для доступа к многомерным структурам данных – mdx (англ. Multidimensional Expressions).
Рисунок 2. Реализация OLAP системы как основного хранилища данных WEB-приложения
В ходе написания WEB-приложения были выполнены особые классы в серверной части, которые могли оперировать запросами к IBM Cognos TM1 системе. После использования такого типа запроса OLAP система, возвращает результат выполнения: «OK» или «ERROR», а также соответствующий код выполнения (обычно используются стандартные коды результатов сервера).
Таким образом, OLAP системы, в том числе и IBM Cognos TM1 можно использовать в качестве многомерных хранилищ данных в WEB-приложениях. В зависимости от требований к приложению, возможно, выгоднее будет использовать, стандартные подходы к хранению информации, но в случае большой разрежённости данных, а также необходимости расчета данных по консолидированным значениям – данный подход имеет большие преимущества.