Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Корпоративные информационные системы

..pdf
Скачиваний:
9
Добавлен:
15.11.2022
Размер:
14.75 Mб
Скачать

3. Характеристики построения отчетов:

стабильная производительность при построении отчетов (оригинальное правило 4);

автоматическая настройка физического уровня (замена оригинального правила 7);

гибкое построение отчетов (оригинальное правило 11);

управление размерностью;

общая функциональность – универсальность измерений (оригинальное правило 6);

неограниченные операции между данными различных измерений (оригинальное правило 9);

неограниченное число измерений и уровней агрегирования (оригинальное правило 12).

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

вреальном времени.

Не останавливаясь на тонкостях организации различных моделей OLAP (например, таких, как радиальная схема, «звезда», «снежинка» или многомерные таблицы), суть работы OLAP можно описать как формирование и последующее использование для анализа массивов предварительно обработанных данных, которые еще называют предвычисленными индексами. Их построение становится возможным исходя из одного основополагающего предположения: будучи средством принятия решений, OLAP работает не с оперативными базами данных, а со стратегическими архивами, отличающимися низкой частотой обновления, интегрированностью, хронологичностью и предметной ориентированностью. Именно неизменность данных и позволяет вычислять их промежуточное представление, ускоряющее анализ гигантских объемов информации.

51

Работа с OLAP-системами может быть построена на основе из двух схем:

1)OLAP-средства, встроенные в настольные приложения. Такие средства, как правило, имеют множество ограничений: на количество измерений, на допустимые иерархии и так далее;

2)двухступенчатая схема «клиент-сервер». Сервер обеспечивает непосредственно извлечение информации из СУБД и все прочее, необходимое для создания кубов. Специализированное же при- ложение-клиент предназначено для удобного (а главное– эффективного) просмотра кубов и выявления тех самых аналитических закономерностей, скоторыхмы начиналинаш экскурс.

Многомерность в OLAP-приложениях может быть разделена на три уровня:

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

иманипулирование данными; слой многомерного представления абстрагирован от физической структуры данных и воспринимает данные как многомерные.

2. Многомерная обработка. Средство (язык) формулирования многомерных запросов (традиционный реляционный язык SQL здесь оказывается непригодным) и процессор, умеющий обработать

ивыполнить такойзапрос.

3. Многомерное хранение. Средства физической организации данных, обеспечивающие эффективное выполнение многомерных запросов.

Первые два уровня в обязательном порядке присутствуют во всех OLAP-средствах. Третий уровень, хотя и является широко распространенным, не обязателен, так как данные для многомерного представления могут извлекаться и из обычных реляционных структур; процессор многомерных запросов в этом случае транслирует многомерные запросы в SQL-запросы, которые выполняются реляционной СУБД.

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

52

Обеспечивая многомерное концептуальное представление со стороны пользовательского интерфейса к исходной БД, все продукты OLAP делятся на несколько классов по типу исходной БД. Многомерный гиперкуб, используемый в OLAP-технологии, может быть реализован в рамках реляционной модели или существовать как отдельная база данных специальной многомерной структуры.

1.8.4. Классификация продуктов OLAP по способу представления данных

В настоящее время на рынке присутствует большое количество продуктов, которые в той или иной степени обеспечивают функциональность OLAP. Около 30 наиболее известных перечис-

лены в списке обзорного Web-сервера http: //www.olapreport.com/.

Обеспечивая многомерное концептуальное представление со стороны пользовательского интерфейса к исходной базе данных, все продукты OLAP делятся на три класса по типу исходной БД.

Самые первые системы оперативной аналитической обработ-

ки (например, Essbase компании Arbor Software, Oracle Express Server компании Oracle) относились к классу MOLAP, то есть могли работать только со своими собственными многомерными базами данных. Они основываются на патентованных технологиях для многомерных СУБД и являются наиболее дорогими. Эти системы обеспечивают полный цикл OLAP-обработки. Они либо включают

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

Системы оперативной аналитической обработки реляционных данных (ROLAP) позволяют представлять данные, хранимые

вреляционной базе, в многомерной форме, обеспечивая преобразование информации в многомерную модель через промежуточный слой метаданных. К этому классу относятся DSS Suite компа-

нии Micro Strategy, MetaCube компании Informix, DecisionSuite

53

компании Information Advantage и другие. Программный комплекс ИнфоВизор, разработанный в России, в Ивановском государственном энергетическом университете, также является системой этого класса. ROLAP-системы хорошо приспособлены для работы с крупными хранилищами. Подобно системам MOLAP, они требуют значительных затрат на обслуживание специалистами по информационным технологиям и предусматривают многопользовательский режим работы.

Наконец, гибридные системы (Hybrid OLAP, HOLAP) разработаны с целью совмещения достоинств и минимизации недостатков, присущих предыдущим классам. К этому классу относится Media/MR компании Speedware. По утверждению разработчиков, он объединяет аналитическую гибкость и скорость ответа MOLAP с постоянным доступом к реальным данным, свойствен-

ным ROLAP.

Помимо перечисленных средств существует еще один класс– инструменты генерации запросов и отчетов для настольных ПК, дополненные функциями OLAP или интегрированные с внешними средствами, выполняющими такие функции. Эти хорошо развитые системы осуществляют выборку данных из исходных источников, преобразуют их и помещают в динамическую многомерную БД, функционирующую на клиентской станции конечного пользователя. Основными представителями этого класса являются BusinessObjects одноименной компании, BrioQuery компании Brio Technology

иPowerPlay компании Cognos.

1.8.4.1.Многомерный OLAP (MOLAP)

Вспециализированных СУБД, основанных на многомерном представлении данных, данные организованы не в форме реляционных таблиц, а в виде упорядоченных многомерных массивов двух видов:

