Вы находитесь на страницах старой версии сайта. Перейдите на новую версию OLAP.ru |
Поиск по сайту | ||||||
Новости | ||||||
Основы OLAP | ||||||
Продукты | ||||||
Business Objects/ Crystal Decisions | ||||||
Каталог | ||||||
OLAP в жизни | ||||||
Тенденции | ||||||
Download | ||||||
| ||||||
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). © 2001 Interface Ltd |