Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OLAP.doc
Скачиваний:
2
Добавлен:
03.09.2019
Размер:
1.38 Mб
Скачать

2. Технология olap

Как упоминалось выше, термин OLAP расшифровывается как интерактивная аналитическая обработка. Как следует из названия, это технология, предназначенная для анализа данных. OLAP-приложения предоставляют пользователям возможность выбирать, просматривать и анализиро­вать данные о транзакциях из различных источников, что позволяет организациям получать до­полнительные преимущества от использования традиционных СУБД с интерактивной обработкой транзакций (On-Line Transaction Processing - OLTP) и хранилищ данных.

OLAP - это действи­тельно расширенный, или усовершенствованный, тип приложений, таких как системы поддержки решений (Decision Support Services — DSS) и управляющие информационные системы (Executive Information System — EIS). Эти типы приложений предназначены для предоставления обобщенной информации о том, какие решения можно принимать, и для обеспечения информационной под­держки руководителей предприятия. OLAP расширяет эти горизонты, предоставляя широкие воз­можности анализа поступающей информации.

Но что действительно отличает OLAP-технологию от традиционной OLTP-технологии, так это ее способность обеспечить многомерное представление транзакционных данных.

Прежде чем углубиться в подробное рассмотрение служб OLAP, давайте выясним, что такое мно­гомерные данные и как они используются в качестве инструмента анализа. Традиционные реляционные базы данных обеспечивают только двухмерное представление данных (строки и столбцы).

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

В то же время многомерная база данных способна обеспечить n-мерное представление данных. Причем количество измерений теоретически не ограничено. Но, конечно, на практике такие огра­ничения существуют, и связаны они с объемом памяти и производительностью системы.

Многомерная база данных состоит из первичных элементов, или "кирпичиков", которые назы­ваются кубами. Куб представляет собой многомерное образование, которое является совокупно­стью измерений и размеров.

Измерения (dimensions) куба— это категории, относительно которых мы будем проводить анализ данных. Эти измерения создаются таблицами и столбцами реляционной базы данных. Ти­пичными измерениями многомерной базы данных OLAP являются время, географическое поло­жение и товар. Каждое измерение состоит из набора уровней и членов, которые дают дальнейшее определение данных.

Размеры (measures) куба— это количественные характеристики данных, которые нужно про­анализировать. Как и измерения, размеры определяются таблицами и столбцами реляционной ба­зы данных. Типичными размерами многомерной базы данных OLAP являются данные о продажах, бюджете и затратах; но практически любую количественную характеристику можно включить в многомерный куб в качестве размера.

А теперь, когда дано общее представление о многомерных данных, перейдём к рассмотрению того, как службы OLAP можно использовать для создания и обслуживания многомерных баз данных OLAP.

SQL Server Business Intelligence Development Studio

SQL Server Business Intelligence Development Studio — это модуль расширения к консоли управления Microsoft (ММС). ММС стала стандартной консолью управления для всех приложений пакета Microsoft BackOffice. Как показано на рис.5, SQL Server Business Intelligence Development Studio имеет дружест­венный интерфейс, сервер и все компоненты которого представлены в виде иерархической струк­туры, или дерева, в левой части окна. Для доступа к большинству функций достаточно выделить нужный элемент дерева и щелкнуть на нем правой кнопкой мыши.

Первый шаг в использовании служб OLAP - создание базы данных OLAP. Чтобы придать нашему обсуждению практический смысл, на протяжении оставшейся части главы будем рассмат­ривать конкретный пример. Создадим многомерную базу данных OLAP для отдела маркетинга компьютерной техники. Сотрудников отдела маркетинга волнует сокращение объемов продаж, и поэтому они хотят проанализировать данные с точки зрения демографии, гео­графии и ассортимента товаров.

Рис. 5. SQL Server Business Intelligence Development Studio

Чтобы создать базу данных OLAP, выберите на панели управления значок Создать проект. На экране появится диалоговое окно, показанное на рис. 6.

