- •Лекция 13. Olap и oltp технологии
- •13.1 Основы olap
- •13.2 Oltp-системы
- •13.1 Основы olap
- •Многомерные кубы
- •Некоторые термины и понятия
- •13.2 Oltp-системы
- •Практика реализации сложных oltp-систем
- •13.1 Основы olap
- •Многомерные кубы
- •Некоторые термины и понятия
- •13.2 Oltp-системы
- •Практика реализации сложных oltp-систем
- •Монитор транзакций ibm cics
- •Транзакционный сервер очередей mqSeries
- •Db2 Universal Database
- •WebSphere Application Server
- •Разработка на VisualAge Generator
- •«Обобщающее обобщение»
- •Реализация oltp-системы для Внешторгбанка
- •Распределенная oltp-система с интеграцией унаследованных программ
Лекция 13. Olap и oltp технологии
ПЛАН
13.1 Основы olap
13.2 Oltp-системы
13.1 Основы olap
www.olap.ru
On-Line Analitical Processing - оперативная аналитическая обработка данных.
E.F. Codd, S.B. Codd, and C.T.Salley, Providing OLAP (on-line analytical processing) to user-analysts: An IT mandate. Technical report, 1993
OLAP - обобщенный термин, характеризующий принципы построения систем поддержки принятия решений (Decision Support System - DSS), хранилищ данных (Data Warehouse), систем интеллектуального анализа данных (Data Mining).
Такие системы характеризуются следующими признаками:
Добавление в систему новых данных происходит относительно редко крупными блоками (например, раз в квартал загружаются данные по итогам квартальных продаж из OLTP-приложения).
Данные, добавленные в систему, обычно никогда не удаляются.
Перед загрузкой данные проходят различные процедуры "очистки", связанные с тем, что в одну систему могут поступать данные из многих источников, имеющих различные форматы представления для одних и тех же понятий, данные могут быть некорректны, ошибочны.
Запросы к системе являются нерегламентированными и, как правило, достаточно сложными. Очень часто новый запрос формулируется аналитиком для уточнения результата, полученного в результате предыдущего запроса.
Скорость выполнения запросов важна, но не критична.
Физически гиперкуб может быть построен на основе специальной многомерной модели данных (MOLAP - Multidimensional OLAP) или построен средствами реляционной модели данных (ROLAP - Relational OLAP).
Многомерные кубы
Рис. 1. Трехмерный набор агрегатных данных
Некоторые термины и понятия
Наряду с суммами в ячейках OLAP-куба могут содержаться результаты выполнения иных агрегатных функций языка SQL, таких как MIN, MAX, AVG, COUNT.
Для описания значений данных в ячейках используется термин summary,
для обозначения исходных данных, на основе которых они вычисляются, — термин measure,
для обозначения параметров запросов — термин dimension,
значения, откладываемые на осях, называются членами измерений (members).
Значения, наносимые на оси, могут иметь различные уровни детализации. Поскольку в рассмотренном примере в общем случае в каждой стране может быть несколько городов, а в городе — несколько клиентов, можно говорить об иерархиях значений в измерениях. В этом случае на первом уровне иерархии располагаются страны, на втором — города, а на третьем — клиенты рис. 2.
Рис. 2. Иерархия в измерении, связанном с географическим положением клиентов
Отметим, что иерархии могут быть сбалансированными (balanced, рис. 2), несбалансированными (unbalanced, рис. 3) и неровными (ragged, рис.4).
Рис. 3. Несбалансированная иерархия
Рис. 5. "Неровная" иерархия
Несбалансированные и "неровные" иерархии поддерживаются далеко не всеми OLAP-средствами. Например, в Microsoft Analysis Services 2000 поддерживаются оба типа иерархии, а в Microsoft OLAP Services 7.0 — только сбалансированные. Различным в разных OLAP-средствах может быть и число уровней иерархии, и максимально допустимое число членов одного уровня, и максимально возможное число самих измерений.