Научная статья на тему 'Объемные структуры данных и аспекты их применения'

Объемные структуры данных и аспекты их применения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
191
21
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБЪЕМНАЯ СТРУКТУРА ДАННЫХ / СРЕЗ / ДЕТАЛИЗАЦИЯ / OLAP / МЕРА / ПРИЕМНАЯ КОМИССИЯ / VOLUME STRUCTURE OF DATA / CUT / DRILL / MEASURE / SELECTION COMMITTEE

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

В настоящее время достаточно широко применяются объемные структуры данных, предполагающие расположение двухмерных таблиц в несколько слоев. Подобные структуры позволяющие организовать сравнения данных в нескольких слоях и оперативно анализировать их. Примером практического применения объемных структур является сравнение нескольких учебных планов при переводе/восстановлении студентов вузов с целью расчета переводных задолженностей.

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

Volume data structures and aspects of their use

At the present time is a widely used volume data structure, involving two-dimensional arrangement of the tables in several layers. This structure allows to organize a comparison of data in multiple layers and analyze them quickly. An example of practical application of volume structures is the comparison of several curricula for transfer / restoration of university students in order to calculate the conversion of debts.

Текст научной работы на тему «Объемные структуры данных и аспекты их применения»

- © Р.В. Черников, 2014

УДК 004.6

Р.В. Черников

ОБЪЕМНЫЕ СТРУКТУРЫ ДАННЫХ И АСПЕКТЫ ИХ ПРИМЕНЕНИЯ

В настоящее время достаточно широко применяются объемные структуры данных, предполагающие расположение двухмерных таблиц в несколько слоев. Подобные структуры позволяющие организовать сравнения данных в нескольких слоях и оперативно анализировать их. Примером практического применения объемных структур является сравнение нескольких учебных планов при переводе/восстановлении студентов вузов с целью расчета переводных задолженностей.

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

Объемная структура данных -многомерный массив данных разреженный и долговременно хранимый [1].

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

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

Таблица фактов - основная таблица хранилища данных. Как правило, она содержит сведения об объектах или событиях, совокупность которых будет в дальнейшем анализироваться. Обычно говорят о четырех наиболее часто встречающихся типах фактов. К ним относятся:

• факты, связанные с транзакциями (Transaction facts). Они основаны на отдельных событиях (типичными примерами которых являются телефонный звонок или снятие денег со счета с помощью банкомата);

• факты, связанные с «моментальными снимками» (Snapshot facts). Основаны на состоянии объекта (например, банковского счета) в определенные моменты времени, например на конец дня или месяца. Типичными примерами таких фактов являются объем продаж за день или дневная выручка;

• факты, связанные с элементами документа (Line-item facts). Основаны на том или ином документе (например, счете за товар или услуги) и содержат подробную информацию об элементах этого документа (например, количестве, цене, проценте скидки);

• факты, связанные с событиями или состоянием объекта (Event or state facts). Представляют возникновение события без подробностей о нем (на-

пример, просто факт продажи или факт отсутствия таковой без иных подробностей) [2].

Таблицы измерений содержат неизменяемые либо редко изменяемые данные. В подавляющем большинстве случаев эти данные представляют собой по одной записи для каждого члена нижнего уровня иерархии в измерении. Таблицы измерений также содержат как минимум одно описательное поле (обычно с именем члена измерения) и, как правило, целочисленное ключевое поле (обычно это суррогатный ключ) для однозначной идентификации члена измерения. Если будущее измерение, основанное на данной таблице измерений, содержит иерархию, то таблица измерений также может содержать поля, указывающие на «родителя» данного члена в этой иерархии. Нередко (но не всегда) таблица измерений может содержать и поля, указывающие на «прародителей», и иных «предков» в данной иерархии (это обычно характерно для сбалансированных иерархий), а также дополнительные атрибуты членов измерений, содержавшиеся в исходной оперативной базе данных (например, адреса и телефоны клиентов) [2].

Количество возможных агрегирований определяется количеством способов, которыми первоначальные данные могут быть иерархически отображены. ОЬДР-куб содержит в себе базовые данные и информацию об измерениях (агрегатах). Куб потенциально содержит всю информацию, которая может потребоваться для ответов на любые запросы. Из-за громадного количества агрегатов, зачастую полный расчет происходит только для некоторых измерений, для остальных же производится «по требованию» [1]. Рассмотрим ОЬДР-куб более подробно (рис. 1).

Оси куба представляют собой измерения, по которым откладывают

I |

Рис. 1

Рис. 3

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

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

С OLAP-кубом можно выполнять следующие операции:

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

Детализация - операция, которая определяет переход от детального представления данных к агрегированному и наоборот, соответственно (рис. 3) [2].

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

Сравнение планов процесс небыстрый и очень кропотливый - приходится долго ждать результата. Для этого нужна четкая организация учета дисциплин.

В МГГУ существует специальная программа в Excel, которая помогает сравнить учебные планы, но в ней не предусмотрено возможности сравнения поданных планов с планами нескольких специальностей. Если человек хочет узнать расхождения, на-

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

Главной особенностью объемных структур является то, что осуществляется быстрый доступ к данным, независимо от размеров массива. Так как основной упор именно на этом, хранилище данных обычно строится по принципам, отличным от принципов реляционных баз данных. Здесь, время на выборку простых данных измеряется в долях секунды, а запрос, превышающий несколько секунд, скорее всего, требует оптимизации.

Для обеспечения наиболее высокой скорости доступа к данным, кроме специальных структур данных, объемные структуры поддерживают многоуровневое кэширование. Кроме кэширования простых запросов, также кэшируются части вычитанных из хранилища данных, агрегированные значения, вычисленные значения. Таким образом, чем дольше работаешь с кубом, тем быстрее он, по сути, начинает работать.

Будем использовать базы данных для хранения учебных планов, и срав-

Рис. 5 Рис. 6

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

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

Сделаем срез: выберем только те планы из всех, которые нужны для сравнения и все операции будем проводить только с ними, а ни со всей базой данных (рис. 5).

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

Отсюда можно сделать вывод, что использование объемных структур данных очень удобно при анализе и сравнении большого количества информации: все вычисления происходят на сервере, а не на компьютере - скорость работы значительно возрастает.

_ СПИСОК ЛИТЕРАТУРЫ

1. URL: http://ru.wikipedia.org/wiki/ 2. Полубояров В.В. Использование MS OLAP SQL Server Analysis Services 2008 для по-

строения хранилищ данных. ЕШ

КОРОТКО ОБ АВТОРЕ_

Черников Роман Викторович - студент, e-mail: rombik.sto@gmail.com, МГИ НИТУ «МИСиС».

UDC 004.6

VOLUME DATA STRUCTURES AND ASPECTS OF THEIR USE

Chernikov R.V., Student, e-mail: rombik.sto@gmail.com,

Moscow Mining Institute, National University of Science and Technology «MISiS».

At the present time is a widely used volume data structure, involving two-dimensional arrangement of the tables in several layers. This structure allows to organize a comparison of data in multiple layers and analyze them quickly. An example of practical application of volume structures is the comparison of several curricula for transfer / restoration of university students in order to calculate the conversion of debts.

Key words: volume structure of data, cut, drill, OLAP, measure, the selection committee.

REFERENCES

1. URL: http://ru.wikipedia.org/wiki/OLAP

2. Poluboyarov V.V. Ispol'zovanie MS SQL Server Analysis Services 2008 dlya postroeniya khranilishch dannykh (Application of MS SQL Server Analysis Services 2008 for construction of data storages).

4Í5

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