Рис.6. Диалоговое окно создания проекта

Введите имя базы данных («Marketing»), выберите Проект служб Analysis Services и щелкните на кнопке ОК. Вернувшись, вы уви­дите в окне обозревателя решений созданное вами решение.

Большинство баз данных OLAP не являются автономными системами в плане хранения дан­ных. Скорее всего, они используются для представления реляционных транзакционных данных. Поэтому у любой базы данных OLAP, созданной с помощью служб OLAP, должен быть источник данных, поставляющий информацию для измерений и размеров кубов.

Источником данных для базы данных OLAP может быть практически любая реляционная база данных, для которой существует драйвер OLE DB. OLE DB — это универсальная объектная мо­дель доступа к данным. Если источник данных способен представлять данные через драйвер OLE DB, то к ним можно получить доступ. В поставку SQL Server 7,0 входит несколько драйверов OLE DB, включая драйверы для таких баз данных, как Oracle, Jet, SQL Server, DB2 и OLAP. Драй­веры OLE DB для других систем можно найти у сторонних фирм-производителей.

Чтобы создать источник данных для базы данных OLAP, разверните решение Marketing в окне обозревателя решений. Щелкните на папке Источники данных правой кнопкой мыши и из контекстного меню выберите команду Создать источник данных. На экране появится диалоговое окно приветствия Мастера источника данных, нажимаем Далее.

Затем мастер предложит выбрать вам источник данных. Выбираем Создать, и в открывшемся окне вводим имя сервера и указываем нашу базу данных Marketing.

Рис.7. Диалоговое окно Диспетчер соединений

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

В базе данных OLAP может содержаться несколько источников данных. Используя несколько источников данных, можно выбирать информацию из различных транзакционных СУБД или хранилищ данных и помещать ее в одну многомерную базу данных OLAP.

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

Для создания представления необходимо выполнить следующие шаги:

  • В окне Обозреватель решений щелкните правой кнопкой мыши на папке Представление источника данных и затем выберите Создать представление источника данных из контекстного меню.

  • В диалоговом окне Мастер представлений источников данных выберите Marketing (имя источника данных) и нажмите Далее.

  • В появившемся окне выберите таблицы, которые необходимо добавить в представление.

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

В окне Обозревателя решений кликните правой кнопкой мыши на папке измерения, выберите Создать новое измерение. Щелкнув на кнопке Далее, вы перейдете в следующее окно.

На первом шаге мастер предложит выбрать сбоку с использованием источника данных или без. Выбираем первое (Рис.8).

Рис. 8. Диалоговое окно Мастера измерений Выбор метода сборки

Затем выбираем уже созданное нами ранее представление источника данных Marketing, на основе которого и будет создано измерение (см. Рис. 9). Следует отметить, что в качестве источников данных могут выступать как представления, так и таблицы.

Далее мастер предложит выбрать одни из типов измерения: стандартное измерение, измерение времени и серверное измерение времени. Выбираем стандартное.

Рис. 9. Окно Мастера измерений Выбор представления источника данных

Рис. 10.Окно Мастера измерений Выбор типа измерения

На следующем шаге выбираем таблицу измерения - это таблица, содержащая исходные данные для измерения. Другими словами, в ней содержатся дан­ные о категории, для которой создается измерение, а также один или несколько ключевых столбцов, относящихся к таблице фактов (Рис. 11).

Рис.11. Окно Мастера измерений Выбор основной таблицы измерения

Далее выбираем из списка атрибуты измерения или связанные таблицы (Рис. 12). Это зависит от того таблицы, для которой создается измерение. Связанные таблицы как правило соответствуют таблицам-фактам. Нажимаем Готово.

Рис.12. Окно Мастера измерений Выбор атрибутов измерения

Рис. 13. Диалоговое окно Мастера кубов Выбор метода построения

На следующем шаге нам будет предложено выбрать представление источника данных (Рис.14). Выбираем уже созданное нами представлении Marketing и щелкаем Далее.

