2. Системный анализ и информационные технологии
УДК 004.4'244
( А.А. Ветров, Е.С. Фереферов, А.Е. Хмельное, А.О. Шигаров ФОРМИРОВАНИЕ ХРАНИЛИЩА ДАННЫХ ДЛЯ СИСТЕМЫ MDATTR1
Статья посвящена актуальным задачам формирования хранилища данных и конфигурированию метаописаний, для их совместного использования в информационной системе MDAttr.
Ключевые слова: хранилище данных, анализ данных, интеграция данных.
A. A. Vetrov, E.S. Fereferov, А.Е. Hmelnov. А О. Shigarov FORMING DATA WAREHOUSE FOR SYSTEM MDATTR
The article is devoted to actual problems of creating a date warehouse and forming metadescriptions for their use in MDAttr system.
Keywords: data warehouse, data analysis, data integration.
Введение
Принятие управленческих решений в крупных организациях базируются на комплексном анализе распределенных и разноформатных баз данных (БД) большого объема. Это обуславливает актуальность их интеграции путем формирования хранилища данных (ХД) [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];
• привязку пространственных данных с возможностью построения тематических карт;
• вычислимые поля, задаваемые выражениями;
• многоязычный пользовательский интерфейс;
• построение диаграмм по результатам анализа;
• экспорт данных в электронные таблицы, для использования сторонними системами.
ХД выступает источником данных и метаописаний для MDAttr, и настраивается администратором под конкретную предметную область, причём конфигурация определяется требованиям MDAttr
2. Технология метаописаний баз данных
Данная технология выводит за пределы конкретной информационной системы (ИС) общую функциональность, создавая ядро ИС, которое используется в разрабатываемых системах, при этом информация о предметной области хранится в метаописаниях и используется ядром для построения динамически генерируемого пользовательского интерфейса приложения. Технология позволяет абстрагироваться от структуры БД и используемой СУБД за счет представления в метаописании информации о структуре БД, привязке к карте, пользовательском интерфейсе, и реализации динамической генерации интерфейса приложения на основе такой информации. Метаописания хранятся в структурированном машиночитаемом виде в текстовых файлах или в таблицах ХД на сервере [7]. Для формирования спецификаций разработан язык представления баз данных [8], позволяющий в декларативном виде описывать как структуру данных (способ подключения к БД, структуры таблиц БД, связей между ними), так и структуру приложения (представления таблиц, способы отображения данных), а также способы интеграции с другими БД и ГИС.
Использование данной технологии снижает сложность разработки и позволяет сократить сроки создания реальных информационных систем в сравнении с традиционными подходами, связанными с описанием объектов и связей между ними средствами визуального программирования и в коде приложения
3. Конфигурирование метаописаний хранилища данных
Для существующей версии системы МОАйг таблицы метаописаний в ХД заполняются с использованием запросов на языке Рассмотрим процесс создания метаописаний на примере
простого ХД. Пусть в ХД находится информации о населении. Данные собраны по отраслям деятельности, территориям и времени (три таблицы измерений). На рис. 2 представлены две модели данных рассматриваемого примера: модель рассматриваемой предметной области и модель, используемая в ИС МОАШ;
Предстз PK.FK1 PK.FM РК иления - m_VUnk id та. id Renat а PK.FK1 PK FX1 и ■ m.REfS id TBl Ы id.REFTBt
hParsnl
/
PK.fKl РК kLIBL Ы —\ PK
hFId
Пол* измерений - m_OimFW
Таблицы т.
Поя» таблиц Фонтов m_ValFW
PK.FK1 к! UalTbl
РК,Ж1 id ГВ1
РК id Ref Fid
Данные в разрезе тер-ий, отраслей и зремечи
Отрасли деятельности
Рис. 2. Пример ХД
Данные таблицы «Население» зависят от трёх измерений: территории, отрасли, время. Связь таблицы с атрибутом «население» заносится в таблицу «Атрибуты». В эту же таблицу можно поместить и другие данные собираемые в данном разрезе (территории, отрасли, время), для этого требуется добавить поле с кодом атрибута. Значения атрибутов, собираемых в одном разрезе, удобно хранить в одной таблице, а для разрезов с разными количествами влияющих измерений необходимо использовать разные таблицы значений атрибутов.
Для подготовки метаописаний необходимо выполнить следующий алгоритм:
• Создать 13 таблиц с предопределенной структурой, в которых будет содержаться вся метаинформация.
1. m tbl - информация о перечне всех таблицах
2. m_tblf- информация о полях таблиц из ш_ТЫ
3. mvLink - информация о представлениях
4. ni vf - информация о путях получения полей mtblf для m_VLink
5. m_refs - информация о связях (ссылках) между таблицами
6. mrefspairs - пары полей, связывающие таблицы из mrefs
7. m_dim - информация обо всех измерениях хранилища, хранящихся в перечне таблиц m_tbl
8. mdimfld - описание используемых полей составляющих измерения m dim
9. m_valtbl - информация о таблицах из m_tbl, которые хранят факты
10. m_valfld - информация о полях таблиц из 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 указав какие таблицы являются измерениями, отметив отдельно измерения территорий и временем. Здесь присваиваются названия измерениям, которые будут использоваться для построения пользовательского интерфейса.
0 | Ед измерения
Время
Атрибуты
Территории
Отрасли
m_ValTbl
Данные
vAttr Дерево атрибутов
kind id_base 0 0 0 0 0 0 5 2
23 4 0 kl N-*
24 4 1 name Отрасль
25 4 2 id_par | N- родителя
Рис. 3. Пример таблицы m tbl и фрагмента таблицы m tblf
Заполнить таблицу тШтРЫ информацией, какие поля из измерений в т_$1№; будут использоваться в информационной системе.
Заполнить таблицу т УаПЫ информацией о таблицах фактов.
Заполнить таблицу тУаШЫ информацией, какие поля относятся к каким измерениям, и какое поле является фактом (числовым значением).
А А. Ветров, Е.С. Фереферов, А.Е. Хмельное, А.О. Шигарое. Формирование хранилища данных для системы МОАШ
А id.TBL kind abbr mame kJ.ValTb* N id_
1 !°! ! 3 Т 0 Территории 1 | 1 I о 2
2 1 4 Т D Отрасли 2 1 1 0
3 2 -1 D Т Периоды (Время) 3 1 2 1
4 3 7 Т А Показатели 4 1 3 •1
id id_TBl mame 1 ! 1 i 9 Данные no работающему населению
Рис. 4. Содержимое таблиц m_Dim (слева), m ValTbl (снизу) и m ValFld (справа).
• Если необходимо, заполнить таблицу map lnk числовыми парами-ссылками. Связи между объектами карты и измерением территорий.
После выполнения всех этапов алгоритма, ХД считается заполненным метаописаниями. На рассматриваемом примере видно, что заполнении метаописаний ХД является нетривиальной работой, так как трудно проследить связи между записями таблиц и безошибочно провести заполнение. В реальных системах, в отличие от рассмотренного примера, количество измерений и фактов на порядок больше, что еще усложняет процесс конфигурирования.
4. Наполнение хранилища данных
Часто исходная информация, необходимая для формирования ХД, доступна только в неструктурированном или слабоструктурированном виде, например, в виде статистических или финансовых отчетов. Одним из наиболее используемых способов представления такой информации являются содержащиеся в текстах таблицы. Обычно такие таблицы не содержат полного набора структурных метаданных, необходимых для машинной обработки табличной информации, в том числе, для загрузки в ХД. Даже высокоуровневое представление таблицы, например, в виде HTML разметки или объекта текстового процессора Word, не включает информацию о разделении ячеек на данные и заголовки, связях между ячейками, а также об используемых типах данных. Извлечение информации из таких таблиц требует восстановления отсутствующих метаданных об их структуре. Для решения этой задачи авторами развиваются оригинальные методы и программное обеспечение [9-14].
В частности, для автоматизации массового ввода информации из слабоструктурированных таблиц со сложной компоновкой, представленных в формате табличного процессора Excel, в реляционные базы данных разработана программная система Excel2DB [11]. В отличие от различных ETL средств, которые позволяют рассматривать файлы табличного процессора в качестве источника данных, система Excel2DB позволяет загружать данные из таблиц, имеющих более сложную структуру, чем просто «решеточную», при которой строки обрабатываемой таблицы в формате Excel непосредственно соответствуют записям целевой таблицы БД, а столбцы - полям. Для анализа и преобразования табличной информации в программе Excel2DB используются определяемые пользователями модели таблиц. В Excel2DB модель позволяет в декларативной манере задать физическую и частично логическую компоновку таблицы в пространстве ячеек: границы таблицы внутри листа; позиции областей ячеек, содержащих атрибуты (заголовки), и областей, содержащих факты (данные); областей, физическая компоновка которых задается не структурой ячеек листа, а разграфкой; уровни атрибутов и подчиненность между ними; тиражируемость фактов в столбце и др. Такие модели достаточно строго задают вид обрабатываемых таблиц. Поэтому предлагаемая технология эффективна (требует меньших затрат) в тех случаях, когда заданная модель описывает некоторый набор таблиц. Т.е. извлечение, преобразование и загрузку информации из такого набора в базу данных можно выполнить в Excel2DB с помощью одной модели. За счет использования настраиваемых моделей Excel2DB позволяет обрабатывать широкий класс таблиц. Однако сами модели ограничены рядом предположений о таблицах, в терминах которых они задаются. Расширение возможностей определения моделей возможно только путем изменения алгоритмов и структур данных системы Excel2DB.
Другим примером автоматизации процессов извлечения и преобразования информации из таблиц, содержащихся в текстах, является разработанная авторами система Tab Extractor [12]. Система основана на использовании алгоритмов со встроенными правилами анализа и обработки таблиц, ориентированными на особенности компоновки таблиц из государственных и корпоративных статистических отчетов, в частности, отчетов, публикуемых Росстатом. Поэтому по сравнению с Excel2DB система TabExtractor позволяет обрабатывать более узкий класс таблиц, однако при
этом в процессе обработки табличной информации не требуется задавать модели таблиц. Входными данными системы являются файлы печати в формате Enhanced Metafile. Документы различных форматов (Word, Excel, ASCII текст, HTML и др.) могут быть напечатаны в такие файлы печати. В системе Tab Extractor процесс извлечения информации из файлов печати включает следующие этапы: 1) извлечение текста, текстовых метрик и разграфки из файлов печати; 2) анализ физической компоновки таблицы, включая обнаружение и сегментацию таблиц; 3) анализ логической компоновки, включая разделение табличного содержания на атрибуты и факты, а также восстановление связей между ними. При необходимости описанный процесс может включать ручную обработку. В результате табличная информация преобразуется к структурированному виду, для которого остается выполнить восстановление связей атрибутов с измерениями в терминах реляционной модели данных, чтобы выполнить ее загрузку в реляционную базу данных. Этот процесс может выполняться вручную или полуавтоматически в программах AttrTree [13] и СтатИмп [14].
5. Средство конфигурирования метаопнсаннй хранилища данных
Авторами разрабатывается инструментальное средство Администратор MDAttr, позволяющее неподготовленному специалисту провести конфигурирование ХД для системы MDAttr с помощью интуитивно понятного графического интерфейса вместо SQL запросов.
Рассматриваемое средство представляет собой визуальный пользовательский интерфейс, автоматизирующий все этапы рассмотренного алгоритма формирования метаописаний, решает задачи создания и удаления таблиц, измерений и фактов ХД.
Данное средство позволяет:
• настраивать соединение с хранилищем путем построения строки подключения и подключаться к ХД системы MDAttr;
• считывать и записывать метаописания;
• управлять описанием таблиц, представлений, измерений и фактов;
• настраивать список таблиц, задействованных в системе MDAttr
• просматривать содержимое таблиц;
• обеспечивает ссылочную целостность на уровне метаописаний;
• предоставляет интерфейс привязки объектов ХД к карте, путем заполнения пар значений код объекта на карте / код объекта в ХД.
Администратор MDAttr
Источник данных
Загрузить спецификации
Сохранить измерения
Т аблицы с описанием
period
unit
m_expr
m_ValTbl
d_agricultures
d_attr
d_cili>
d_divisions
d_sex
LCityDate
LCitySexDate
I DivisionDate
vANr
Информация о выбранной таблице Поля таблицы "вязи таблицы
ID ATTF!
ID AGRI
ID TERR
ID INTRV
V
ID ATTR ID AGRI ID TERR IDJNTRV |V
► 11 2 201 286704 34399
11 2 201 286848 28796
11 2 201 286992 25119
11 2 201 287138 21768
11 2 201 287280 21750
11 2 201 287424 15479
Рис. 6. Главная форма средства администрирования
Логически система делится на три модуля для работы с таблицами, измерениями и фактами соответственно.
Модуль работы с таблицами позволяет проводить наиболее общие операции с метаописаниями:
• создавать и удалять набор таблиц для хранения метаописаний;
• управлять отображением полей таблиц и редактировать их названия для отображения в интерфейсе МОАйг:
• конфигурировать связи между таблицами;
• определять представления.
Рис. 6. Формы для работы с таблицами и измерениями ХД
Модуль измерений и модуль фактов похожи по своей функциональности и предоставляют возможности:
• создавать новые измерения и факты, указывая название и тип полей нового измерения;
• редактировать метаописания существующих измерений и фактов ХД;
• добавлять метаинформацию к существующим измерениям в ХД (у которых еще нет метаописания);
• редактировать метаинформацию имеющихся измерений;
• простым выбором указывать таблицу, содержащую факты ХД;
• исключать измерения и факты из метаописаний;
• полностью удалять измерения и факты из ХД.
Заключение
Рассматриваемое инструментальное средство решает важные задачи конфигурирования метаописаний ХД, позволяя через визуальный интерфейс автоматизировать приведенный алгоритм формирования спецификаций ХД, при этом снижается его сложность и упрощается управление метаописаниями. Администратор MDAttr используется в совместном российско-монгольском проекте, посвященному анализу показателей социально-экономического развития территорий республики Монголия, направленному на повышение эффективности работы территориальных органов управления.
Литература
1. Inmon W. Building the Data Warehouse — New York: Wiley, 2005. - 576 c.
2. Kimball R., Rose M. The Data Warehouse Toolkit. — New York: Wiley, 2002. - 464 c.
3. Бычков И.В., Фереферов E.C., Хмельнов A.E. Метаоггасание баз данных как основа интеграции информационно-справочных систем и ГИС // Вычислительные технологии. 2007. Т. 12, № 5. С. 41-51.
4. Внедрение современных информационных технологий в региональных проектах / И.В. Бычков [ и др.] //Вестник НГУ. Серия: Информационные технологии. 2008. Т. 6, № 1. С. 15-24
5. Муниципальная информационная система обеспечения градостроительной деятельности / А.С. Га-ченко [и др.] // Вычислительные технологии. 2008. Т. 13, № 1. С. 11-16.
6. Microsoft ActiveX Data Objects (ADO), 2012. URL: http://msdn. microsoft.com/en-
us/library/windows/desktop/ms675532(v=vs.85).aspx (дата обращения май 2012 года)
7. Ветров А.А., Фереферов Е.С., Хмельнов А.Е. Технология использования метаописаний для формирования хранилищ данных и анализа многомерных данных // Вестник Бурятского государственного университета. 2011. № 9. С. 83-86.
8. Фереферов Е. С., Хмелыюв А. Е. Язык представления баз данных // Материалы III Международной конференции Инфокоммуникационные и вычислительные технологии и системы — Улан-Удэ: БГУ, 2010. С. 269 - 272.
9. Эвристический метод обнаружения таблиц в разноформатных документах / И.В. Бычков [и др.] // Вычислительные технологии. 2009. Т. 14, № 2. С. 58-73.
10. Shigarov А.О., Bychkov I.V., Hmelnov А.Е., Ruzhnikov G.M. A method for table detection in metafiles // Pattern Recognition and Image Analysis. 2009. Vol. 19, No 4. P. 693-697.
11. Свидетельство об официальной регистрации программы для ЭВМ № 2008614329 «Программная система импорта данных из слабо структурированных таблиц Microsoft Excel в СУБД (Excel2DB)» Бычков И.В., Ружников Г.М., Хмельнов А.Е., Шигаров А.О., 2008.
12. Свидетельство об официальной регистрации программы для ЭВМ № 2008614332 «Программная система извлечения таблиц из электронных документов (TabExtractor)» Бычков И.В., Ружников Г.М., Хмельнов А.Е., Шигаров А.О., 2008.
13. Свидетельство об официальной регистрации программы для ЭВМ № 2008614995 «Рабочие место администратора хранилища статистической информации (AttrTree)» Бычков И.В., Ружников Г.М., Хмельнов А.Е., Шигаров А.О., 2008.
14. Свидетельство об официальной регистрации программы для ЭВМ № 2007613716 «Программное средство извлечения статистических таблиц из неформатированного текста (СтатИмп)» Бьиков И.В., Ружников Г.М., Хмельнов А.Е., Шигаров А.О., 2007.
Ветров Александр Анатольевич, аспирант ИДСТУ СО РАН, тел. (395-2) 453113, e-mail: [email protected] Фереферов Евгений Сергеевич, научный сотрудник ИДСТУ СО РАН, тел. (395-2) 453071, e-mail: [email protected]
Хмельнов Алексей Евгеньевич, канд. техн. наук, зав. лаб. ИДСТУ СО РАН, тел. (395-2) 453071, e-mail: [email protected]
Шигаров Алексей Олегович, старший научный сотрудник ИДСТУ СО РАН, тел.(395-2) 453102, e-mail: [email protected]
Vetrov Alexandr Anatolievich, PhD student of ISDCT SB RAS.
Fereferov Evgeniy Sergeevich, researcher of ISDCT SB RAS.
Hmelnov Alexey Evgenievich, candidate of technical science, chief of laboratory of ISDCT SB RAS.
Shigarov Alexey Olegovich, doctor of technical science, senior researcher of ISDCT SB RAS.