Научная статья на тему 'Использование трехмерных кубов данных в реализации системы бизнес-анализа'

Использование трехмерных кубов данных в реализации системы бизнес-анализа Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
49
16
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
многомерное представление / БД / BI / OLTP / OLAP / бизнес-анализ / аналитическая обработка / трехмерный куб / реляционная схема / нормализация / нормальная форма / интегрированная информационная система / GraphQL / SciCMS / multidimensional representation / databse / BI / OLTP / OLAP / business intelligence / analytical processing / threedimensional cube / relational schema / normalization / normal form / integrated information system / GraphQL / SciCMS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Б.А. Черныш, А.В. Мурыгин

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Using three-dimensional data cubes in the implementation of a business intelligence system

Business analysis is one of the key management tools that allows getting a reliable picture of the current business situation in an enterprise in all areas of its activity. To ensure this process in any company, there are various data used as its performance indicators. The data source is primarily integrated information systems (IIS) of various types (ERP -Enterprise Resource Planning, CRM Customer Relationship Management, MES Manufacturing Execution System, etc.) These systems either incorporate business analysis tools (BI Business Intelligence) or use specialized solutions that allow performing complex analytical tasks according to a given formulation. This article discusses the features of both approaches, their advantages and disadvantages, provides examples of foreign and domestic products for business analysis existing on the market. The authors propose a method for constructing three-dimensional cubes using the data contained in this system on the example of the BI-module developed by the authors of the IIS SciCMS. There are descriptions of the used methods and algorithms, the initial requirements and limitations. The authors have carried out the formalization of tasks and considered the mathematical apparatus for constructing multidimensional data models based on information from a fixed set of normalized tables of a relational database. There are examples of SQL queries and output data. In some cases (working with a non-relational DBMS, the need for pre-calculated aggregate values, the complexity and high cost of direct SQL queries, etc.), the described method for building multidimensional cubes may not be applicable. The solution to this problem in SciCMS is its own data import and transformation module based on an open source library. The article summarizes the main advantages and disadvantages of the proposed approach, the prospects for its use in domestic enterprises.

Текст научной работы на тему «Использование трехмерных кубов данных в реализации системы бизнес-анализа»

УДК 004.415.2 doi: 10.15827/0236-235X.142.237-244 2023. Т. 36. № 2. С. 237-244

Использование трехмерных кубов данных в реализации системы бизнес-анализа

Б.А. Черныш А.В. Мурыгин

Ссылка для цитирования

Черныш Б.А., Мурыгин А.В. Использование трехмерных кубов данных в реализации системы бизнес-анализа // Программные продукты и системы. 2023. Т. 36. № 2. С. 237-244. doi: 10.15827/0236-235X.142.237-244 Информация о статье

Поступила в редакцию: 29.11.2022 После доработки: 15.02.2023 Принята к публикации: 20.02.2023

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

Ключевые слова: многомерное представление, БД, BI, OLTP, OLAP, бизнес-анализ, аналитическая обработка, трехмерный куб, реляционная схема, нормализация, нормальная форма, интегрированная информационная система, GraphQL, SciCMS

При эксплуатации любой интегрированной информационной системы (ИИС) рано или поздно возникает необходимость в построении различных аналитических отчетов на основании имеющихся данных, их визуализации и составлении прогнозов. Это обусловлено прежде всего постановкой аналитических задач: анализ ключевых показателей деятельности, маркетинговый и финансово -экономический анализ, анализ сценариев, моделирование, прогнозирование и т.д. Решение этого класса задач возможно с помощью OLAP-инструментария. В более широком смысле данный класс систем именуют системами бизнес-анализа (BI - Business Intelligence), или BI-системами. С помощью BI-инструмен-тов разрозненные данные, хранящиеся в системе, преобразуются в структурированную информацию, описанную в терминах соответствующей предметной области. Эта информация, в свою очередь, позволит принимать обоснованные управленческие решения как руководителям предприятий, так и узким отраслевым специалистам, аналитикам, экономистам и т.д. Эффект от применения инстру-

