Сейчас на рынке представлено огромное многообразие OLAP -систем. Разработано несколько классификаций продуктов этого типа: например, классификация по способу хранения данных, по месту нахождения OLAP -машины, по степени готовности к применению. Рассмотрим первую из приведенных классификаций.
Существует три способа хранения данных в OLAP -системах или три архитектуры OLAP - серверов [77]:
- MOLAP (Multidimensional OLAP);
- ROLAP (Relational OLAP);
- HOLAP (Hybrid OLAP).
Таким образом, согласно этой классификации OLAP -продукты могут быть представлены тремя классами систем.
- В случае MOLAP, исходные и многомерные данные хранятся в многомерной БД или в многомерном локальном кубе. Такой способ хранения обеспечивает высокую скорость выполнения OLAP -операций. Но многомерная база в этом случае чаще всего будет избыточной. Куб, построенный на ее основе, будет сильно зависеть от числа измерений. При увеличении количества измерений объем куба будет экспоненциально расти. Иногда это может привести к "взрывному росту" объема данных, парализующему в результате запросы пользователей.
- В ROLAP -продуктах исходные данные хранятся в реляционных БД или в плоских локальных таблицах на файл-сервере. Агрегатные данные могут помещаться в служебные таблицы в той же БД. Преобразование данных из реляционной БД в многомерные кубы происходит по запросу OLAP -средства. При этом скорость построения куба будет сильно зависеть от типа источника данных, и поэтому время отклика системы порой становится неприемлемо большим.
- В случае использования гибридной архитектуры, т.е. в HOLAP -продуктах, исходные данные остаются в реляционной базе, а агрегаты размещаются в многомерной. Построение OLAP -куба выполняется по запросу OLAP -средства на основе реляционных и многомерных данных. Такой подход позволяет избежать взрывного роста данных. При этом можно достичь оптимального времени исполнения клиентских запросов.
Следующая классификация - по месту размещения OLAP -машины. По этому признаку OLAP -продукты делятся на OLAP -серверы и OLAP -клиенты.
|
|
В серверных OLAP -средствах вычисления и хранение агрегатных данных выполняются отдельным процессом - сервером. Клиентское приложение получает только результаты запросов к многомерным кубам, которые хранятся на сервере. Некоторые OLAP -серверы поддерживают хранение данных только в реляционных базах, другие - только в многомерных. Многие современные OLAP -серверы поддерживают все три способа хранения данных: MOLAP, ROLAP и HOLAP. Одним из самых распространенным в настоящее время серверным решением является OLAP -сервер корпорации Microsoft. OLAP -клиент устроен по-другому. Построение многомерного куба и OLAP -вычисления выполняются в памяти клиентского компьютера.
|
|
С помощью OLAP -сервера может быть организовано физическое хранение обработанной многомерной информации [81], что позволяет быстро выдавать ответы на запросы пользователя. Кроме того, предусматривается преобразование данных из реляционных и других баз в многомерные структуры в режиме реального времени. Каким образом реляционные и многомерные средства работают совместно? OLAP продукты вливаются в существующую корпоративную инфраструктуру путем интегрирования с реляционными системами. Администраторы баз данных либо загружают реляционные данные в многомерный кэш, либо настраивают кэш для доступа к SQL-данным.
ТАБЛИЦА ДЛЯ ВОПРОСОВ 36-39
Характеристики | Реляционные СУБД OLTP | Реляционные СУБД СППР / Хранилища данных | Многомерные СУБД OLAP |
Типовая операция | Обновление | Отчет | Анализ |
Уровень аналитических требований | Низкий | Средний | Высокий |
Экраны | Неизменяемые | Определяемые пользователем | Определяемые пользователем |
Объем данных на транзакцию | Небольшой | От малого до большого | Большой |
Уровень данных | Детальные | Детальные и суммарные | В основном суммарные |
Сроки хранения данных | Только текущие | Исторические и текущие | Исторические, текущие и прогнозируемые |
Структурные элементы | Записи | Записи | Массивы |