РЕАЛИЗАЦИЯ МЕХАНИЗМОВ НАСЛЕДОВАНИЯ ДЛЯ ОБЕСПЕЧЕНИЯ РЕТРОСПЕКТИВНОГО OLAP-АНАЛИЗА


Цитировать

Полный текст

Аннотация

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

Полный текст

Многомерная модель данных в технологии опера- тивной аналитической обработки (On-line Analytical Processing, OLAP) оперирует двумя базовыми поня- тиями: таблицами фактов и таблицами измерений. Таблицы фактов включают в себя описания некото- рых событий реальной жизни (фактов) в разрезе пока- зателей (Measures) и измерений (Dimensions), а табли- цы измерений содержат шкалы, по которым анализи- руются показатели [1]. Как правило, таблицы измере- ний состоят из редко изменяемого набора значений, исчерпывающе описывающего отдельный признак ис- следуемого объекта предметной области. Частота моди- фикации измерений при этом может меняться в широ- ком диапазоне. Например, измерения «месяцы», «пол» не изменяются никогда, измерения «страны», «города» изменяются очень редко, измерения «подразделения», «виды деятельности» – довольно редко, а измерения «клиенты», «проекты» − сравнительно часто. *Работа выполнена при финансовой поддержке гранта ФЦП «Научные и научно-педагогические кадры инновационной России на 2009–2013 годы» (ГК № 02.740.11.0621 от 29 марта 2010 г.). 41 Математика, механика, информатика В тех случаях когда измерения подвержены пе- риодическим изменениям, возникает задача представ- ления таких измерений, чтобы обеспечить возмож- ность ретроспективного анализа данных [2; 3]. Для решения этой задачи необходимо, чтобы все факты, относящиеся к разным периодам времени, при анали- зе ссылались именно на то состояние измерения, ко- торое было на момент возникновения факта. Кроме того, нужно обеспечить возможность плавного пере- хода от одного периода времени к другому, с про- зрачным для пользователя преобразованием изме- няющихся во времени значений измерения. В ходе решения этой задачи автором были разра- ботаны методы и средства для поддержки темпораль- ной (временнόй) целостности и реализации механиз- мов наследования в справочниках и классификаторах, используемых в качестве аналитических OLAP- измерений для оперативной аналитической обработки больших объемов многомерных данных. Суть методики поддержки темпоральной целост- ности состоит в следующем. В структуру справочни- ка, представляющего таблицу измерения, вводятся поля периода действия (Validity Fields) и для каждого измерения создается журнал изменений (Log Table), отражающий полную историю модификации данных в измерении. С использованием журнала изменений строится специализированное ретроспективное пред- ставление (Retrospective View), отражающее состоя- ние измерения в различных временных периодах. Это представление замещает собой оригинальное из- мерение при анализе данных, а механизмы аналити- ческого OLAP-инструмента модифицируют запросы к данным таким образом, чтобы из представления вы- бирались записи, соответствующие заданному перио- ду времени. Реализация механизмов наследования данных в аналитических измерениях основана на использова- нии идентифицирующих полей (Identity Fields), т. е. полей, изменение которых является достаточным ус- ловием для прекращения действия записи и создания на ее основе новой записи с установкой наследствен- ной связи между этими двумя записями. Наследст- венные связи, возникающие между записями измере- ния в ходе модификаций, фиксируются в специальной таблице истории преобразования (History Table). Эта таблица также используется при создании ретроспек- тивного представления для определения взаимосвязей между записями разных периодов времени и обеспе- чения прозрачного перехода между ними. Поддержка темпоральной целостности. Для обеспечения временной целостности данных в струк- туру каждого аналитического измерения вводится семь служебных полей, отвечающих за хранение пе- риода действия записи: – дата и основание введения записи в действие; – дата и основание прекращения действия записи; – дата и основание последней модификации записи; – дата фактического создания записи. Средствами автоматизированной системы, отве- чающей за управление измерениями, обеспечивается контроль заполнения этих полей соответствующими значениями в течение времени жизни записи. Все пе- речисленные поля, кроме полей прекращения дейст- вия, обязательны для заполнения в каждой записи. Дата и основание прекращения действия записи, как правило, остаются пустыми для действующих запи- сей. Если же срок и основание прекращения действия записи становятся известными заранее, то они также могут быть указаны. Введение в структуру измерения сведений о пе- риоде действия записи позволяет отслеживать область видимости каждой записи на шкале времени. Благо- даря этому становится возможной автоматическая фильтрация записей измерения в зависимости от ус- тановленной даты. Для каждого измерения создается служебная таб- лица – журнал изменений, который предназначен для хранения сведений обо всех модификациях данных в измерении. Журнал изменений включает в себя все поля таблицы измерения, в том числе поля периода действия, а также содержит дополнительные поля: «Тип операции» и «Автор операции». В поле «Тип операции» фиксируется характер операции: Insert, Update, Delete. В поле «Автор операции» сохраняются данные о пользователе, которые выполнил указанную операцию. Фиксация данных в журнале изменений производится полностью автоматически с помощью соответствующих триггеров базы данных. В результа- те в журнале накапливается исчерпывающая инфор- мация обо всех изменениях аналитического измере- ния, начиная с момента его создания. Система разделения прав доступа обеспечивает защиту журналов от любых операций, кроме вставки новых данных и чтения. Таким образом, данные, со- держащиеся в журнале изменений, могут использо- ваться не только для ретроспективного анализа дан- ных, но и для контроля и анализа изменений, произ- водимых пользователями. Наследование данных в измерениях. Вторым элементом рассматриваемой задачи является хране- ние информации о переходе одной записи в другую с течением времени, т. е. реализация механизмов на- следования записей. В этом случае для записей анали- тического измерения вводятся термины «потомок» и «предок». Запись считается потомком другой запи- си, если необходимо обеспечить наследственную пре- емственность анализируемых данных. Для этого дол- жен быть зафиксирован факт наследственного пере- хода одной записи в другую. Для одной записи измерения теоретически воз- можно существование разного числа предков и по- томков в границах от 0 до N. Таким образом, в зави- симости от условий перехода, т. е. от числа предков и числа потомков, насчитывается 32 = 9 вариантов наследственных переходов (см. таблицу и рис. 1). Представленные варианты наследственных пере- ходов являются исчерпывающим списком, и их реа- лизация позволит обеспечить любые практические потребности наследования данных в аналитических измерениях. 42 Вестник Сибирского государственного аэрокосмического университета имени академика М. Ф. Решетнева Варианты наследственных переходов № п/пЧисло предковЧисло потомковОписание перехода 100Редактирование существующей записи 201Создание новой записи 310Прекращение действия записи без наследника 40NСоздание нескольких новых записей 511Прямое наследование – прекращение действия записи с указанием потомка- наследника 61NМножественное наследование – прекращение действия записи с указанием нескольких наследников 7N0Прекращение действие записей без наследников 8N1Слияние записей – прекращение действия нескольких записей с указанием одного прямого наследника для всех записей 9NNПрекращение действия нескольких записей с указанием нескольких наслед- ников для каждой записи A A A A A B A B A B A′ A Х A B B B C C C D 1 2 3 4 5 6 7 8 9 Рис. 1. Графическое представление наследственных переходов (кружками с прерывистой линией границы обозначены не существовавшие ранее записи, а также записи, прекратившие действие) Механизмы наследования данных. Для хранения информации о наследственных переходах записей измерения создается еще одна служебная таблица – таблица истории преобразования, имеющая следую- щую структуру: – ключевое поле; – ссылка на предка; – ссылка на потомка; – дата создания записи в истории. При необходимости таблица истории преобразо- вания может быть расширена дополнительными атри- бутивными полями. Средства автоматизированной системы, управляющей аналитическими измерения- ми, должны обеспечивать фиксацию в истории преоб- разования информации о наследственных переходах между записями. Для автоматизации контроля наследственных пе- реходов записей вводятся идентифицирующие поля. Как мы уже отмечали выше, идентифицирующим на- зывается поле записи измерения, при изменении ко- торого необходимо прекратить действие текущей за- писи, оставив значение поля неизмененным, и создать новую запись с новым значением поля. При этом вновь созданная запись назначается прямым потом- ком записи, прекратившей действие, т. е. в таблицу истории преобразования добавляется соответствую- щая запись. Предлагаемая структура таблицы истории преоб- разования позволяет реализовать хранение данных о любом варианте наследственных переходов, описан- ных выше. При этом необходимо отметить, что вари- анты 6 и 9 со множественным наследованием пред- ставляют определенную сложность при аналитиче- ской обработке данных. При появлении таких вариан- тов следует тщательно контролировать результаты обработки данных. Ретроспективное представление и его исполь- зование. Заключительным шагом методики поддерж- ки темпоральной целостности данных является созда- ние специализированного ретроспективного пред- ставления, отражающего все изменения записей изме- рения во времени. Главной задачей этого представле- ния является замещение оригинального измерения при выполнении аналитических запросов к данным. Для построения ретроспективного представления определяются ключевые точки в жизни каждой запи- си измерения. Это такие моменты, как создание запи- си, изменение неидентифицирующих полей и пре- кращение действия записи (как с объявлением на- следника, так и без него). В результате соединения основной таблицы изме- рения, журнала изменений и истории преобразования формируется выборка данных, в которой каждая из записей оригинального измерения представлена од- ной или несколькими строками в зависимости от ко- личества ключевых точек (рис. 2). Для каждой строки в этом представлении обязательно заполняются поля «Дата начала действия» и «Дата окончания действия записи». 43 Измерение Математика, механика, информатика Журнал изменений Ретроспективное представление КлючИмяДата измене- ния 100А101.01.2010 100А201.05.2010 100А201.01.2011 100А301.04.2011 Рис. 2. Пример формирования ретроспективного представления Таким образом, в результате проведенного иссле- дования в аналитический OLAP-инструментарий до- бавлена возможность использовать данные о периоде действия записей для соединения данных таблиц фак- тов с соответствующими строками ретроспективного представления. Плавность и прозрачность просмотра результатов анализа обеспечивается за счет использования ин- формации о наследственных переходах между запи- сями измерения
×

Об авторах

Дмитрий Викторович Жучков

Институт вычислительного моделирования Сибирского отделения Российской академии наук

Email: dimkas@icm.krasn.ru.
кандидат технических наук, научный сотрудник. Окончил Красноярский государственный технический университет в 2001 г. Область научных интересов – информационно-аналитические системы, системы управления реестами и справочниками, хранилища данных, прикладные исследования в области автоматизации муниципального заказа

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

  1. Kimball R., Ross M. The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling. 2nd ed. N. Y. : Wiley Computer Publishing, 2002.
  2. Slowly Changing Dimension [Electronic resource]. URL: http://en.wikipedia.org/wiki/Slowly_changing_ dimension (data of visit: 30.10.2011).
  3. Change Data Capture [Electronic resource]. URL: http://en.wikipedia.org/wiki/Change_data_capture (date of visit: 30.10.2011).

Дополнительные файлы

Доп. файлы
Действие
1. JATS XML

© Жучков Д.В., 2011

Creative Commons License
Эта статья доступна по лицензии Creative Commons Attribution 4.0 International License.

Данный сайт использует cookie-файлы

Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта.

О куки-файлах