ВИТРИНЫ ДАННЫХ КАК УНИВЕРСАЛЬНЫЙ ИНСТРУМЕНТ ДЛЯ ОБРАБОТКИ БОЛЬШОГО ОБЪЕМА ДАННЫХ

УДК62

Мурзакова И.Ф.

Самарский национальный исследовательский университет имени академика С.П. Королева, г. Самара

Научный руководитель: к.ф-м.н., доцент Никишов В.Н.

ВИТРИНЫ ДАННЫХ КАК УНИВЕРСАЛЬНЫЙ ИНСТРУМЕНТ ДЛЯ ОБРАБОТКИ БОЛЬШОГО ОБЪЕМА ДАННЫХ

Аннотация: В настоящее время, все больше организаций самых различных сфер жизни сталкивается с вопросом: «Как обрабатывать большой объем данных?». Но ведь объем данных это не единственная проблема, с которой может столкнуться любая компания. Данные зачастую имеют сложную структуру, включают в себя разрозненные массивы информации. При этом, каждый раз обращаться к таким данным для получения результата занимает слишком много времени. А если специалист не знает заранее, какие именно ему потребуются данные? К какому массиву информации следует обращаться. Зачастую такие вопросы необходимо решать без вмешательства программистов. В этом случае, понадобится такой инструмент по работе с данными, который будет способен самостоятельно обрабатывать большие объемы данных. На помощь специалисту приходят логические витрины данных.

Актуальность темы исследования заключается в том, что в условиях современной экономики для каждого предприятия становится актуальным повысить конкурентоспособность и сохранить ее на должном уровне. Системы построены с помощью данной технологии, дают фактически безграничные возможности по составлению отчетов, построению прогнозов и сценариев, разработки множества вариантов планов.

Ключевые слова: витрина данных, многомерные модели, OLAP-кубы, измерения куба, количество информации, агрегаты.

Введение

Определимся с трактовкой данного термина. В различных источниках упоминаются различные определения для «витрины данных», но в общем данные инструмент можно описать как некий «срез некого хранилища информации или базы данных, представляющий собой набор узконаправленной информации, специализированной информации, предназначенной для удовлетворения запросов сотрудников определенной направленности». Для лучшего понимания данного термина рассмотрим пример. Представим некое производство, на котором в работе одновременно находится несколько десятков различных установок. На каждой установке находится несколько датчиков, которые считывают основные показатели установок. Получение информации с датчиков происходит в режиме реального времени, круглосуточно. Каждый час, с каждого датчика считывается результат и заносится в базу. А теперь представьте, какой объем данных будет хранится в этой базе. И сколько времени понадобится специалисту для получения информации, с какого-то конкретного датчика. А осуществить выборку какого-либо показателя со всех установок? Заранее невозможно предугадать и запрограммировать все возможные запросы, которые могут потребоваться. Тем не менее специалист будет действовать и создавать запрос к базе в терминах, которые подразумевают работу с его областью. Именно эти термины чаще всего и будут сущностями базы данных [1]. А для того, что при каждом запросе не производить полный перебор данных, для удобства специалиста можно построить граф, который будет отображать основную работу (основной запрос). И данный граф будет служить наглядным примером того, как и будет действовать запрос. И в соответствии с этим графом и будет работать витрина данных.

Ход исследования

Благодаря данной технологии сложный алгоритм поиска данных из огромного объема информации сведется к алгоритму:

  1. Специалист осуществляет запрос к базе данных.
  2. Витрина данных определяет, где находится тот массив данных, который нужен для данного запроса.
  3. Далее витрина выполняет запрос к источнику данных, применяя различные фильтры.
  4. Витрина получает ответы от базы и собирает их в граф.
  5. Затем происходит пост-обработка графа.
  6. Теперь запрос специалиста будет выполнен на этом графе, а ответ, полученный в результате запроса вернется аналитику.

Конечно все эти действия скрыты от глаз пользователя и располагаются внутри витрины [2].