Рис.14. Диалоговое окно Мастера кубов Выбор представления источника данных

После выполнения всех этих операций вы должны увидеть следующее сообщение: «Мастер кубов проанализировал связи между таблицами в представлениях источника данных для определения таблиц фактов и измерений. Все предложения можно просмотреть на следующей странице». Кликните на кнопке Далее для перехода в следующее окно. Перед нами выводится список таблиц фактов и измерений. Ставя галочки в соответствующих столбцах мы определяем, какая таблица будет являться таблицей фактом, а какие таблицами измерений (Рис.15.). Выберите таблицы, ко­торые вы хотите проанализировать. Как правило, в качестве фактической выбирается таблица, которая содержит подробные, ори­ентированные на транзакции, записи (например, записи о продажах). В нашем примере в качестве таблицы фактов выберем таблицу Sales, так как она содержит транзакционные данные о продажах.

В основе каждого куба должна лежать только одна таблица фактов. Если данные, которые вы хотите проанализировать, содержатся в нескольких таблицах (а не в одной), то вам придется создать отдельный куб для каждой из этих таблиц фактов.

В диалоговом окне, показанном на рис. 15, щелкните на кнопке Далее, чтобы перейти в сле­дующее окно. Там вы сможете определить данные внутри таблицы фактов, которые нужно про­анализировать. Такие данные называются размерами куба. Размеры представляют собой столбцы таблицы фактов, содержащие численные данные, кото­рые вы хотите проанализировать. В отличие от определения уровней измерения, для размеров нет порядка или иерархии. Вы можете добавить для куба столько разме­ров, сколько хотите, только им должны соответствовать столбцы в таблице фактов.

Рис.15. Мастер кубов. Определение таблиц фактов и измерений

Рис. 16. Диалоговое окно определения размеров куба

В нашем примере определим куб, который поможет проанализировать данные продаж по мага­зинам, наименованиям товаров и покупателям относительно различных измерений. Для этого выберем измерения Customer, Store, Sales и Product в качестве размеров куба(Рис. 16). Данные, содержащиеся в этих измерениях, будут основой всех данных нашего куба.

Измерения соответствуют категориям, которые используются для анализа размеров куба. Это по­зволяет пользователям разворачивать и сворачивать данные о продажах по магазинам и по товарам, двигаясь по измерениям, включенным в куб. С помощью мастера кубов вы можете включить в куб любые измерения, которые были предварительно определены в качестве общих.

Мастер кубов позволяет включать в куб только те измерения, которые были предварительно определены в качестве общих. Завершив работу с мастером, вы автоматически попадете в Редактор куба. Здесь можно добавить дополнительные общие измерения или создать частные измерения, которые будут доступны только для создаваемого куба.

На следующем шаге вам предстоит выбрать показатели, которые нобходимо включить в куб (Рис.17).

Рис.17. Диалоговое окно выбора показателей

Теперь пользователи смогут использовать куб для анализа данных о продажах каждого товара в магазинах по месяцам.

Щелкаем на кнопке Далее. Появляется новое окно, в котором выводиться сообщение, что процесс просмотра таблиц измерений завершен. Щелкаем еще раз на кнопке Далее.

На экране появится заключительное диалоговое окно мастера кубов, показанное на рис. 18, в которой будет предложено ввести имя куба. Чтобы закончить создание куба, щелкните на кнопке Готово.

Рис. 18. Заключительное диалоговое окно мастера кубов

Можете повторить описанные выше действия, чтобы создать для базы данных столько кубов, сколько нужно. Каждый куб может иметь собственный набор измерений и размеров. Но помните, что в основе куба может лежать только одна таблица фактов. Поэтому для каждой таблицы фактов, которую вы хотите проанализировать, нужно построить отдельный куб.

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

Прежде чем действительно воспользоваться кубом, его нужно заполнить реальными данными. Процесс заполнения куба включает обработку всех строк и столбцов таблиц измерений и фактов с целью получения настоящего куба данных внутри базы данных OLAP. Чтобы вы могли в полной мере оценить, что происходит при заполнении и обработке куба, давайте остановимся на вопросах хранения данных внутри базы данных OLAP.

