- •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. Интерактивная аналитическая обработка данных (olap)
В этом разделе рассматривается природа многомерных данных, а также то, как эти данные могут быть наилучшим образом представлены в базе данных, предназначенной для оперативной аналитической обработки данных (Online Analytical Processing — OLAP). Кроме того, описываются требования, которым должны удовлетворять ОLAP-инструменты, и описываются основные характеристики трех категорий ОLAP-инструментов; MOLAP, RGLAP и MQE. В конце данного раздела дается краткий обзор расширений языка SQL, предназначенных для выполнения более сложных функций анализа данных.
Основной вопрос при обработке информации заключается в том, как обрабатывать все более и более крупные базы данных, содержащие данные с постоянно усложняющейся структурой, сохранив при этом приемлемое время реакции системы на запрос. Архитектура "клиент/сервер" позволяет организациям устанавливать специализированные серверы, оптимизированные для решения задач специфического управления данными. Для таких бизнес-приложений, как анализ рынка и финансовое прогнозирование, требуется использовать запросо-центрированные схемы баз данных, которые, по сути, имеют вид многомерных массивов. Эти приложения характеризуются необходимостью извлекать большое количество записей из очень больших наборов данных и мгновенно вычислять на их основе итоговые значения. Предоставление поддержки для таких приложений является основным назначением всех OLAP-инструментов.
Оперативная аналитическая обработка(OLAP) - динамический синтез, анализ и консолидация больших объемов многомерных данных.
Термин "OLAP" был предложен Коддом в 1993 году и определяет архитектуру, которая поддерживает сложные аналитические приложения. Большинство OLAP-приложений создается на основе специализированных многомерных СУБД (или ММ СУБД (mult-dimensional DBMS)) c ограниченным набором данных и настраиваемым пользовательским интерфейсом приложений. QLAP-архитектура предусматривает определенные уровни с четким разделением функций между приложением и СУБД. На основе этого разделения появилось новое поколение OLAP-инструментов, предоставляющих такие возможности, которые позволяют обычным СУБД конкурировать со специализированными технологиями ММ СУБД.
1.1. Многомерная olap-технология
Мы начнем нашу работу с рассмотрения нескольких альтернативных вариантов представления многомерных данных. Например, рассмотрим, как лучше всего представить запрос типа следующего: "Каким был общий доход от продаж объектов недвижимости в каждом городе в каждом квартале 1997 года?". Соответствующие данные можно разместить в реляционной таблице с тремя столбцами, представленной на рисунке 1 А, однако они более естественно укладываются н двумерной матрице с размерностями City (Город) и Time ((время) (в данном случае поквартально)) — как показано на рисунке 1 Б. Основаниями для выбора одного из этик представлений могут быть только типы запросов со стороны пользователей. Если пользователь будет составлять простые запросы типа: "Каким был доход, полученный в городе Глазго в первом квартале?" или другие подобные этому запросы, предназначенные для извлечения единственного значения, то никакой потребности в создании и использовании многомерной базы данных нет. Однако если пользователь попробует составить запрос типа: "Каким был суммарный годовой доход для каждого города?" или "Каким был средний доход для каждого города?", то для получения ответа потребуется извлечь большое количество значений и выполнить их обобщение. Если речь идет о большой базе данных, содержащей сведения об операциях продажи в тысячах городов, то для выполнения необходимых расчетов реляционной СУБД потребуется очень много времени. Типичная РСУБД способна сканировать всего несколько сотен строк в секунду, тогда как типичная ММ СУБД способна выполнять обобщающие операции со скоростью до 10 000 строк в секунду и даже выше.
Рассмотрим теперь те же данные о доходах, но с учетом дополнительной размерности — а именно, типа недвижимости. В этом случае имеющиеся данные представляют общий доход, но в зависимости от типа объектов недвижимости (т.е. от размерности Property_Туре, причем для простоты предположим, что это может быть только квартира (Flat) или дом (House))» города и времени (поквартально). В этом случае данные также могут быть размещены в таблице с четырьмя полями, как показано на рисунке 1 В. Но более естественно было бы разместить их в трехмерном кубе — так, как показано на рисунке 1 Г. В нем данные представлены в виде ячеек некоторого массива, где каждое значение дохода связано с размерностями Property Type, City и Time. Отметим, что таблица в реляционной СУБД может представлять многомерные данные только в двух измерениях.
В ОLAP-технологии серверы баз данных для хранения данных и связей между ними используют многомерные структуры. Многомерные структуры лучше всего представлять как кубы данных, которые, в свою очередь, могут состоять из других кубов данных. Каждая сторона куба является размерностью.
Многомерные базы данных очень компактны и обеспечивают простые средства просмотра и манипулирования элементами данных, обладающих многими взаимосвязями. Подобный куб легко может быть расширен с целью включения новой размерности, например, содержащей количество сотрудников компании в каждом городе. Над данными в кубе могут выполняться операции матричной арифметики, что дозволяет легко вычислить значение среднего дохода на одного сотрудника компании посредством применения простой матричной операции ко всем ячейкам куба:
средний_доход_на_сотрудника = общий_доход / количества_сотрудников.
Рисунок1. Представление многомерных данных: а) в виде таблицы с тремя полями; б) двумерной матрицы; в) таблицы с четырьмя полями; г) трехмерного куба
Время обработки многомерного запроса зависит от того количества ячеек, которые должны быть обработаны мгновенно. С ростом числа размерностей количество ячеек в кубе данных возрастает экспоненциально. Однако для большинства многомерных запросов требуются только обобщенные данные высокого уровни. Следовательно, для создания эффективной многомерной базы данных необходимо предварительно рассчитать (консолидировать) все логические промежуточные и основные итоговые значения, причем по всем размерностям. Такое предварительное обобщение может оказаться особенно ценным, если типичные размерности имеют иерархическую структуру. Например, размерность времени может иерархически подразделяться на годы, кварталы, месяцы, недели и дни, а размерность географического расположения — на отделения компании, районы, города и страны. Наличие предопределенной иерархии внутри размерностей позволяет выполнять предварительное логическое обобщение и, наоборот, нисходящий ("drill-down") логический анализ с переходом от значений годовых доходов к значениям квартальных доходов и дальше к значениям месячных доходов.
Серверы многомерных баз данных на основе OLАР могут выполнять перечисленные ниже основные аналитические операции.
Консолидация. Она включает такие обобщающие операции, как простое суммирование значений ("свертка") или расчет с использованием сложных выражений, включающих другие связанные данные. Например, показатели для отделений компании могут быть просто просуммированы с целью получения показателей для каждого города, а показатели для городов могут быть "свернуты" до показателей по отдельным странам.
Нисходящий анализ ("drill-down"). Операция, обратная консолидации, которая включает отображение подробных сведений для рассматриваемых консолидированных данных.
Разбиение с поворотом (slicing and difing). Эти операция (которая также называется созданием сводной таблицы) позволяет получить представление данных с разных точек зрения. Например, один срез данных о доходах может отображать все сведения о доходах от продаж объектов недвижимости укачанного типа по каждому городу. Другой срез может представлять все данные о доходах отделений компании в каждом из городов. Разбиение с поворотом часто выполняется вдоль оси времени -- с целью анализа тенденций и поиска закономерно г те п.
OLAP-серверы многомерных баз данных обладают способностью хранить многомерные данные в сжатом виде. Это достигается за счёт динамического набора способа физического хранения данных и использования технологий сжатия, которые позволяют максимально эффективно использовать имеющееся пространство. Плотно упакованные данные (т.е. данные, в которых пустые ячейки занимают меньшую часть куба) могут храниться отдельно от разреженных данных (т.е. данные, в которых пустые ячейки занимают большую часть куба). Например, некоторые отделения компании могут заниматься продажей только определенных типов объектов недвижимости, поэтому та часть ячеек, которая связана с другими типами объектов недвижимости, окажется пустой, а сам куб данных --- разреженным. Другой тип разрежения связан с наличием дубликатов данных. Например, в крупных городах с большим количеством отделений компании ячейки будут содержать множество повторяющихся названий этих городов. Способность многомерной базы данных СУБД опускать пустые или повторяющиеся ячейки метает существенно сократить размер куба и объем обрабатываемых данных.
Оптимизируя использование пространства, ОLAP- серверы до минимума сокращают требования, предъявляемые к устройствам физического хранения данных, что в свою очередь, позволяет эффективно анализировать исключительно большой объем данных. Это также позволяет загружать больше данных непосредственно в оперативную память компьютера, что приводит к существенному повышению производительности за счет сокращения количества выполняемых операций ввода/вывода.
В конечном итоге предварительное обобщение, использование иерархической структуры размерностей и управление заполнением пространства кубов данных позволяют значительно сократить размер базы данных и исключить потребность многократного вычисления одних и тек же значений. Подобная структура позволяет избежать необходимости выполнения соединения нескольких таблиц, а также обеспечивает быстрый и прямой доступ к массивам данных, что существенно ускоряет обработку многомерных запросов.
1.2. Правила для OLAP-систем
В 1993 году Э.Ф. Кодд сформулировал двенадцать основных правил, которым должны удовлетворять ОLAP-инструменты. Публикация этих правил была результатом исследования, проведенного в интересах фирмы Arbor Software (создателей пакета Essbase), и привела к появлению формального определения требований, предъявляемых к OLAP-
инструментами. Ниже перечислены упомянутые правила Кодда (Codd el ah, 1993),
1. Многомерное концептуальное представление данных.
2.Прозрачность. 3.Доступность
4.Неизменная производительность подготовки отчетов.
5.Архитектура ''клиент/сервер".
6.Универсальность измерений.
7. Динамическое управление разреженностью матриц.
8.Многопользовательская поддержка
9.Неограниченные перекрестные операции между размерностями. 10. Поддержка интуитивно понятного манипулирования данными.
11.Гибкость средств формирования отчетов.
12.Неограниченное число намерений и уровней обобщения.
Многомерное концептуальное представление данных
ОLAР - инструменты должны предоставлять пользователям многомерную модель, отвечающую представлениям пользователей о деятельности организации. Модель должна быть интуитивно понятной и простой в использовании. Интересно, что это правило по-разному поддерживается фирмами-разработчиками ОLAP-инструментов, некоторые из которых утверждают, что многомерное концептуальное представление данных может быть обеспечено и без организации многомерного хранилища.
Прозрачность
OLAP-технология, используемая для нее база данных и архитектура, а также (возможно) неоднородные источники входных данных должны быть прозрачны для пользователей. Это требование применяется для повышения производительности труда пользователя и использование его опыта работы со знакомыми клиентскими средами и инструментами.
Доступность
ОLAP-инструмент должен позволять осуществлять доступ к требуемым для анализа данным, сохраняемым в различных неоднородных корпоративных источниках данных, включая реляционные, нереляционные и прочие унаследованные системы.
Неизменная производительность подготовки отчетов
Пользователи не должны ощущать заметного снижения производительности по мере возрастания количества измерений, уровней обобщения данных и размера базы данных. При этом не должны изменяться способы вычисления самых важных значений. Используемые модели должны быть достаточно устойчивы по отношению к изменениям, вносимым в корпоративную модель.
Архитектура „клиент/сервер"
OLAP-система должна быть способна эффективно функционировать в среде "клиент/сервер''. Использование этой архитектуры должно обеспечивать оптимальную производительность, гибкость, адаптивность, масштабируемость и способность к взаимодействию.
Универсальность измерений
Все измерения данных должны быть эквивалентны по структуре и функциональным возможностям. Иначе говоря, основная структура, формулы и средства создания отчетов не должны быть привязаны к конкретным размерностям.
Динамическое управление разреженностью матриц
ОLАР-система должна уметь адаптировать свою физическую схему к конкретной аналитической модели, что подразумевает динамическую оптимизацию разреженности матриц, выполняемую с целью достижения и поддержки требуемого уровня производительности системы. В типичных многомерных моделях могут присутствовать миллионы ячеек, многие из которых могут не содержать никаких сведений в каждый конкретный момент времени. Такие отсутствующие значения (NULL.) должны храниться наиболее эффективным образом и не оказывать неблагоприятного влияния на точность и скорость доступа к данным.
Многопользовательская поддержка
ОLАР-система должна быть в состоянии поддерживать параллельную работу группы пользователей с одной или несколькими моделями корпоративных данных.
Неограниченные перекрестные операции между размерностями
ОLАР-система должна уметь распознавать иерархии размерностей и автоматически выполнять перекрестные обобщающие вычисления внутри и среди размерностей.
Поддержка интуитивно понятного манипулирования данными
Разбиение и поворот (создание сводных таблиц), нисходящий анализ, консолидация (суммирование), а также любые другие манипуляции с данными должны выполняться с помощью простейших действий типа "выбери и щелкни" или "перетащи и опусти", выполняемых по отношению к ячейкам куба.
Гибкость средств формирования отчетов
Необходимо также иметь инструменты упорядочения строк, столбцов и ячеек, которые позволят упростить анализ данных за счет интуитивно понятного визуального представления аналитических отчетов. Пользователи должны иметь возможность организовать любое желаемое представление необходимых им данных.
Неограниченное число измерений и уровней обобщения
В зависимости от конкретных бизнес-требований аналитическая модель может иметь самое разное количество размерностей, причем каждая из размерностей будет обладать собственной иерархической структурой. ОLАР-система не должна накладывать никаких искусственных ограничений на количество измерений или уровней обобщения данных.
Со времени публикации Коддом приведенных выше правил для ОLАР-инструментов было предложено множество вариантов их переопределения или расширения. Например, в некоторых публикациях указанных двенадцать правил предлагалось дополнить требованием того, что коммерческие ОLАР-инструменты должны включать комплексные инструменты управления базами данных, обладать способностью выполнять нисходящий анализ — до уровня самых детальных сведений (вплоть до записей в источниках данных), осуществлять пошаговое обновление базы данных, а также иметь SQL-интерфейс, что позволит им найти свое место в существующей корпоративной среде.