Сами витрины данных могут так же принимать различные формы. Начиная от баз данных «клиент-сервер», заканчивая технологиями OLAP-кубов. На последних как раз и остановимся. Что же такое OLAP-куб? OLAP-куб – это многомерный массив данных. В качестве индексов массива используются измерения, они же – оси куба. Как известно их 3. Значения элементов массива – меры. Отобразить это можно в формуле:

где x,y,z – измерения куба.

В отличии от обычных массивов, которые встречаются во многих языках программирования, доступ к элементам данного куба может осуществляться не только по полному набору индекс-измерений, но и по их множеству. В таком случае в результате мы получим не один элемент, а множество, которое будет являться аргументом для агрегирующей функции [3]:

А далее, имея меры (фактические записи о процессе, которые будет анализировать специалист) и измерения (атрибуты факторов, которые отвечают на такие вопросы как: когда произошел факт, над чем, кто был объектом или субъектом и так далее) необходимо определиться с топологией будущего куба. Модели может быть две: звезда и снежинка. Проще построить модель звезды, если можно определить где в модели факты, а где измерения. Для того, чтобы построить такую модель достаточно расположить в центре таблицу фактов, а от ней «лучами» выводить измерения. Топология снежинка – это та же звезда, только измерения в «лучах» могут зависеть от измерений следующего уровня, которые в свою очередь могут включать еще уровни. У каждой схемы соответственно присутствую свои достоинства и недостатки. Выбор модели должен осуществляться исходя из требований к дизайну куба, дискового пространства, скорости и объема загрузки данных и так далее. Конечные кубы могут иметь более сложную структуру и содержать в себе сразу несколько звезд или снежинок, которые могут совместно использовать общие измерения.

В основе моделирования куба лежат такие основные понятия как:

  1. Измерение. Всю иерархию мы можем представить, как объединение нескольких измерений в одно множество. Будем рассматривать так называемые иерархические измерения. Таким образом для каждого k-го измерения будет существовать уровней иерархии. А общее количество членов k-го измерения можно посчитать по формуле:
  2. Агрегаты. Нечто составное, совокупность элементов, образующих систему или её часть. Часть модели. В случае с кубом, так как присутствует 3 измерения: , количество всех агрегатов системы можно представить:

Таким образом задаются оси. Наличие нулей и единиц в двоичной форме показывают наличие или отсутствие конкретного измерения. При перемножении измерений получаем производные точки:

  1. Количество информации. Каждый член измерения куба будет вносить в модель дополнительную информацию, описывающую состояние системы. И сумма всех членов измерений будет описывать общее состояние системы. Представить это можно при помощи формулы:

Вспомним формулу Хартли. Формула Хартли (она же хартлиевское количество информации, она же мера Хартли) – это логарифмическая мера информации, которая определяет, сколько информации содержится в сообщении:

где I – количество информации в битах, а N – количество вариантов. Подставив на место N общее количество состояний системы, возведенное в степень, равную коэффициенту эмерджентности Хартли, получим:

где ϕ — коэффициент эмерджентности Хартли. По данному коэффициенту определяется уровень степень детерминированности системы. Если коэффициент равен 1 – система полностью детерминирована, если 0 – совершенно случайна [4].

Таким образом, в данной статье, были выделены основные модели и структуры для построения витрины данных. Выделены основные понятия и параметры.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Универсальная интернет — библиотека Wikipedia: [Электронный ресурс]. – URL: https://ru.wikipedia.org/wiki/Витрина_данных
  2. Информационный портал OSP: [Электронный ресурс]. – URL: https://www.osp.ru/winitpro/2011/01/13008265
  3. Платформа Хабр: [Электронный ресурс]. – URL: https://habr.com/ru/post/280051/
  4. Универсальная интернет — библиотека Wikipedia: [Электронный ресурс]. – URL: https://ru.wikipedia.org/wiki/Формула_Хартли

©Мурзакова И.Ф.