Управление данными. Громов Ю.Ю - 30 стр.

UptoLike

3.6. OLTP И OLAP-СИСТЕМЫ
Можно выделить некоторые классы систем, для которых больше подходят сильно или слабо норма-
лизованные модели данных.
Сильно нормализованные модели данных хорошо подходят для так называемых
OLTP-приложений
(
On-Line Transaction Processing
(
OLTP
)
оперативная обработка транзакций
). Типичными примерами
OLTP-приложений являются системы складского учёта, системы заказов билетов, банковские системы,
выполняющие операции по переводу денег и т.п. Основная функция подобных систем заключается в
выполнении большого количества коротких транзакций. Сами транзакции выглядят относительно про-
сто, например, «снять сумму денег со счёта А, добавить эту сумму на счёт В». Проблема заключается в
том, что, во-первых, транзакций очень много; во-вторых, выполняются они одновременно (к системе
может быть подключено несколько тысяч одновременно работающих пользователей); в-третьих, при
возникновении ошибки транзакция должна целиком откатиться и вернуть систему к состоянию, которое
было до начала транзакции (не должно быть ситуации, когда деньги сняты со счёта А, но не поступили
на счёт В). Практически все запросы к базе данных в OLTP-приложениях состоят из команд вставки,
обновления, удаления. Запросы на выборку в основном предназначены для предоставления пользовате-
лям возможности выбора из различных справочников. Большая часть запросов известна заранее ещё на
этапе проектирования системы. Таким образом, критическим для OLTP-приложений является скорость
и надёжность выполнения коротких операций обновления данных. Чем выше уровень нормализации
данных в OLTP-приложении, тем оно, как правило, быстрее и надёжнее. Отступления от этого правила
могут происходить тогда, когда уже на этапе разработки известны некоторые часто возникающие за-
просы, которые требуют соединения отношений и от скорости выполнения которых существенно зави-
сит работа приложений. В этом случае можно пожертвовать нормализацией для ускорения выполнения
подобных запросов.
Другим типом приложений являются так называемые
OLAP-приложения
(
On-Line Analitical
Processing
(
OLAP
)
оперативная аналитическая обработка данных
). Это обобщённый термин, характе-
ризующий принципы построения
систем поддержки принятия решений
(
Decision Support System
DSS
),
хранилищ данных
(
Data Warehouse
),
систем интеллектуального анализа данных
(
Data Mining
). Такие
системы предназначены для нахождения зависимостей между данными (например, можно попытаться
определить, как связан объём продаж товаров с характеристиками потенциальных покупателей), для
проведения анализа «что если…». OLAP-приложения оперируют с большими массивами данных, уже
накопленными в OLTP-приложениях, взятыми их электронных таблиц или из других источников дан-
ных. Такие системы характеризуются следующими признаками:
добавление в систему новых данных происходит относительно редко крупными блоками (на-
пример, раз в квартал загружаются данные по итогам квартальных продаж из OLTP-приложения);
данные, добавленные в систему, обычно никогда не удаляются;
перед загрузкой данные проходят различные процедуры «очистки», связанные с тем, что в одну
систему могут поступать данные из многих источников, имеющих различные форматы представления
для одних и тех же понятий, данные могут быть некорректны, ошибочны;
запросы к системе являются нерегламентированными и, как правило, достаточно сложными.
Очень часто новый запрос формулируется аналитиком для уточнения результата, полученного в резуль-
тате предыдущего запроса;
скорость выполнения запросов важна, но не критична.
Данные OLAP-приложений обычно представлены в виде одного или нескольких гиперкубов, изме-
рения которого представляют собой справочные данные, а в ячейках самого гиперкуба хранятся собст-
венно данные. Например, можно построить гиперкуб, измерениями которого являются: время (в квар-
талах, годах), тип товара и отделения компании, а в ячейках хранятся объёмы продаж. Такой гиперкуб
будет содержать данные о продажах различных типов товаров по кварталам и подразделениям. Осно-
вываясь на этих данных, можно отвечать на вопросы вроде «у какого подразделения самые лучшие объ-
ёмы продаж в текущем году?» или «каковы тенденции продаж отделений Юго-Западного региона в те-
кущем году по сравнению с предыдущим годом?»