Опубликован: 20.12.2010 | Доступ: свободный | Студентов: 2382 / 140 | Оценка: 4.27 / 3.91 | Длительность: 39:39:00
ISBN: 978-5-9963-0353-3
Лекция 10:

Метаданные в хранилищах данных

Стандарты метаданных

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

Предметом обсуждения этого раздела будет спецификация "Общая метамодель хранилища данных" (Common Warehouse Metamodel, CWM), которая является одним из стандартов [66], использующих XML-технологии. Этот стандарт описывает обмен метаданными в информационных системах, применяющих технологии ХД, а также в системах деловой осведомленности (Business Intelligence) и системах управления знаниями (Knowledge Management).

Классификация метаданных

Как следует из нашего обсуждения метаданных в предыдущих разделах, на очень высоком уровне метаданные могут быть разделены на две категории: разделяемые метаданные (Shared meta data) и уникальные метаданные (Unique meta data).

Элементы разделяемых метаданные необходимы для точного определения объектов и их семантики для ХД в целом. Так, определение объекта "Покупатель" в нашем примере выше должно быть согласованным и для источников, и для ХД, т.е. иметь одинаковый смысл в рамках информационных систем масштаба организации. Уникальные метаданные описывают уникальные объекты системы, например, атрибуты измерений или фактов.

Другой подход к построению классификации метаданных — разделение элементов метаданных по их функциональному назначению:

  • предметно-ориентированные метаданные (Business meta data);
  • структурные метаданные (Structural metadata);
  • технические метаданные (Technical meta data);
  • метаданные процесса обработки данных (Process meta data).

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

Примером предметно-ориентированных метаданных может служить описание какого-либо атрибута сущности предметной области ХД, как то: вес проданного или закупленного товара. Рассмотрим пример на рис. 14.4.

Предметно-ориентированные метаданные: одно имя, одинаковый смысл, различные единицы измерения

Рис. 14.4. Предметно-ориентированные метаданные: одно имя, одинаковый смысл, различные единицы измерения

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

Cтруктурные метаданные содержат описание структуры различных объектов данных. Они используются при реализации схем навигации для представления данных пользователям. Например, объект данных "Книга" состоит из элементов "Название", "Автор", "Содержание", "Предисловие", "Глава с тестом". Каждая глава имеет "Заголовок" и, возможно, ряд "Подзаголовков".

Технические метаданные содержат определения и данные о физических объектах ХД. Это определения наименований таблиц и их колонок, ограничений, правил физических преобразований данных и т.п. Например, формат и длина поля "Имя покупателя" есть строка переменной длины до 100 символов.

Метаданные процесса обработки данных содержат информацию, связанную с процессом обработки данных, такую как статистика загрузки, расписание загрузки данных и т.п.

Исследователями в области проектирования ХД предлагаются и другие подходы к построению классификации, но при этом, как правило, используются названные выше два принципа.

Основные типы метаданных приведены на рис. 14.5.

Типы метаданных

Рис. 14.5. Типы метаданных

Позиция производителей

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

В середине 1998 года корпорации IBM, Oracle, Unisys, Hyperion, SAS, Meta Integratiom и ряд других поставщиков программного обеспечения представили в организацию Object Management Group (OMG) спецификацию стандарта "Обмен общими метаданными хранилища данных" (Common Warehouse Metadata Interchange, CWMI). Во второй половине 1999 года корпорация Microsoft передала на рассмотрение в консорциум Meta Data Coalition (MDC) разработанный ею стандарт "Открытая информационная модель" (Open Information Model, OIM).

В 2000 году произошло слияние MDC и OMG, а спустя год, в начале февраля 2001 года, была опубликована первая версия спецификации "Общая метамодель хранилища данных" [67].

Концепция стандарта

CWMI определяет интерфейсы, которые могут быть использованы для обмена метаданными между ХД и аналитическими приложениями с помощью инструментальных средств ХД, программно-аппаратных платформ и репозиториев метаданных в распределенных гетерогенных вычислительных средах.

CWMI основывается на трех основных стандартах:

  • UML — Unified Modeling Language (стандарт OMG для моделирования);
  • MOF — Meta Object Facility (стандарт OMG для метамоделирования и репозитория метаданных );
  • XMI — XML Metadata Interchange (стандарт OMG обмена метаданными ).

Стандарт UML определяет язык объектно-ориентированного моделирования, который поддерживает ряд графических нотаций. Стандарт MOF определяет гибкие средства для определения модели метаданных и обеспечивает программные средства для хранения и доступа к метаданным в репозитории. Стандарт XMI определяет спецификации для обмена метаданными в формате стандарта XML. Использование этих стандартов не накладывает сильных ограничений при реализации модели метаданных в конкретных системах складирования данных.

Перечисленные выше стандарты формируют ядро архитектуры репозитория метаданных OMG, как показано на рис. 14.6.

Ядро архитектуры репозитория метаданных OMG

Рис. 14.6. Ядро архитектуры репозитория метаданных OMG

Общая метамодель хранилища данных (обзор)

Основные элементы общей метамодели хранилища данных (CWM) включают в себя:

  • четырехуровневую архитектуру метамоделирования при работе с метаданными в распределенных репозиториях;
  • использование нотации UML для представления метамодели и моделей данных;
  • использование стандартных информационных моделей UML для описания семантики объектно-ориентированного анализа и проектирования моделей;
  • использование MOF для определения и работы с метамоделями с использованием интерфейсов CORBA;
  • использование XMI для организации обмена метаданными.

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