Все многомерные базы данных, созданные в OLAP, основаны на источниках данных, которые находятся в других реляционных базах данных. Когда вы выполняете обработку куба, эти исход­ные данные должны быть сохранены таким образом, чтобы их можно было выбрать с помощью служб OLAP и вернуть в качестве результирующего набора клиентскому приложению. В OLAP поддерживаются три модели хранения данных:

• многомерная (multidimensional) OLAP (MOLAP);

• реляционная (relational) OLAP (ROLAP);

• гибридная (hybrid) OLAP (HOLAP).

На протяжении многих лет среди сторонников технологии OLAP велись жаркие дебаты о том, какой из этих методов хранения данных лучше

Рассмотрим каждый из пе­речисленных методов и его реализацию в OLAP Services.

MOLAP

Метод хранения данных MOLAP подразумевает сохранение всех подробных данных куба внутри собственной многомерной базы данных. Это означает, что реляционные данные, храня­щиеся внутри таблиц измерения и фактов основного реляционного источника данных, записыва­ются в оптимизированную многомерную базу данных.

Помимо подробных данных куба, все итоги также сохраняются в многомерной базе данных. Вы, наверное, спросите: "Что такое итоги и зачем они мне нужны?". Вскоре мы ответим на этот вопрос, а пока вам достаточно знать, что итоги должны где-то храниться и в модели MOLAP они хранятся в многомерной базе данных.

В OLAP архитектура места хранения данных состоит из записей, которые сохраняются в сег­ментах размером по 64 Кбайт. Внутри каждой записи есть сжатый 4-8-байтовый ключ, который является указателем набора координат измерений куба. Эта архитектура памяти оптимизирована для обработчика запросов OLAP и обеспечивает самую высокую производительность из всех мо­делей хранения данных.

ROLAP

Метод хранения ROLAP подразумевает сохранение всех подробных данных куба и итоговых данных внутри реляционной базы данных. Это означает, что все подробные данные куба, которые находятся в таблицах измерений и фактов, остаются в своем "родном" реляционном источнике данных, т.е. данные не перемещаются.

Когда сохраняются итоговые данные, внутри реляционного источника данных с помощью служб OLAP создаются обобщенные таблицы, которые заполняются путем использования про­стых SQL-операторов INSERT и INTO. Благодаря OLAP все таблицы и индексы создаются автоматически. Но помните, что это происходит только при сохранении итоговых сведений; подробные данные куба остаются на месте.

Этот метод хранения не может обеспечить такую же высокую производительность, как MOLAP, но зато он позволяет свободно наращивать память базы данных.

HOLAP

И, наконец, последний режим, поддерживаемый службами OLAP, - это HOLAP. Как вы, на­верное, догадались, он представляет собой комбинацию режимов MOLAP и ROLAP. Этот метод хранения подразумевает сохранение всех данных куба внутри реляционной базы данных, а всех итогов — внутри многомерной базы данных. Он унаследовал лучшие качества первых двух мето­дов: производительность MOLAP и возможность наращивания памяти ROLAP.

А теперь, когда вы познакомились с тремя методами хранения данных, поддерживаемыми, службами OLAP, давайте выясним, что подразумевается под обработкой куба внутри базы данных OLAP.

Как уже упоминалось, чтобы использовать базу данных OLAP, вы сначала должны обработать кубы, содержащиеся внутри этой базы данных. Проще говоря, обработка куба— это его заполне­ние реальными транзакционными данными из источника данных. Но, прежде чем заполнить куб, вам нужно определить для него некоторые методы оптимизации. OLAP Services предоставляет два основных механизма оптимизации кубов внутри базы данных OLAP:

• итоги;

• разделы.

Итоги