ментария бизнес-анализа может быть выражен как прямо (за счет снижения трудозатрат на технические операции и расходов на поддержку разрозненных БД), так и косвенно (за счет повышения эффективности бизнес-процессов компании).

Существующие решения и подходы в формировании многомерных моделей

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

Платой за это становится необходимость синхронизировать OLTP и OLAP. Поскольку подобный процесс, как правило, периодичен, между появлением данных в оперативной базе и аналитическими данными имеется запаздывание. Данный подход реализован практически во всех современных BI-системах: Tableau, Qlik, Microsoft BI, Oracle BI, SAP BW и др. [1]. Существенным недостатком имеющихся коммерческих BI-решений является узкий круг поддерживаемых источников данных. Так, например, продукты Microsoft, кроме собственной СУБД, в качестве источника могут использовать БД Oracle и Teradata. Oracle BI имеет еще более узкое ограничение и работает лишь с собственной линейкой СУБД. Отечественный рынок средств бизнес-аналитики также достаточно обширен [2]. В России широкое распространение получила система Галактика BI, построенная на платформе Microsoft BI и расширяющая функционал базовой платформы компонентами и сервисами, ориентированными на бизнес-задачи управления предприятием [3]. Среди лидеров рынка можно также выделить такие продукты, как Форсайт, Loginom, Visiology, Polymatica, Visary BI, Luxms BI, Proceset, Modus BI [4].

Другим подходом в решении задач оперативной аналитической обработки данных является встраивание OLAP-инструментария непосредственно в OLTP-хранилище. Это достигается как использованием специальных элементов данных (например, регистров оперативного учета в платформе «1С: Предприятие» [5]), так и оптимальной (с точки зрения выполнения OLAP-запросов) структуризацией схемы данных. В этом случае функционал BI является частью системы и, разделяя с ней общие данные, позволяет формировать на их основе многомерные представления для построения отчетов, графиков, диаграмм, витрин данных и пр. При разработке информационной системы SciCMS [6] именно второй подход лег в основу модуля аналитики, являющегося частью ядра системы.

Подход в построении трехмерных кубов, используемый в SciCMS

Модуль аналитики в SciCMS позволяет использовать данные любых сущностей для построения многомерного OLAP-куба [7]. Каждый из атрибутов сущности может служить измерением в этом кубе. Особую роль играют

атрибуты с типами date/time/datetime/ timestamp (дата/время) и location (местоположение). Атрибут первого типа образует временное измерение на кубе и отвечает на вопрос «когда» относительно значений фактов. OLAP-куб ограничен одной шкалой времени независимо от числа задействованных в нем сущностей. При этом временные оси каждой из этих сущностей должны иметь одинаковый тип (из допустимых типов даты/времени). Атрибут типа location содержит данные о местоположении (широту, долготу и текстовую метку измерения) и отвечает на вопрос «где» при анализе значений фактов. Аналогично шкале времени куб может содержать только одно измерение местоположения. При настройке параметров куба ось фактов определяется атрибутами, называемыми метриками и отвечающими на вопрос «что» относительно самих значений этих атрибутов.

На рисунке 1 показано диалоговое окно настройки панели визуализации с использованием пользовательского интерфейса клиентской части системы SciCMS Client. Взаимодействие с сервером осуществляется по протоколу GraphQL. Итоговая настроенная панель показана на рисунке 2. Панель визуализации может использоваться как непосредственно из приложения, так и в качестве встроенного элемента на любой веб-странице.

Идея использования трехмерных кубов с атрибутами «что-где-когда» не нова и успешно применяется в BI-системах (например Luxms BI [4]). При этом измерения времени и местоположения, как и сами метрики, хранятся в собственных таблицах. Таким образом, каждый набор данных включает набор из трех специально подготовленных таблиц. Заполнение таблиц осуществляется путем настраиваемого импорта из других источников.