Таблица 14.1. Архитектура метамоделирования
.Мета уровень Уровень моделирования
M3 Мета-метамодель / мета-мета-метаданные (Meta-Metamodel / Meta-meta-metadata). Например, MOF класс, атрибут, ассоциация
M2 Метамодель / мета-метаданные (Metamodel/Meta-metadata). Например, UML класс, атрибут таблицы CWM, колонка
M1 Модель / метаданные (Model/Metadata). Например, Покупатель: Тип_таблицы_покупатель: Колонка
M0 Данные / объект (Data/Object). "ООО" ("Флинт")

Стандарт расширяет базовую метамодель метамоделями для реляционных и многомерных данных, для преобразования функций OLAP и ХД, включая процессы и операции. Спецификацию CWM можно рассматривать как язык, предназначенный для определения моделей ХД. Спецификация CWM расширяет язык UML: каждый метакласс (metaclass) CWM наследуется непосредственно или косвенно из метаклассов UML. Так, метакласс "Реляционная Таблица" (Relational Table) CWM является непосредственным наследником Класса UML (UML Class), а "Реляционный Столбец" (Relational Column) — прямой потомок Атрибута UML (UML Attribute).

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

Стандарт OMG "Средства метаобъекта" (Meta Object Facility, MOF) определяет общие интерфейсы и семантику для взаимодействующих метамоделей. Являясь подмножеством UML, он представляет собой пример мета-метамодели, или модели метамодели (подмножество). В сферу действия этого стандарта входит определение языка описания интерфейса (Interface Definition Language), который устанавливает правила управления моделями с помощью программных APIs. Все модели CWM выражаются на UML и реализуют семантику MOF.

Стандарт OMG "Обмен метаданными XML" (XML Metadata Interchange, XMI) устанавливает правила преобразования метамоделей MOF в XML. XMI непосредственно задействован в обмене метамоделями. Метамодели MOF транслируются в XML DTD, а модели — в XML-документы, которые согласуются со своими DTD.

Таким образом, стандарт CWM состоит из ряда составных метамоделей (суб-метамоделей), которые организованы в виде следующих 4 слоев: базовый слой (Foundation), источники данных (Resources), анализ (Analysis) и управление хранилищем (Management), как показано на рис. 14.7.

Четыре уровня модели CWM

Рис. 14.7. Четыре уровня модели CWM

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

Слой источников данных предоставляет возможность моделировать существующие и новые источники данных, в том числе реляционные базы данных, ориентированные на запись базы данных (record oriented data-bases), а также XML- и основанные на объектах (object-based) источники данных.

Слой анализа предоставляет средства для моделирования сервисов информационного анализа, которые обычно используются в хранилище данных. Он определяет метамодель для преобразования данных, OLAP, визуализации информации и исследования данных (data mining).

Слой управления состоит из метамоделей, представляющих стандартные процессы и операции ХД, журнализации и планирования работ (например, ежедневной загрузки и выгрузки).

Набор метамоделей CWM является достаточным для моделирования всего ХД.

Выбор метамодели при проектировании хранилища данных

Когда требования к метаданным собраны и формализованы, можно приступать к разработке метамодели. На практике следовать требованиям стандарта часто бывает сложно. Причиной этого является дефицит времени и недопонимание важности проработки метамодели руководством компании, особенно когда компания создает ХД силами своего ИТ-подразделения. Руководство по проектированию и разработке метамодели CWM насчитывает более 700 страниц [68]. Как правило, менеджменту ИТ-подразделения трудно объяснить руководству компании, что для собственной разработки ХД необходимо либо взять новую штатную единицу, либо отправить своего специалиста на обучение.

Заказывает ли компания разработку ХД третьей компании или собирается проводить ее самостоятельно – можно выделить следующие способы создания метамодели.

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

Чтобы построить метамодель ХД вручную, необходимо собрать правильные определения сущностей, их атрибутов и взаимосвязей между сущностями. Для разработки такой метамодели может быть применено либо объектно-ориентированное моделирование, либо ER-моделирование.

Если для построения метамодели ХД проектировщик ориентируется на использование стандарта, то у него есть возможность задействовать либо спецификацию "Открытая информационная модель" (Open Information Model OIM), либо спецификацию "Общая метамодель хранилища данных" (Common Warehouse Meta-Model, CWM). CWM описывает обмен метаданными в системах складирования данных, управления знаниями и деловой осведомленности. OIM является набором спецификаций метаданных для использования в разработке приложений ХД. Обе спецификации основываются на промышленных стандартах, таких как UML, XML и SQL.

Выбор подхода к проектированию метаданных во многом определяется набором инструментальных средств проектировщика ХД и выбором несущей СУБД. Ясно, что разработанная вручную метамодель имеет важное преимущество: она, как правило, наиболее полно отражает представление метаданных компании. Но у такой модели есть большой недостаток — ее нужно сопровождать и поддерживать постоянно в актуальном состоянии, как правило, вручную. Модели, разработанные с учетом стандартов, учитывают большинство требований по представлению метаданных компании в ХД. Кроме того, они расширяемы и поддерживаются ведущими производителями средств разработки (Oracle, IBM, Microsoft).

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

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

Пример использования AllFusion ERwin Data Modeler для создания и поддержки метамодели ХД подробно рассмотрен в [37]. Далее мы изучим вопрос, как можно построить модель метаданных вручную.

Владислав Нагорный
Владислав Нагорный

Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки?

Спасибо!

Лариса Парфенова
Лариса Парфенова

1) Можно ли экстерном получить второе высшее образование "Программная инженерия" ?

2) Трудоустраиваете ли Вы выпускников?

3) Можно ли с Вашим дипломом поступить в аспирантуру?