Формирование хранилища данных для системы MDATTR
Автор: Ветров Александр Анатольевич, Фереферов Евгений Сергеевич, Хмельнов Алексей Евгеньевич, Шигаров Алексей Олегович
Журнал: Вестник Бурятского государственного университета. Философия @vestnik-bsu
Рубрика: Системный анализ и информационные технологии
Статья в выпуске: 9, 2012 года.
Бесплатный доступ
Статья посвящена актуальным задачам формирования хранилища данных и конфигурированию метаописаний, для их совместного использования в информационной системе MDAttr.
Хранилище данных, анализ данных, интеграция данных
Короткий адрес: https://sciup.org/148181262
IDR: 148181262
Текст научной статьи Формирование хранилища данных для системы MDATTR
Принятие управленческих решений в крупных организациях базируются на комплексном анализе распределенных и разноформатных баз данных (БД) большого объема. Это обуславливает актуальность их интеграции путем формирования хранилища данных (ХД) [1-2]. Создание ХД позволяет проанализировать разрозненные данные из корпоративной сети, находящиеся в форматах различных систем управления базами данных (СУБД), и обеспечить выполнение сложных аналитических запросов к информации.
1. Система MDAttr
Система MDAttr (рис.1), созданная в ИДСТУ СО РАН, предназначена для анализа многомерных числовых данных, зависящих от различных характеристик. Система разработана с использованием технологии метаописаний (спецификаций) баз данных (БД) [3], которая активно используется для разработки настольных приложений, работающих с БД [4-5].
-ф- Многомерный знали! данных

Рис. 1. Интерфейс MDAttr
' Работа выполнена при финансовой поддержке грантов РФФИ 11-07-92204-Монг_а. 11-07-00426-а. проекта ОНИТ СО РАН №41 и междисциплинарного проекта СО РАН №131.
Система реализует:
• многомерное концептуальное представление данных с полной поддержкой множественных иерархий;
• технологию OLAP-анализа;
• генерируемый графический пользовательский интерфейс на основе метаописаний;
• поддержку большинства современных систем управления базами данных (СУБД) через интерфейс ADO (ActiveX Data Objects) [6];
• привязку пространственных данных с возможностью построения тематических карт;
• вычислимые поля, задаваемые выражениями;
• многоязычный пользовательский интерфейс;
• построение диаграмм по результатам анализа;
• экспорт данных в электронные таблицы, для использования сторонними системами.
2. Технология метаописаний баз данных
3. Конфигурирование метаописаний хранилища данных
ХД выступает источником данных и метаописаний для MDAttr, и настраивается администратором под конкретную предметную область, причём конфигурация определяется требованиям MDAttr.
Данная технология выводит за пределы конкретной информационной системы (ИС) общую функциональность, создавая ядро ИС, которое используется в разрабатываемых системах, при этом информация о предметной области хранится в метаописаниях и используется ядром для построения динамически генерируемого пользовательского интерфейса приложения. Технология позволяет абстрагироваться от структуры БД и используемой СУБД за счет представления в метаописании информации о структуре БД, привязке к карте, пользовательском интерфейсе, и реализации динамической генерации интерфейса приложения на основе такой информации. Метаописания хранятся в структурированном машиночитаемом виде в текстовых файлах или в таблицах ХД на сервере [7]. Для формирования спецификаций разработан язык представления баз данных [8], позволяющий в декларативном виде описывать как структуру данных (способ подключения к БД, структуры таблиц БД, связей между ними), так и структуру приложения (представления таблиц, способы отображения данных), а также способы интеграции с другими БД и ГИС.
Использование данной технологии снижает сложность разработки и позволяет сократить сроки создания реальных информационных систем в сравнении с традиционными подходами, связанными с описанием объектов и связей между ними средствами визуального программирования и в коде приложения.
Для существующей версии системы MDAttr таблицы метаописаний в ХД заполняются с ис пользованием запросов на языке SQL. Рассмотрим процесс создания метаописаний на примере простого ХД. Пусть в ХД находится информации о населении. Данные собраны по отраслям деятельности, территориям и времени (три таблицы измерений). На рис. 2 представлены две модели данных рассматриваемого примера: модель рассматриваемой предметной области и модель, ис пользуемая в ИС MDAttr.