Методика, примененная в системе SciCMS, предлагает другой подход: использование уже имеющихся сущностей (построенных на реляционных таблицах) с выделением в них атрибутов даты/времени, местоположения и метрик. Поскольку SciCMS уже хранит все метаданные сущностей, для настройки параметров куба достаточно выбрать нужные атрибуты в качестве осей. Это дает возможность динамически (в зависимости от параметров визуализации) изменять требуемые оси куба. При правильной индексации столбцов таблиц, задействованных в построении куба, время запросов сопоставимо с выборкой

Orders By Regie

| Orders By Region

* Тип

| doughnut v |

* Интервал обновления (сек)

зсга

* Тип метрики

decimal v |

Временной ™n

1 - 1

Да та сеты

* Сущность

1 reg i огъО г-d е rVîew v |

* Метка * Метрика

| region Na me 1 1 total Price

Местоположение Дата/врем я

| Местоположение 1 j Дата/время

Г

I

Рис. 1. Диалоговое окно настройки визуализации

Fig. 1. A visualization settings dialog

Рис. 2. Настроенная панель визуализации Fig. 2. A customized visualization panel

данных из специально подготовленных структур в Ьихт8 В1. Кроме непосредственного представления данных реляционных таблиц, в БаСМБ имеются сущности «только для чтения», содержащие произвольный SQL-запрос к БД. Такой подход позволяет избежать необходимости создания дополнительных представлений в СУБД (если такая операция является излишней или запрещена администратором БД).

Важной особенностью предлагаемого механизма построения OLAP-кубов является то, что система SciCMS может быть подключена к неограниченному числу источников данных одновременно. Таким образом, любая таблица (представление, SQL-запрос) из любого источника данных напрямую может быть задействована в построении куба (без необходимости экспорта и преобразования).

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

Если сущности представляют данные реляционных таблиц, которые соответствуют правилам нормальных форм, можно утверждать, что схема обладает свойством соединения без потерь информации в соответствии с теоремой из [8]: пусть а - декомпозиция отношения R, образованная схемами отношений в третьей нормальной форме, и пусть также X - ключ R. Тогда т = а и {X} - декомпозиция R, такая, что все составляющие ее схемы отношений находятся в третьей нормальной форме. Эта декомпозиция сохраняет зависимости и сохраняет свойство соединения без потерь.

На примерах можно показать, как данное свойство позволяет сформировать многомерное (гиперкубическое) представление любой конфигурации и размерности. Во всех примерах используется БД TPC-H, специально разработанная для проведения оценочных тестов систем принятия решений [9]. Схема данных представлена на рисунке 3.

Перед рассмотрением примеров проведем формализацию задачи [10]. Пусть задана схема БД ЭТ = {Ri, R2, ..., Rk}, полученная в результате нормализации отношений [8, 11]. Отношения Ri определены на множестве атрибутов U = {Ai, A2, ..., An}. Пусть [Ri] - схема отношения (множество атрибутов, на которых определено отношение Ri). Предположим, что схема ЭТ является редуцированной [11], то есть не существует таких двух отношений, что [R] с [R] при i ф j. Кортеж t[X] - совокупность значений атрибутов Aj е X с [R], заданных в кортеже t е Ri. Неопределенное значение NULL атрибута Aj в кортеже t: t[Aj] = NULL не равно любому другому значению, в том числе другому неопределенному значению.

Многомерное представление будем задавать в виде совокупности размерностей {D1, D2, ..., Dd}, где Dk - множество расширенных

REGION

PK R REGIONKEY INT

R NAME CHAR(25)

R_COMM ENT VARCHAR(152)

PART

PK P PARTKEY INT

P_NAME VARCHAR(55)

P MFGR CHAR(25)

P BRAND CHAR(10)

P TYPE VARCHAR2(25)

P SIZE INT

P CONTAINER CHAR(10)

P RETAILPRICE DECIMAL(15;2)

P_COMMENT VARCHAR2(23)