1) гиперкубов (все хранимые в БД ячейки должны иметь одинаковую мерность, то есть находиться в максимально полном базисе измерений);

2) поликубов (каждая переменная хранится с собственным набором измерений, и все связанные с этим сложности обработки перекладываются на внутренние механизмы системы).

54

Использование многомерных БД в системах оперативной аналитической обработки имеет следующие достоинства.

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

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

С другой стороны, имеются существенные ограничения. Многомерные СУБД не позволяют работать с большими

базами данных. К тому же за счет денормализации и предварительно выполненной агрегации объем данных в многомерной базе, как правило, соответствует (по оценке Кодда) в 2,5…100 раз меньшему объему исходных детализированных данных.

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

Следовательно, использование многомерных СУБД оправдано только при следующих условиях.

Объем исходных данных для анализа не слишком велик (не более нескольких гигабайт), то есть уровень агрегации данных достаточно высок.

55

Набор информационных измерений стабилен (поскольку любое изменение в их структуре почти всегда требует полной перестройки гиперкуба).

Время ответа системы на нерегламентированные запросы является наиболее критичным параметром.

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

1.8.4.2. Реляционный OLAP (ROLAP)

Непосредственное использование реляционных БД в системах оперативной аналитической обработки имеет следующие достоинства.

Вбольшинстве случаев корпоративные хранилища данных реализуются средствами реляционных СУБД, и инструменты ROLAP позволяют производить анализ непосредственно над ними. При этом размер хранилища не является таким критичным параметром, как в случае MOLAP.

Вслучае переменной размерности задачи, когда изменения

вструктуру измерений приходится вносить достаточно часто, ROLAP-системы с динамическим представлением размерности являются оптимальным решением, так как в них такие модификации не требуют физической реорганизации БД.

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

Главный недостаток ROLAP по сравнению с многомерными СУБД– меньшая производительность. Для обеспечения производительности, сравнимой с MOLAP, реляционные системы требуют тщательной проработки схемы базы данных и настройки индексов, то есть больших усилий со стороны администраторов БД. Только при использовании звездообразных схем производительность хоро-

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

Идея схемы типа «звезда» (star schema) заключается в том, что имеются таблицы для каждого измерения, а все факты помещаются в одну таблицу, индексируемую множественным ключом, со-

56

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

В сложных задачах с многоуровневыми измерениями имеет смысл обратиться к расширениям схемы звезды– схеме созвездия

(fact constellation schema) исхемеснежинки (snowflake schema). Вэтих случаях отдельные таблицы фактов создаются для возможных сочетаний уровней обобщения различных измерений (рис 1.6). Это позволяет добиться лучшей производительности, но часто приводит к избыточности данных и значительным усложнениям в структуре базы данных, вкоторойоказываетсяогромноеколичествотаблицфактов.

Рис. 1.5. Пример схемы типа «звезда»

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

Таким образом, при большом числе независимых измерений необходимо поддерживать множество таблиц фактов, соответствующих каждому возможному сочетанию выбранных в запросе

57

58

измерений, что также приводит к неэкономному использованию внешней памяти, увеличению времени загрузки данных в БД схемы звезды из внешних источников и сложностям администрирования. Частично решают эту проблему расширения языка SQL (опе-

раторы «GROUP BY CUBE», «GROUP BY ROLLUP» и «GROUP BY GROUPING SETS»); кроме того, возможен механизм поиска компромисса между избыточностью и быстродействием, согласно которому рекомендуется создавать таблицы фактов не для всех возможных сочетаний измерений, а только для тех, значения ячеек которых не могут быть получены с помощью последующей агрегации более полных таблиц фактов (рис. 1.7).

Влюбом случае, если многомерная модель реализуется

ввиде реляционной базы данных, следует создавать длинные и «узкие» таблицы фактов и сравнительно небольшие и «широкие» таблицы измерений. Таблицы фактов содержат численные значения ячеек гиперкуба, а остальные таблицы определяют содержащий их многомерный базис измерений. Часть информации можно получать с помощью динамической агрегации данных, распределенных по незвездообразным нормализованным структурам, хотя при этом следует помнить, что включающие агрегацию запросы при высоконормализованной структуре БД могут выполняться довольно медленно.

Рис. 1.7. Таблицы фактов для разных сочетаний измерений в запросе

59

Ориентация на представление многомерной информации с помощью звездообразных реляционных моделей позволяет избавиться от проблемы оптимизации хранения разреженных матриц, остро стоящей перед многомерными СУБД (где проблема разреженности решается специальным выбором схемы). Хотя для хранения каждой ячейки используется целая запись, которая помимо самих значений включает вторичные ключи – ссылки на таблицы измерений, – несуществующие значения просто не включаются в таблицу фактов.

1.8.5. Оперативная обработка данных

Немаловажным моментом в функционировании КИС является необходимость обеспечить помимо средств генерации данных также и средства их анализа. Имеющиеся во всех современных СУД и СУБД средства построения запросов и различные механизмы поиска хотя и облегчают извлечение нужной информации, но все же не способны дать достаточно интеллектуальную ее оценку, т.е. сделать обобщение, группирование, удаление избыточных данных и повысить достоверность за счет исключения ошибок и обработки нескольких независимых источников информации (как правило, не только корпоративных баз данных, но и внешних, расположенных, например, в Internet).

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

Глобализация экономики, повышение требовательности клиентов, усиление конкурентной борьбы, процессы слияния компаний, появление молодых, быстро развивающихся предприятий на волне электронной коммерции – все это требует маневренности и интеллектуализации бизнеса. Для этого компаниям нужно повышать качество и скорость принятия решений в рамках своей деятельности, а также применять средства бизнес-интеллекта для периодической реорганизации бизнес-процессов. Вот почему все

60