Рис. 2. Пример ХД
Данные таблицы «Население» зависят от трёх измерений: территории, отрасли, время. Связь таблицы с атрибутом «население» заносится в таблицу «Атрибуты». В эту же таблицу можно поместить и другие данные собираемые в данном разрезе (территории, отрасли, время), для этого требуется добавить поле с кодом атрибута. Значения атрибутов, собираемых в одном разрезе, удобно хранить в одной таблице, а для разрезов с разными количествами влияющих измерений необходимо использовать разные таблицы значений атрибутов.
Для подготовки метаописаний необходимо выполнить следующий алгоритм:
-
• Создать 13 таблиц с предопределенной структурой, в которых будет содержаться вся метаинформация.
-
1. mtbl - информация о перечне всех таблицах
-
2. mtblf- информация о полях таблиц из т_ТЫ
-
3. mvLink - информация о представлениях
-
4. m_vf- информация о путях получения полей m tblf для m VLink
-
5. m_refs - информация о связях (ссылках) между таблицами
-
6. m_refspairs - пары полей, связывающие таблицы из m_refs
-
7. mdim - информация обо всех измерениях хранилища, хранящихся в перечне таблиц m tbl
-
8. mdimfld - описание используемых полей составляющих измерения m dim
-
9. mvaltbl - информация о таблицах из m tbl, которые хранят факты
-
10. mvalfld - информация о полях таблиц из m valtbl со ссылками на измерения m dim
-
11. d attr - информация о показателях
-
12. unit - единицы измерения
-
13. map ink - связь данных измерений территорий с объектами на карте
-
• Заполнить перечень таблиц ХД, записав его в m tbl и указав тип таблицы (справочник, простая таблица, представление).
-
• Заполнить список полей каждой таблицы, записав его в m tblf, ссылаясь на таблицы и указав тип (строка, число, ссылка) и имя, которое будет использоваться в интерфейсе пользователя.
-
• Заполнить таблицу m VLink, в соответствии с записями о представлениях из m tbl, указав для каждого представления, из каких таблиц оно создается.
-
• Заполнить m_VF информацией, из каких полей каких таблиц создается представление, ссылаясь на таблицу m VLink.
-
• Заполнить таблицу m refs, указав какие таблицы с какими связаны. Например, нужно создать три записи для таблицы Данные (рис. 3), которая ссылается на три таблицы: Время, Отрасли, Территории.
-
• Заполнить таблицу m_refspairs, указав, по каким полям связаны таблицы между собой таблицы. Например, таблица Данные (id=6) своим полем id=l ссылается на таблицу Территории (id =3) на её первичный ключ (id=0).
-
• Заполнить таблицу m_Dim информацией из m tbl указав какие таблицы являются измерениями, отметив отдельно измерения территорий и временем. Здесь присваиваются названия измерениям, которые будут использоваться для построения пользовательского интерфейса.
kJ
name
kind
id_base
1
И
1
Ед измерения
L
0
2
Время
L
0
3
2
Атрибуты
Т
0
4
3
Территории
Т
0
5
4
Отрасли
т
0
6
5
m_ValTbl
т
0
7
6
Данные
т
5
8
7
vAttr Дерево атрибутов
т
2
23
4
0 id
№ [
24
4
1 name
Отрасль N
25
4
2 id_par
\ N-родителя i ^
Рис. 3. Пример таблицы m tbl и фрагмента таблицы m tblf
-
• Заполнить таблицу m DimFld информацией, какие поля из измерений в m dim будут использоваться в информационной системе.
-
• Заполнить таблицу mValTbl информацией о таблицах фактов.
-
• Заполнить таблицу m ValFld информацией, какие поля относятся к каким измерениям, и какое поле является фактом (числовым значением).
1 | 1 I 9 Данные no работающему населению
Рис. 4. Содержимое таблиц m_Dim (слева), mValTbl (снизу) и mValFld (справа).
• Если необходимо, заполнить таблицу map ink числовыми парами-ссылками. Связи между объектами карты и измерением территорий.
4. Наполнение хранилища данных
5. Средство конфигурирования метаописаний хранилища данных
После выполнения всех этапов алгоритма, ХД считается заполненным метаописаниями. На рассматриваемом примере видно, что заполнении метаописаний ХД является нетривиальной работой, так как трудно проследить связи между записями таблиц и безошибочно провести заполнение. В реальных системах, в отличие от рассмотренного примера, количество измерений и фактов на порядок больше, что еще усложняет процесс конфигурирования.
Часто исходная информация, необходимая для формирования ХД, доступна только в неструктурированном или слабоструктурированном виде, например, в виде статистических или финансовых отчетов. Одним из наиболее используемых способов представления такой информации являются содержащиеся в текстах таблицы. Обычно такие таблицы не содержат полного набора структурных метаданных, необходимых для машинной обработки табличной информации, в том числе, для загрузки в ХД. Даже высокоуровневое представление таблицы, например, в виде HTML разметки или объекта текстового процессора Word, не включает информацию о разделении ячеек на данные и заголовки, связях между ячейками, а также об используемых типах данных. Извлечение информации из таких таблиц требует восстановления отсутствующих метаданных об их структуре. Для решения этой задачи авторами развиваются оригинальные методы и программное обеспечение [9-14].
В частности, для автоматизации массового ввода информации из слабоструктурированных таблиц со сложной компоновкой, представленных в формате табличного процессора Excel, в реляционные базы данных разработана программная система Excel2DB [11]. В отличие от различных ETL средств, которые позволяют рассматривать файлы табличного процессора в качестве источника данных, система Excel2DB позволяет загружать данные из таблиц, имеющих более сложную структуру, чем просто «решеточную», при которой строки обрабатываемой таблицы в формате Excel непосредственно соответствуют записям целевой таблицы БД, а столбцы - полям. Для анализа и преобразования табличной информации в программе Excel2DB используются определяемые пользователями модели таблиц. В Excel2DB модель позволяет в декларативной манере задать физическую и частично логическую компоновку таблицы в пространстве ячеек: границы таблицы внутри листа; позиции областей ячеек, содержащих атрибуты (заголовки), и областей, содержащих факты (данные); областей, физическая компоновка которых задается не структурой ячеек листа, а разграфкой; уровни атрибутов и подчиненность между ними; тиражируемость фактов в столбце и др. Такие модели достаточно строго задают вид обрабатываемых таблиц. Поэтому предлагаемая технология эффективна (требует меньших затрат) в тех случаях, когда заданная модель описывает некоторый набор таблиц. Т е. извлечение, преобразование и загрузку информации из такого набора в базу данных можно выполнить в Excel2DB с помощью одной модели. За счет использования настраиваемых моделей Excel2DB позволяет обрабатывать широкий класс таблиц. Однако сами модели ограничены рядом предположений о таблицах, в терминах которых они задаются. Расширение возможностей определения моделей возможно только путем изменения алгоритмов и структур данных системы Excel2DB.
Другим примером автоматизации процессов извлечения и преобразования информации из таблиц, содержащихся в текстах, является разработанная авторами система TabExtractor [12]. Система основана на использовании алгоритмов со встроенными правилами анализа и обработки таблиц, ориентированными на особенности компоновки таблиц из государственных и корпоративных статистических отчетов, в частности, отчетов, публикуемых Росстатом. Поэтому по сравнению с Excel2DB система TabExtractor позволяет обрабатывать более узкий класс таблиц, однако при этом в процессе обработки табличной информации не требуется задавать модели таблиц. Входными данными системы являются файлы печати в формате Enhanced Metafile. Документы различных форматов (Word, Excel, ASCII текст, HTML и др.) могут быть напечатаны в такие файлы печати. В системе TabExtractor процесс извлечения информации из файлов печати включает следующие этапы: 1) извлечение текста, текстовых метрик и разграфки из файлов печати; 2) анализ физической компоновки таблицы, включая обнаружение и сегментацию таблиц; 3) анализ логической компоновки, включая разделение табличного содержания на атрибуты и факты, а также восстановление связей между ними. При необходимости описанный процесс может включать ручную обработку. В результате табличная информация преобразуется к структурированному виду, для которого остается выполнить восстановление связей атрибутов с измерениями в терминах реляционной модели данных, чтобы выполнить ее загрузку в реляционную базу данных. Этот процесс может выполняться вручную или полуавтоматически в программах AttrTree [13] и СтатИмп [14].
Авторами разрабатывается инструментальное средство Администратор MDAttr, позволяющее неподготовленному специалисту провести конфигурирование ХД для системы MDAttr с помощью интуитивно понятного графического интерфейса вместо SQL запросов.
Рассматриваемое средство представляет собой визуальный пользовательский интерфейс, автоматизирующий все этапы рассмотренного алгоритма формирования метаописаний, решает задачи создания и удаления таблиц, измерений и фактов ХД.
Данное средство позволяет:
-
• настраивать соединение с хранилищем путем построения строки подключения и подключаться к ХД системы MDAttr;
-
• считывать и записывать метаописания;
-
• управлять описанием таблиц, представлений, измерений и фактов;
-
• настраивать список таблиц, задействованных в системе MDAttr
-
• просматривать содержимое таблиц;
-
• обеспечивает ссылочную целостность на уровне метаописаний;
-
• предоставляет интерфейс привязки объектов ХД к карте, путем заполнения пар значений код объекта на карте / код объекта в ХД.