I

SUPPLIER

PK S SUPPKEY INT

FK1 S_NAME S_ADDRESS S_NATIONKEY S_PHONE S_ACCTBAL S_COMMENT CHAR(25) VARCHAR(40) INT CHAR(15) DECIMAL(15;2) VARCHAR(101)

NATION

PK N NATIONKEY ШТ

FK1 N NAME N_REGIO NKEY N COMMENT СИДВ(25) INT VARCИAR(152)

-HCK -H-O

CUSTOMER

PK C_ CUSTKEY INT

C_ NAME VARCHAR(25)

C_ ADDRESS VARCHAR(40)

FK1 C_ NATIONKEY INT

C_ PHONE CHAR(15)

C_ ACCTBAL DECIMAL(15;2)

C_ MKTSEGMENT CHAR(10)

C_ COMMENT VARCHAR(117)

PARTSUPP

PK,FK1 PK,FK2 PS PARTKEY ШТ INT

PS SUPPKEY

PS_AVAIQTY PS_SUPPLYCOST PS_COMMENT INT РЕС1МА1(15;2) VARC HAR(199)

ORDERS

PK O_ ORDERKEY INT

FK1 O_ CUSTKEY INT

O_ ORDERSTATUS CHAR(1)

O_ TOTALPRICE DECIMAL(15;2)

O_ ORDERDATE DATE

O_ ORDERPRIORITY CHAR(15)

O_ CLERK CHAR(15)

O_ SHIPPRIORITY INT

O_ COMMENT VARCHAR2(79)

1

LIN EITEM

PK,FK2 1 ORDERKEY INT

PK 1 1 INENUMBER INT

FK1 L_PARTKEY INT

FK1 L_SUPPKEY INT

L_QUANTITY DECIMAL(15;2)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

L_EXTENDEDPRICE DECIMAL(15;2)

L_DISCOUNT DECIMAL(15;2)

L_TAX DECIMAL(15;2)

L_RETURNFLAG CHAR(1)

L_LINESTATUS CHAR(1)

L_SHIPDATE DATE

L_COM MITDATE DATE

L_RECEIPTDATE DATE

L_SHIPINSTRUCT CHAR(25)

L_SHIPMODE CHAR(10)

L_COMM ENT VARCHAR(44)

Рис. 3. Схема данных TPC-H Fig. 3. TPC-H data schema

имен атрибутов: Яц Л;, Лф е [Я]; М - множество мер, также заданных в виде расширенных имен атрибутов. Значения Ок являются значениями координат гиперкуба, значения М будут располагаться в рабочей области гиперкуба. Для каждой размерности задается ограничение в виде логической формулы Гк.

Пример 1. Необходимо найти данные заказов (код, дата, общая сумма, имя клиента) клиентов из Бразилии и Японии, включающие позиции от поставщика с кодом 54, оплата которых была выполнена с 02.02.1998 по

28.10.1998, с доставкой авиа- и ж/д транспортом, при этом товары были доставлены до 29.11.1998.

С целью упрощения постановки и реализации в примерах не используемые в выборке атрибуты опускаются. Таким образом, в рамках описанной схемы БД имеем следующее подмножество атрибутов: Л1 - код заказа, Л2 -код позиции заказа, Лз - код клиента, Л4 - код страны, Л5 - код поставщика, Лб - дата заказа, Л7 - общая сумма заказа, Л8 - имя клиента, Л9 - название страны, Л10 - дата платежа,

An - дата доставки, A12 - способ доставки. Здесь существуют следующие функциональные зависимости: DEP = {Ai ^АзАб(А?), A2 ^ ^ A1A5A10A11A12, A3 ^ A4A8, A4 ^ A9}. На основании данного подмножества получаем упрощенную схему отношений: заказы = = R.1(Ai, A3, Ae, Ai), позиции заказов = R2A2, A1, A5, A10, A11, A12), клиенты = Яз(Аз, A4, As), страны = R4(A4, A9), где жирным выделены ключевые атрибуты отношений. Одно из возможных представлений гиперкуба приведено на рисунке 4.