Итоги (aggregations) — это обобщенные данные, которые вычисляются службами OLAP и со­храняются в базе данных вместе с транзакционными данными куба. Это могут быть, например, итоговые данные о продажах по всем магазинам США за определенный период. Итоги можно вы­числить путем суммирования отдельных цифр продаж для каждого магазина. Вычисления могут производиться либо во время обработки куба, либо когда клиентское приложение запросит эти данные. Если создать итоги, то вычисления будут выполняться во время обработки куба и итого­вые данные будут сохранены в базе данных OLAP.

Когда клиентское приложение запросит данные из куба, OLAP сначала просмотрит все сохра­ненные итоги, чтобы выяснить, существуют ли необходимые данные. Обнаружив запрошенные данные, сервер просто вернет их клиенту, не делая никаких дополнительных вычислений. Если же запрошенных данных нет ни в одном из сохраненных итогов, то сервер должен вычислить данные "на лету". Поэтому, используя итоги, можно существенно повысить производительность.

Но у итогов есть и оборотная сторона. Они занимают значительное место на сервере и могут потребовать много времени для обработки. Поэтому, создавая для куба итоги, нужно найти ком­промисс между производительностью и памятью.

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

Представьте себе куб с одним размером и двумя измерениями; каждое измерение содержит 4 уровня (например, измерение время содержит уровни годы, кварталы, месяцы и недели; измерение география содержит уровни страны, регионы, штаты и города; размер представляет собой цифры продаж). Сколько существует способов получения итогов (или обобщения) данных для различных уровней внутри куба? Для куба из нашего примера имеется по меньшей мере 16 возможных итогов.

Существует nх возможных итогов, где n — количество уровней в измерении, а x - количество измерений куба. С помощью этой формулы можно подсчитать, что для куба с восемью измере­ниями, в каждом из которых есть 4 уровня (что вполне вероятно для многомерной базы данных OLAP), существует 65 536 возможных итогов! Вспомните, что каждый итог необходимо сохра­нить либо в многомерной, либо в реляционной базе данных. Кроме того, каждый итог нужно вы­числить при обработке куба. Как видите, для создания итогов во время обработки куба потребуют­ся существенные затраты памяти и времени.

А теперь давайте рассмотрим, как создаются и обрабатываются итоги с помощью служб OLAP. Для этого снова воспользуемся кубом для отдела маркетинга из нашего примера.

Чтобы создать итоги для нашего куба (который будет использоваться для отдела маркетинга), выберете в верхней части окна вкладку Секции (Рис.19) и Запускаем мастера статистических схем (Рис.20). С помощью этого мастера можно выбрать для куба и итогов режим хранения и создать набор итогов.

В появившемся окне выбираем режим хранения данных и щелкаем на кнопке Далее. В нашем примере выберем модель MOLAP, так как необходимо достичь максимальной произ­водительности. Затем вы должны увидеть окно определения счетчиков объектов. По щелчку на кнопке Подсчет они определяются автоматически. После их определения нажимаем Далее. На предпоследнем шаге вы должны будете выбрать опции создания итогов (Рис.21).

Рис.19. Просмотр и создание секций куба

Рис. 20. Диалоговое окно мастера выбора метода хранения

Рис.21. Выбор опций создания итогов

Чтобы создать итоги для куба, щелкните на кнопке Далее.

Диалоговое окно показанное на рис. 21, позволяет создать итоги для куба. Здесь вы должны указать службам OLAP, сколько итогов можно создать. В OLAP используются сложные алгоритмы определения типа итогов. Ре­ально повлиять на этот процесс вы можете только одним способом — определив компромисс ме­жду производительностью и объемом занимаемого дискового пространства.

Службы OLAP предоставляют возможность создания частичных предварительных итогов. Это означает, что вы как администратор базы данных можете определить компромисс между объемом занимаемой памяти и производительностью.

Как видно из рис. 21. можно выбрать одну из четырех опций создания итогов. При их выборе OLAP будет создавать итоги до тех пор, пока не произойдет одно из следующих событий.

