|
||||||||
|
|
OLE DB: инструмент для доступа к корпоративным хранилищам данных
Владимир Габриель (Digital Design), READ.ME #8/1997 Автоматизировав бизнес-процессы, многие предприятия
обзавелись базами данных. Создание корпоративных хранилищ данных открывает
большие возможности для анализа деятельности предприятий и оперативного
принятия решений. Новые стандарты Microsoft позволяют
интегрировать эти механизмы в свои решения. В данной статье мы рассмотрим
расширение стандарта OLE DB для работы с многомерными базами данных и
оперативного анализа данных. Высокоуровневые стандарты
Массовое распространение операционных систем Windows
корпорации Microsoft создает благоприятную почву для
появления высокоуровневых стандартов программного взаимодействия. Так, появился
пакет стандартов WOSA (Windows Open
System Architecture), ядром
которого является стандарт взаимодействия компонент COM и его расширение для
сетевого взаимодействия компонент DCOM. С первых дней существования WOSA в нее
входил и стандарт взаимодействия с базами данных - ODBC. На момент появления
ODBC этот стандарт испытывал большую конкуренцию со стороны стандарта IDAPI
компании Borland International,
Inc. Однако со временем ODBC de
facto стал стандартом не только для ОС Windows. Существуют ODBC драйверы различных производителей
и для других операционных систем. Например, компания Intersolv
(http://www.intersolv.com/datadirect/)
выпускает свой набор ODBC драйверов для платформ Windows,
OS/2, UNIX (Solaris, AIX, HP-UX).
Широкое распространение ODBC и интеграция этого стандарта в продукты третьих
производителей позволили огромной армии разработчиков организовать простой и
удобный доступ к корпоративным базам данных. Однако ODBC является CLI
интерфейсом (интерфейсом уровня вызовов). Для организации взаимодействия с
источниками данных (не только с SQL базами данных) в рамках стандарта COM была
выпущена спецификация OLE DB и стандартный набор ActiveX
компонент - ADO - для организации клиентского взаимодействия с источниками
данных по стандарту OLE DB. В сентябре 1997 г. Microsoft
опубликовала предварительную спецификацию расширения стандарта OLE DB для OLAP.
В рамках этой статьи мы изложим основные механизмы работы с многомерными
базами данных с помощью нового стандарта и рассмотрим новые понятия, которые
появились в связи с задачами организации доступа к хранилищам данных. Хранилища данных
В архитектуре большинства хранилищ данных можно выделить уровни загрузки данных,
хранения данных и извлечения данных. При организации хранилища, как правило, на
уровне хранения данных используется метафора метакуба.
Это означает, что данные, которые представлялись в виде двухмерных таблиц,
могут содержать неограниченное количество измерений. Другими словами, данные,
которые помещаются в хранилище, могут содержать большое количество
характеристик, и каждая из них будет представлена в виде собственного
измерения. Допустим, что деятельность по продажам некоторого предприятия характеризуется
данными о типах продаваемых продуктов, списком покупателей, датами продаж и
условиями оплаты. Эту ситуацию иллюстрирует рис. 1. По представленной схеме можно получить таблицу продаж для одного из
покупателей как один из <разрезов> куба. Таким образом, данные в хранилище организованы в виде многомерных кубов.
Ребра куба далее будем называть измерениями. Измерения могут
иметь иерархическую структуру (например, измерение <время> структурируется по
дням, месяцам, кварталам, годам). Одна из основных функций хранилищ
данных заключается в возможности вычисления сумм или других агрегирующих
функций по уровням иерархии измерений. Т.е., имея данные по дням продаж, мы
можем автоматически получать информацию по месячным или квартальным значениям
(рис. 2). При работе с метакубом также необходимо иметь
механизмы динамического построения <разрезов> метакуба.
Такие механизмы далее будем называть навигационными. Навигационные механизмы
позволяют не только получать данные, ранее погруженные в метакуб,
но и получать новые данные. Доступ к многомерным БД
OLE DB для OLAP - это набор объектов и интерфейсов, которые расширяют
стандарт OLE DB для обеспечения взаимодействия между поставщиками и
потребителями данных, организованных в виде многомерных таблиц. Эти объекты и
интерфейсы позволяют, используя стандарт COM, получать, вычислять и
представлять многомерные данные, а также осуществлять по ним навигацию. Объекты
В стандарте OLE DB используются следующие понятия:
Если кратко резюмировать список объектов OLE DB, то его можно изобразить следующим
образом:
OLE DB для OLAP не изменяет понятия набора данных (rowset)
для табличных данных. Средства работы с объектами
Основным объектом - поставщиком данных - является куб. Куб состоит из некоторого
количества измерений и собственно данных. Виртуальный куб - это сущность,
которая является результатом одного или нескольких запросов к кубам.
Виртуальный куб также является кубом. Отношение, в котором находятся куб и
виртуальный куб, аналогично тому, в каком находятся таблица (Table) и представление (View) в
реляционных базах данных. Для просмотра членов измерений используется стандартный для OLE DB набор
данных (rowset); это один из основных механизмов
получения метаданных для наборов измерений. После соединения с источником многомерных данных и создания объекта сессии
потребители данных могут посылать с клиентских рабочих мест многомерные
запросы, результатами выполнения которых будут
многомерные наборы данных. Многомерный набор данных также имеет измерения,
которые будем называть оси (Axes). Каждая ось
содержит данные одного или нескольких измерений куба. Для определения многомерного набора данных запрос содержит секции, которые
определяют:
Типичное многомерное выражение имеет вид: < axis specification
> Существует также расширенный синтаксис многомерных выражений, который
позволяет формулировать более сложные запросы. Как начать использование OLE DB для OLAP
Для использования OLE DB для OLAP необходимо иметь сервер многомерных баз
данных с OLE DB провайдером. На данный момент Microsoft анонсировала выпуск такого продукта (с кодовым
именем Plato) в 1998 г. С клиентской стороны вам
необходимо любое средство, поддерживающее работу с объектом ADO (Active Database Object), который поставляется с OLE DB SDK 1.5, Internet Information Server 3.0 или любым компилятором Microsoft
современных версий. Использовать объект ADO можно из
программ, написанных на MS Visual C++, Microsoft Vishual Basic и (что, несомненно, представляет интерес для огромной
армии офисных программистов) из программ на Visual Basic for Application
(который входит в любой продукт MS Office) и Visual Basic Script
(который входит в Internet Information
Server версии 3.0 и Internet
Explorer, начиная с версии 3.0). | ||||||||||
За содержание страницы отвечает Гончарова М.Н. © Кафедра СПиКБ, 2002-2017 |