Атрибуты измерений выделены жирным шрифтом, атрибуты фактов - курсивом, значения атрибутов - обычным шрифтом. Схема гиперкуба (рис. 4) может быть представлена в следующем виде: {R1Ae(R1A7)} х х {R2A5{R2A10{R2A11{R^12}}}} х {ЛзЛ8} х

X {R4.A9}, где D1 = {R1.Ae}, D2 = {R2.A5, R2A10, R2A11, R2A12}, D3 = {R3.As} и D4 = {R4.A9} -измерения, M = {R1A7} - факты. Логическое ограничение: F = ((R4.A9 = 'BRAZIL' v R4A9 = = 'JAPAN') л R2.A5 = 54 л R2.A10 <

< '02.02.1998' л R2A10 > '28.10.1998' л R2.An<

< '28.11.1998' л (R2A12 = AIR' v R2A12 = = 'RAIL)).

Соответствующий SQL-запрос выглядит следующим образом:

select O.O_ORDERKEY, O.O_ORDERDATE, O.O_TOTALPRICE, C.C_NAME from ORDERS O

left join LINEITEM L on O.O_ORDERKEY = = L.L_ORDERKEY

left join CUSTOMER C on O.O_CUSTKEY = = C.C_CUSTKEY

left join NATION N on C.C_NATIONKEY = = N.N_NATIONKEY where L.L_SUPPKEY = 54

and L.L_RECEIPTDATE between TO_DATE('02.02.1992', 'dd.mm.yyyy') and TO_DATE('28.10.1998', 'dd.mm.yyyy') and L.L_SHIPDATE < TO_DATE ('28.11.1998', 'dd.mm.yyyy') and L.L_SHIPMODE in ('AIR', 'RAIL') and N.N_NAME in ('BRAZIL', 'JAPAN');

Пример 2. Необходимо найти данные оплат поставленных товаров поставщику с кодом 75 для клиентов из Европы.

Задано минимальное подмножество атрибутов: A1 - код позиции заказа, A 2 - код заказа, A3 - код клиента, A4 - код страны, A5 - код региона, Ae - код поставщика, A7 - номер позиции, As - дата платежа, A9 - количество товара в позиции, A10 - цена, A11 - название страны, A12 - название региона. На данном множестве атрибутов существуют следующие функциональные зависимости: DEP = {A1 ^ ^ A^eA7As(A^10), A2 ^ A3, A3 ^ A4, A4 ^

^ A5A10, As ^ An}. Получаем схему отношений: позиции заказов = R1(A1, A2, A6, A7, A8, A9, A10), заказы = R2A2, A3), клиенты = Лз(Аз, A4), страны = R4A4, As, A11), регионы = Rs(As, A12). Одно из возможных представлений гиперкуба приведено на рисунке 5.

Схема гиперкуба (рис. 5) может быть представлена следующим образом: {R1.A6{R1.A7 (R1.A9)}(R1.A10)} X {R4.A11} х {R5.A12}, где D1 = {R1^6, R1.A7}, D2 = {R4.A11} и D3 = = {RS.A12} - измерения, M1 = {R1.A9} и M2 = = {RbA10} - факты. Логическое ограничение: F = (R1.A6 = 75 л Rs.An = 'EUROPE').

Пример соответствующего SQL-запроса:

select L.L_LINENUMBER, L.L_RECEIPTDATE, L.L_QUANTITY * L.L_EXTENDEDPRICE as cost, N.N_NAME from LINEITEM L

left join ORDERS O on L.L_ORDERKEY = = O.O_ORDERKEY

left join CUSTOMER C on O.O_CUSTKEY = = C.C_CUSTKEY

left join NATION N on C.C_NATIONKEY = N.N_NATIONKEY left join REGION R on N.N_REGIONKEY = R.R_REGIONKEY where L.L_SUPPKEY = 75 and R.R_NAME = = 'EUROPE';