• Оценка размера хранилища (в Мб). При выборе этой опции службы OLAP будут создавать итоги до тех пор, пока заданный объем дискового пространства не будет использован полностью.

• Рост производительности. При выборе этой опции службы OLAP будут создавать итоги до тех пор, пока производительность не увеличится на заданную величину в процентах.

• Нажатие кнопки Stop. При выборе этой опции службы OLAP будут создавать итоги до тех пор, пока пользователь не щелкнет на кнопке Stop.

Как и в случае выбора режима хранения данных, решение о выборе опций создания итогов должен принимать администратор базы данных, так как оно зависит от множества факторов. Но фирма Microsoft утверждает, что увеличение производительности на 80% обеспечивает оптималь­ное соотношение "производительность — дисковое пространство".

Поэтому в нашем примере воспользуемся советом фирмы Microsoft и позволим службам OLAP создавать итоги до тех пор, пока не достигнем увеличения производительности на 80%. Затем щелкнем на кнопке Пуск. В окошке, расположенном в правой части диалогового окна, вы увидите график зависимости производительности от объема дискового пространства, которая по­лучается в процессе создания итогов. Из этого графика видно, что 80-процентный уровень увели­чения производительности действительно можно считать оптимальным. После того как OLAP создаст итоги в соответствии с выбранным условием, щелкните на кнопке Далее. На экране появит­ся диалоговое окно, показанное на рис. 22.

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

• Развернуть и обработать сейчас. При выборе этой опции службы OLAP будут обрабатывать все итоги сразу после того, как вы щелкнете на кнопке Готово. Это означает, что OLAP выполнит все вычисления и сохранит данные с помощью выбранного для куба режима хранения данных.

• Сохранить агрегаты без обработки. Выбор этой опции позволит сохранить план создания итогов, не проводя реальных вычислений и не сохраняя данные немедленно. Но помните, что вы должны обработать итоги до того, как к ним обра­тится пользователь.

Рис. 22. Заключительное диалоговое окно мастера выбора режима хранения

В нашем примере выберем опцию Развернуть и обработать сейчас и щелкнем на кнопке Готово. Появится окно, представленное на рисунке 23, в котором следует выбрать параметры обработки и щелкнуть на кнопке Выполнить.

Рис.23. Окно обработки секции

Продолжительность обработки будет зависеть от выбранного уровня оптимизации (т.е. опции создания итогов). Кроме того, если вы выбрали режим MOLAP, все подробные данные куба придется также записать в многомерный источник данных. Но в любом случае OLAP отобразит окно состоя­ния, в котором будет виден ход выполнения процесса. Здесь вы увидите, как выполняются абсолютно все операции в базе данных, и узнаете, как они завершились (успешно или неудачно) (рис. 24.).

Рис. 23. Окно обработки

Итак, мы создали базу данных OLAP, определили в ней куб, создали итоги с целью его опти­мизации и обработали данные, хранящиеся в кубе. Теперь мы можем приступить к реальному ис­пользованию этого куба.

Далее приведен краткий обзор некоторых утилит и технологий, которые по­зволяют получить доступ к базе данных ОLАР и использовать содержащуюся в ней информацию.

1. Обозреватель

Доступ к Обозревателю можно получить из диспетчера OLAP. С ее помощью можно просмотреть данные куба после его создания и обработки. Чтобы просмотреть куб в Обозревателе, выделите его имя и щелкните на нем правой кнопкой мыши. Из контекстно­го меню выберите команду Обзор. На экране появится окно Обозревател (рис. 24).

Рис. 24. Просмотр кубов при помощи Обозревателя

Как видно из рис. 24, Обозреватель напоминает сводную таблицу Excel, но только с более широ­кими возможностями. Вы можете выбрать любые из имеющихся измерений и отфильтровать данные на высоком уровне. Можно перетащить любые измерения в разлинованную область. Дважды щелкнув на измерении внутри разлинованной области, вы можете развернуть уровни измерения. При выборе раз­личных измерений данные внутри разлинованной области будут динамически обновляться.