Рис. 6. Главная форма средства администрирования
Логически система делится на три модуля для работы с таблицами, измерениями и фактами соответственно.
Модуль работы с таблицами позволяет проводить наиболее общие операции с метаописаниями:
-
• создавать и удалять набор таблиц для хранения метаописаний;
-
• управлять отображением полей таблиц и редактировать их названия для отображения в интерфейсе MDAttr;
-
• конфигурировать связи между таблицами;
-
• определять представления.
Рис. 6. Формы для работы с таблицами и измерениями ХД
Модуль измерений и модуль фактов похожи по своей функциональности и предоставляют возможности:
-
• создавать новые измерения и факты, указывая название и тип полей нового измерения;
-
• редактировать метаописания существующих измерений и фактов ХД;
-
• добавлять метаинформацию к существующим измерениям в ХД (у которых еще нет метаописания);
-
• редактировать метаинформацию имеющихся измерений;
-
• простым выбором указывать таблицу, содержащую факты ХД;
-
• исключать измерения и факты из метаописаний;
-
• полностью удалять измерения и факты из ХД.
Заключение
Рассматриваемое инструментальное средство решает важные задачи конфигурирования метаописаний ХД, позволяя через визуальный интерфейс автоматизировать приведенный алгоритм формирования спецификаций ХД, при этом снижается его сложность и упрощается управление метаописаниями. Администратор MDAttr используется в совместном российско-монгольском проекте, посвященному анализу показателей социально-экономического развития территорий республики Монголия, направленному на повышение эффективности работы территориальных органов управления.