Примечательно, что в SciCMS описанные механизмы можно использовать двумя способами. В первом случае при использовании сущностей, содержащих произвольный запрос, гиперкуб строится напрямую средствами SQL. Второй вариант опирается на графовую природу протокола GraphQL и позволяет выполнять построение кубов необходимой размерности на схеме, обладающей свойством соединения без потерь информации, используя исключительно API GraphQL. Возможен также смешанный вариант, при котором запрос GraphQL на сущностях «только для чтения» с произвольными запросами комбинируется с получением связанных сущностей из реальных таблиц.

Несмотря на перечисленные возможности системы, в ряде случаев все же могут потребоваться механизмы импорта и преобразования данных. В качестве примера можно привести работу с нереляционной СУБД, необходимость в наличии заранее рассчитанных агрегатных значений, сложность и высокую стоимость прямых SQL-запросов и т.д. Для применения в подобных обстоятельствах SciCMS также имеет собственный модуль импорта и трансформации данных, основанный на фреймворке с открытым исходным кодом Apache Spark [12].

Код поставщика 54

Страна Бразилия Япония

Способ доставки Авиа Ж/д Авиа Ж/д

Дата заказа Сумма Сумма Сумма Сумма

21.01.1998 74400,72 37642,97 215242,29 135068,75

04.02.2021 176100,92 25692,07 136280,88 330490,79

03.07.1998 36784,63 99554,29 225136,87 183673,68

Рис. 4. Форма данных заказов

Fig. 4. An order data form

Код поставщика 75

Регион Европа

Страна Германия Россия Великобритания Франция

Номер позиции Общая сумма Общая сумма Общая сумма Общая сумма

11 21735.2 167477 15585.12 362409.75

12 3300102.47 3780782.67 152926.38 3881625

13 154364 3460320 696736 35362.75

Рис. 5. Форма оплаты поставщику Fig. 5. A payment form to a supplier

Выводы

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

Эффективным решением перечисленных проблем является предлагаемый способ построения трехмерных кубов, реализованный в ИИС БаСМБ. Его суть - в использовании уже имеющихся сущностей (построенных на реляционных таблицах) с выделением в них атрибутов даты/времени, местоположения и метрик. Поскольку БсЮМБ уже хранит все метаданные сущностей, для настройки параметров куба достаточно выбрать нужные атрибуты в качестве осей. Это дает возможность динамически (в зависимости от параметров визуализации) изменять требуемые оси куба. Важной особенностью предлагаемого механизма построения ОЬЛР-кубов является то, что система БсЮМБ может быть подключена к неограниченному числу источников данных одновре-

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

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

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

Ввиду своей открытости, а также в соответствии с реализуемым в нашей стране масштаб-

ным проектом по импортозамещению в сфере информационно-коммуникационных технологий данный инструментарий может использо-

ваться широким кругом отечественных предприятий как эффективная альтернатива западным решениям.

Список литературы

1. Ткачева Н.В., Сухомлинова М.И., Северина Ю.Н., Шевченко А.Н. Сравнительная оценка BI-продуктов и платформ как инструмента разработки информационно-аналитических систем // Регион: Системы, экономика, управление. 2014. № 4. С. 235-240.

2. Куликова Г.А. Оценка динамики рынков средств бизнес-аналитики в современных условиях // Вестн. ОКСУ. Информационные технологии. 2021. № 2. С. 76-81. doi: 10.52374/78548596_2021_18_2_76.

3. Кохно П.А., Прокопова Т.В. Современный уровень автоматизации систем принятия решений предприятиями оборонно-промышленного комплекса // Научн. вестн. оборонно-промышленного комплекса России. 2017. № 1. С. 40-53.

4. Ильяшенко В.М. Обзор российских систем бизнес-аналитики: вызовы и возможности // Развитие науки и практики в глобально меняющемся мире в условиях рисков: сб. матер. X Междунар. науч.-практич. конф. 2022. С. 109-113.

