- •1. Интерактивная аналитическая обработка данных (olap)
- •1.1. Многомерная olap-технология
- •1.3. Категории оlар-инструментов
- •2. Технология разработки данных
- •2.1 Основные понятия технологии разработки данных
- •2.2 Методы разработки данных
- •2.3.Прогнозирующее моделирование
- •2.4.Сегментирование базы данных
- •2.5. Анализ связей
- •2.6. Обнаружение отклонений
- •2.7.Инструменты разработки данных
- •2.8.Разработка данных и хранилища данных
1.3. Категории оlар-инструментов
ОLАР-инструменты классифицируются по архитектуре используемой ими базы данных, содержащей данные для оперативной аналитической обработке. Существуют три основные категории OLАР-инструментов (Berson and Smith, 1997).
Многомерные ОLАР-инструменты (Multidimensional ОLАР — МОLАР, или МD-ОLАР).
Реляционные OLАР-инструменты (Relational ОLАР — RОLАР), которые также называются мультиреляционными ОLАР-инструментами.
Управляемая среда запросов (Managed Query Enviroment - MQE).
Многомерные ОLАР-инструменты
Для организации хранения, просмотра и анализа данных МОLАР-инструменты используют специализированные структуры данных и многомерные СУБД (ММ СУБД). Для повышения производительности выполнения запросов данные обычно обобщаются и хранятся в соответствии с их предполагаемым использованием. Для организации структур данных в МОLАР-инструментах применяется технология с использованием массивов и эффективных методов хранения данных, сводящих к минимуму требования к используемому дисковому пространству посредством применения методов управления разреженными данными- МОLАР-инструменты обеспечивают исключительную производительность, используя данные именно так, как они спроектированы. Основное внимание при этом уделяется данным, необходимым для специфического приложения поддержки принятия решений. Традиционно МОLАР-инструменты нуждаются в тесном взаимодействии с уровнем приложения и уровнем отображения. Однако в настоящее время проявляется тенденция отделения ОLАР-инструментов от структур данных и использования вместо них опубликованных программных интерфейсов (АР1-иитерфейсов). Типичная архитектура МОLАР-инструментов показана на рисунке 2.
При
разработке МОLАР-инструментов
следует учитывать приведенные ниже
особенности.
Используемые структуры данных обладают ограниченными способностями поддержки нескольких предметных областей и осуществления доступа к подробным сведениям. В некоторых программных продуктах эта проблема разрешается путем использования механизмов, которые позволяют МОLАР-инструментам осуществлять доступ к подробным сведениям, содержащимся в реляционных СУБД.
Просмотр и анализ данных ограничен тем, что структуре, данных была спроектирована в соответствии с заранее определенными требованиями. Поэтому для обеспечения поддержки новых требований может потребоваться реорганизация их структуры.
Использование MOLAP-инструментов требует наличия особого набора навыков и знаний, а также использования специальных инструментов создания и сопровождения базы данных, что приводит к увеличению стоимости и сложности сопровождения подобных систем.
Примерами MOLAP-инструментов являются пакеты Analysis Software фирмы
Pilot Softaware, Essbase фирмы Arbor Software, Express Server фирмы Oracle,Lightship Server фирмы Pilot Software, TM/1 фирмы Sinper, Gentium фирмы Planning Sciences и Multiway фирмы Kenan Technology.
Реляционные ОLAP-инструменты
Реляционные ОLAP-инструменты — это наиболее интенсивно развивающийся сегмент ОLAP-технологии, ROLAP-инструменты взаимодействуют с реляционными СУБД посредством уровня метаданных, избегая благодаря этому необходимости создания статичной многомерной структуры данных. Это упрощает создание нескольких многомерных представлений некоторого двумерного отношения. В одних RОLAP-инструментах для повышения производительности обработки данных применяются усовершенствованные SQL-механизмы, обеспечивающие поддержку сложных функций многомерного анализа. В других рекомендуется или требуется наличие сильно денормализованной структуры базы данных, например выполненной по схеме "звезда". Типичная архитектура реляционных OLAP-инструментов представлена на рисунке 3
При
разработке ROLAP-инструментов
следует учитывать следующие особенности.
Необходима разработка промежуточного программного обеспечения, предназначенного для упрощения разработки многомерных приложений, т,е, программного обеспечения для преобразования двумерных отношений в многомерную структуру.
Требуется разработка инструментов, предназначенных для создания устойчивых, многомерных структур со вспомогательными компонентами администрирования этих структур.
Примерами ROLAP-инструментов могут служить пакеты Ахsys фирмы Advantage, DSS Agent/DSS Server фирмы MicroStrategy, Beacon фирн Platinum/Prodea Software. Metacube фирм Informix /Stanford Technology Group и HighGate Project фирмы Sybase.
Управляемая среда запросов MQE
Концепция инструментов управляемой среды запросов (MQE) является относительно новой разработкой. Эти инструменты предоставляют ограниченные функции анализа либо непосредственно реляционным СУБД, либо с помощью промежуточного MОLAP-сервера, MQE-инструменты передают данные из СУБД (непосредственно или с помощью MОLAP-сервера) на настольный компьютер или локальный сервер в виде куба данных, который затем сохраняется, анализируется и сопровождается локально. Фирмы-разработчики считают, что эта технология характеризуется относительной простотой инсталляции и администрирования, а также меньшими затратами и усилиями на сопровождение. Типичная архитектура MQE-инструментов показана на рисунке 4
При разработке MQЕ-инструментов необходимо учитывать следующие особенности.
Эта архитектура приводит к значительному увеличению избыточности данных и может вызнать проблемы при работе в сетях со многими пользователями.
Способность каждого пользователя создавать свои собственные кубы данных может привести к утрате непротиворечивости данных среди пользователей.
Только ограниченное количество данных может эффективно сопровождаться в этой схеме.
Примерами MQЕ-инструментов являются PowerPlay фирмы Cognos Software,
Pablo фирмы Andyne Software, Mercury Project фирмы Business Objects, CrossTarget фирмы Dimensional Insight и Media фирмы Speedware.
Расширения языка SQL
Преимуществами языка SQL являются простота обучения, непроцидурность, свободный формат операторов, независимость от типа СУБД, а также то, что он стал международным стандартом. Однако у него есть и ряд недостатков — например, неспособность формулировать многие вопросы, которые часто интересуют аналитиков в бизнес-среде. Для устранения этого ограничения было предложено несколько вариантов расширения языка SQL. В данном разделе кратко рассматриваются расширения, предлагаемые фирмой Red Brick Systems и реализованные в созданной ею системе управления хранилищами данных.
Язык Rеd Brick intelligent SQL (RISQL) предназначен специально для бизнес-аналитиков. По сути, это --- набор расширений, дополняющих язык SQL различными мощными операциями, предназначенными для анализа данных и поддержки принятия решений. Сюда можно отнести операции ранжирования, определения скользящего среднего, сравнения, вычисления доли рынка, сравнения значений этого года со значениями прошлого года. Язык RISQL был создан специально для упрощения разработки сложных бизнес -запросов, а также как средство недорого, быстрого и простого способа получения ответа на них. В таблице 1 представлены некоторые основные функции языка RISQL, их описание и примеры типичных запросов, созданных на основе этих функций.
Таблица 1. Некоторые функции языка RISQL
Функция |
Описание |
DECODE |
Заменяет или преобразует кодированные значения, которые обычно используются для внутренних целей, в более общепринятые величины. Например: “Привести Объемы ежемесячных продаж для каждого типа недвижимости с указанием полного названия типа недвижимости вместо его кода (т.е. Flat вместо F)” |
CUME |
Вычислить текущий и общий итог для некоторого столбца. Например: "Привести объемы ежемесячных продаж для каждого отделения компании, а так же суммарный итог по каждому месяцу с начала года'
|
MOVINGAVG |
Вычисляет скользящее среднее по столбцу на основе значений его текущей и предыдущей строк. Например: «Для последних двух лет произвести скользящие средние за 6 месяцев по объему продаж в каждом отделении компании» |
MOVINGSUM |
Вычисляет скользящую сумму по столбцу на основе значений его текущей и предыдущей строк. Например: «Для каждого месяца привести объемы ежемесячных продаж вместе с итоговыми значениями за предшествующие 12 месяцев» |
RANK….WHEN |
Присваивает последовательные числовые значения для строк результирующего набора по результатам сортировки значений заданного столбца. Использование предложения WHEN позволяет ограничить этот набор n-м количеством верхних или нижних строк. Например: « Отобрать 5 отделений компании с наиболее высоким объемом продаж по результатам прошлого года, отсортировав их по порядку номеров отделений»
|
RATIOTOREPORT |
Вычисляет процентную долю значения в данной строке столбца по отношению к итоговому значению всего столбца. Например: «Привести значения объема продаж для каждого отделения компании с указанием их процентной доли от общего объема продаж» |
TERTILE |
Выполняет ранжирование данных в результирующем наборе по трем уровням (High(Высокий), Medium (Средний) и Low (Низкий)) на основе значений в некотором столбце. Например: «Разбить отделения компании на три группы на основе доходов, полученных в прошлом году» |
CREATE MACRO |
Позволяет создавать параметры для часто используемых запросов или подзапросов, которые могут применяться разными пользователями. Например: « Вычислить объемы продаж за этот год и сравнить их с объемами ежегодных продаж (по каждому году) за последние пять лет» |
Кроме того, присутствующее в языке RISQL предложение BREAK BY позволяет вычислять вспомогательные итоговые значения каждой группы записей, устанавливаемой по значению в некотором поле. Это реализуется посредством включения фразы BREAK BY SUMMING в предложение ORDER BY SQL-зaпpoca. Ниже приводятся два примера использования языка RISQL.
Пример 1. Использование функции CUME языка RISQL
Приведите значения ежеквартальных объемов продаж для отделения компании с номером ‘ВЗ’, указав общий итог с начала данного года и до текущего момента.
Предположим, что таблица Branch_Sales имеет три атрибута: Вnо (Номер отделения компании), Quarter (Квартал) и Quarterly_Sales (Объем продаж за квартал), которые содержат сведения о ежеквартальных объемах продажи объектов недвижимости. Для решения данной задачи можно использовать приведенный ниже запрос, включающий функцию CUME,
SELECT quarter, quarterly sales, CUME{ quarterly sales) AS Year-To-Date
FROM branch sales
WHERE bno='ВЗ';
Результат выполнения этого запроса представлен в таблице 2
Таблица 2. Результаты выполнения запроса из примера 1
Квартал |
Ежеквартальный объем продаж |
Суммарный объем продаж с начала года |
1 |
960000 |
960000 |
2 |
1290000 |
2250000 |
3 |
2000000 |
4250000 |
4 |
1500000 |
5750000 |
Пример 2. Использование функций MOVINGAVG/MOVINGSUM языка RISQL
Приведите значения ежемесячных объемов продаж для отделения компании с номером 'В3' для первых шести месяцев без учета сезонной составляющей.
Предположим, что таблица Branch_Sales имеет три атрибута: Вno (Номер отделения компании), Month (Месяц) и Monthly_Sales (Объем продаж за месяц), которые содержат сведения о ежемесячных продажах недвижимости. Тогда для решения этой задачи нужно с помощью функции MOVINGAVG вычислить трехмесячное скользящее среднее значение, а с помощью функции MOVINGSUH — трехмесячное скользящее суммарное значение, что позволит исключить сезонную составляющую. Соответствующий запрос будет выглядеть следующим образом:
SELECT month, monthly Bales, МОVINGAVG(monthly sales) AS 3-Month Moving Avg,
MOVINGSUM(monthly sales) AS 3-Мonth Moving Sum FROM branch sales
WHERE bno='B3”;
Результат выполнения этого запроса показан в таблице 3
Таблица 3. Результаты выполнения запроса из примера 2
Месяц |
Ежемесячный объем продаж |
3-месячное скользящее среднее значение |
3-месячное скользящее значение суммарное |
1 |
210000 |
— |
— - |
2 |
350000 |
— |
— |
3 |
400000 |
320000 |
960000 |
4 |
420000 |
390000 |
1170000 |
5 |
440000 |
420000 |
1 260000 |
6 |
430000 |
430000 |
1290000 |