Обозреватель — это очень удобная утилита, которая позволяет быстро просмотреть данные в кубе.

2. Утилита Pivot Table Service

Pivot Table Service — это утилита, которая входит в пакет Microsoft Office 2000. В ее основе лежит практически тот же код, что и в службах OLAP. Она обеспечивает кэширование данных для клиентской части и прямой интерфейс с Access и Excel. Кроме того, утилиту Pivot Table Service можно внедрить в Web-броузер.

3. ADO MD

ADO MD расшифровывается как "объекты данных ActiveX для многомерных данных" (AcliveX Data Object for Multidimensional Data). ADO MD расширяет функции ADO путем добав­ления набора объектов в модель ADO, что позволяет обращаться к многомерным данным. Напри­мер, ADO MD включает объект cellset (набор ячеек), который является эквивалентом объекта recordset (набор записей) в ADO.

ADO MD позволяет разработчикам клиентских приложений писать приложения с помощью Visual Basic, Active Server Pages, Visual C++ и других языков для создания графического интер­фейса к данным OLAP.

4. MDX

MDX расшифровывается как "многомерные выражения" (multidimensional expressions). MDX — это, в сущности, расширение синтаксиса SQL до таких пределов, когда появляется возможность по­лучать доступ к базе данных OLAP и выбирать из нее сведения. Структура MDX аналогична структу­ре SQL; в нем используются те же ключевые слова, например SELECT, FROM и WHERE.

MDX — это составная часть ADO MD для доступа к данным со стороны клиента. Например, объект cellset ADO MD должен передать на сервер запрос, сформулированный MDX, чтобы по­лучить результирующий набор.

Кроме того, многие сторонние фирмы создают надежные интерфейсные инструменты OLAP, специально предназначенные для спецификаций OLAP и OLE DB. Большинство фирм, производя­щих OLAP-продукты, включили поддержку OLE DB для спецификации OLAP, и в ближайшее время, возможно, появится много удачньк альтернативных клиентских приложений для OLAP-анализа.

Естественно, создание куба — это еще не все. До сих пор мы говорили о кубах так, как будто это "моментальные снимки" транзакционных данных, предназначенные только для чтения. И хотя базы данных OLAP действительно используются для анализа архивных транзакционных данных, эти кубы нужно обновлять по мере изменения транзакционных данных.

В OLAP предусмотрен механизм обновления многомерных данных внутри кубов – обработка куба.

Обработка куба

Как упоминалось ранее, чтобы заполнить куб реальными данными, его нужно обработать. Аналогично, чтобы обновить данные в кубе, его также нужно обработать. Чтобы обновить данные куба, выделите его в диспетчере OLAP, щелкните на нем правой кнопкой мыши и из контекстного меню выберите команду Обработать. На экране появится диалоговое окно Выполнить, показанное на рис. 25.

Рис. 25. Диалоговое окно Обработка куба

В этом диалоговом окне предусмотрены следующие опции обработки куба.

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

• Обработка.Данные. Выберите эту опцию, чтобы удалить все данные из куба и заполнить его заново. В таком случае все итоги пересчитываются, а данные сохраняются в кубе на основе его первоначального определения.

• Обработать.Полная. Выберите эту опцию, если структура куба изменилась, например ес­ли вы добавили или удалили измерение или размер куба. При выборе этой опции куб соз­дается заново на основе его текущего определения. Такой процесс ничем не отличается от процесса первоначального создания куба.

Задание:

1. Создайте источник данных Marketing;

2. Постройте следующие измерения: место расположения покупателей, семейное положение покупателя (marital status), пол покупателя (sex), товар (product), время (date), расположение магазина (store);

3. Создайте куб и включите в него все ранее созданные измерения;

4. Заполните куб данными в режиме MOLAP;

5. Используйте Обозреватель для просмотра данных куба и выбора интересующей информации (например, число покупок, совершенных мужчинами в Beverly Hills (California, USA) в феврале.) и т.п.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]