5. Гончарова Ю.А., Андреева Н.М. Чтение данных периодического регистра сведений «1С:Предприятие 8.1» методами табличной модели информационной базы // Актуальные проблемы авиации и космонавтики: матер. конф. 2012. № 1. С. 393-394.

6. Черныш Б.А., Мурыгин А.В. Динамическая схема GraphQL в реализации интегрированной информационной системы // Программные продукты и системы. 2022. Т. 35. № 4. С. 561-566. doi: 10.15827/0236-235X.140. 644-653.

7. Бухонов Д.О., Сергеева О.О., Говоров П.Ю., Дурманов В.В. и др. Применение технологии OLAP-кубов для анализа данных // Вестн. ДИТИ. 2021. № 2. С. 48-54.

8. Гарсиа-Молина Г., Ульман Дж., Уидом Дж. Системы баз данных. Полный курс; [пер. с англ.]. М.: Вильямс, 2017. 1088 с.

9. Липина А.С., Леготин Д.Л. Использование метода анализа иерархий для проверки производительности СУБД // Обучение фрактальной геометрии и информатике в вузе и школе в свете идей академика А.Н. Колмогорова: матер. Междунар. науч.-методич. конф. 2016. С. 117-119.

10. Зыкин С.В., Мосин С.В., Полуянов А.Н. Технология раздельного формирования многомерных данных // Вестн. ДГТУ. 2016. № 2. С. 121-128. doi: 10.12737/19696.

11. Harrington J.L. Relational Database Design and Implementation. Morgan Kaufmann Publ., 2016, 712 p. doi: 10.1016/c2015-0-01537-4.

12. Трофимцов Е.В. Анализ данных с использованием фреймворка Apache Spark // Актуальные проблемы прикладной математики, информатики и механики: сб. тр. Междунар. науч. конф. 2022. С. 1071-1076.

Software & Systems doi: 10.15827/0236-235X.142.237-244 2023, vol. 36, no. 2, pp. 237-244

Using three-dimensional data cubes in the implementation of a business intelligence system

Boris A. Chernysh Aleksandr V. Murygin

For citation

Chernysh, B.A., Murygin, A.V. (2023) 'Using three-dimensional data cubes in the implementation of a business intelligence system', Software & Systems, 36(2), pp. 237-244 (in Russ.). doi: 10.15827/0236-235X.142.237-244 Article info

Received: 29.11.2022 After revision: 15.02.2023 Accepted: 20.02.2023

Abstract. Business analysis is one of the key management tools that allows getting a reliable picture of the current business situation in an enterprise in all areas of its activity. To ensure this process in any company, there are various data used as its performance indicators. The data source is primarily integrated information systems (IIS) of various types (ERP -Enterprise Resource Planning, CRM - Customer Relationship Management, MES - Manufacturing Execution System, etc.) These systems either incorporate business analysis tools (BI - Business Intelligence) or use specialized solutions that allow performing complex analytical tasks according to a given formulation. This article discusses the features of both approaches, their advantages and disadvantages, provides examples of foreign and domestic products for business analysis existing on the market. The authors propose a method for constructing three-dimensional cubes using the data contained in this system on the example of the BI-module developed by the authors of the IIS SciCMS. There are descriptions of the

used methods and algorithms, the initial requirements and limitations. The authors have carried out the formalization of tasks and considered the mathematical apparatus for constructing multidimensional data models based on information from a fixed set of normalized tables of a relational database. There are examples of SQL queries and output data. In some cases (working with a non-relational DBMS, the need for pre-calculated aggregate values, the complexity and high cost of direct SQL queries, etc.), the described method for building multidimensional cubes may not be applicable. The solution to this problem in SciCMS is its own data import and transformation module based on an open source library. The article summarizes the main advantages and disadvantages of the proposed approach, the prospects for its use in domestic enterprises. Keywords: multidimensional representation, databse, BI, OLTP, OLAP, business intelligence, analytical processing, three-dimensional cube, relational schema, normalization, normal form, integrated information system, GraphQL, SciCMS

Reference List

1. Tkacheva, N.V., Sukhomlinova, M.I., Severina, Yu.N., Shevchenko, A.N. (2014) 'Comparative appraisal of BI-products and platforms as an instrument of analytical systems engeneering', Region: Systems, Economy, Management, (4), pp. 235-240 (in Russ.).

2. Kulikova, G.A. (2021) 'Assessment of the dynamics of the markets of business intelligence tools in modern conditions', Bul. of the Educ. Consortium Central Russ. Univ. Inform. Technol., (2), pp. 76-81. doi: 10.52374/ 78548596_2021_18_2_76 (in Russ.).

3. Kokhno, P.A., Prokopova, T.V. (2017) 'Modern level of automation of systems of decision-making of defense industry complex by the enterprises', Sci. Bull. of the Military-Industrial Complex of Russia, (1), pp. 40-53 (in Russ.).

4. Ilyashenko, V.M. (2022) 'Overview of Russian business intelligence systems: Challenges and opportunities', Proc. 10th Intl. Sci.-Pract. Conf. Development of Sci. and Pract. in a Globally Changing World Under the Conditions of Risks, pp. 109-113 (in Russ.).

5. Goncharova, Yu.A., Andreeva, N.M. (2012) 'Reading the data of the periodic information register "1C: Enterprise 8.1" using the methods of the information base tabular model', Proc. Current Problems of Aviation and Astronautics, (1), pp. 393-394 (in Russ.).

6. Chernysh, B.A., Murygin, A.V. (2022) 'A GraphQL dynamic schema in integrated information system implementation', Software & Systems, 34(4), pp. 561-566. doi: 10.15827/0236-235X.140.644-653 (in Russ.).

7. Bukhonov, D.O., Sergeeva, O.O., Govorov, P.Yu., Durmanov, V.V. et al. (2021) 'Application of OLAP cube technology for data analysis', Vestn. of DIET, (2), pp. 48-54 (in Russ.).

8. Garsia-Molina, H., Ullman, J.D., Widom, J. (2002) Database Systems: The Complete Book, NJ: Prentice Hall Publ., 1248 p. (Russ. ed.: Moscow, 2017, 1088 p.).

9. Lipina, A.S., Legotin, D.L. (2016) 'The use of the analytic hierarchy process for performance testing DBMS', Proc. Conf, pp. 117-119 (in Russ.).

10. Zykin, S.V., Mosin, S.V., Poluyanov, A.N. (2016) 'Technology of separate generation of multidimensional data', Vestn. of DSTU, (2), pp. 121-128. doi: 10.12737/19696 (in Russ.).

11. Harrington, J.L. (2016) Relational Database Design and Implementation, Morgan Kaufmann Publ., 712 p. doi: 10.1016/c2015-0-01537-4.

12. Trofimtsov, E.V. (2022) 'Data analysis using the Apache Spark framework', Proc. Intern. Sci. Conf. on Current Problems of Applied Mathematics, Informatics and Mechanics, pp. 1071-1076 (in Russ.).

Авторы

Черныш Борис Александрович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

аспирант, borisblack@mail.ru Мурыгин Александр Владимирович ', д.т.н., профессор, зав. кафедрой информационно-управляющих систем, avm514@mail.ru

1 Сибирский государственный университет науки и технологий им. академика М.Ф. Решетнева, г. Красноярск, 660037, Россия

Authors Boris A. Chernysh ',

Postgraduate Student, borisblack@mail.ru Aleksandr V. Murygin ', Dr.Sc. (Engineering), Professor, Head of Department of Information and Control Systems, avm514@mail.ru

1 Reshetnev Siberian State University of Science and Technology, Krasnoyarsk, 660037, Russian Federation

i Надоели баннеры? Вы всегда можете отключить рекламу.