Сравнение технологий
Как правило, учетные системы работают с реляционными базами данных. Для OLAP-приложений же разработана специальная многомерная модель, которая позволяет более эффективно использовать данные, накопленные в оперативных системах. Технология оперативной аналитической обработки ориентирована на представление данных в виде массивов. Под массивом понимается последовательность элементов, например продажи продукта по рынкам/временным периодам, или доход по времени/региону.
В концепции и терминологии OLAP есть много аналогий с реляционной моделью. В таблице 1 приведено сравнение реляционных терминов и понятий и соответствующих эквивалентов в OLAP.
Таблица 1. |
Реляционная технология | OLAP Технология | |
База данных | База данных
| |
Таблица | Куб | |
Представление (Выборка) | Формула | |
Первичный ключ | Измерения | |
Внешний ключ, не являющийся частью первичного ключа | Отношение | |
Столбец, не являющийся частью первичного или внешнего ключа | Переменная | |
Строка | Экземпляр нескольких переменных | |
Декларативная целостность ссылочных данных | Косвенно задается при определении измерений | |
Процедурная целостность ссылочных данных (триггеры) | Отсутствует | |
Индексы | Отсутствует | |
Системный каталог | Метаданные | |
Оператор JOIN | Отсутствует (косвенно задается общими измерениями) | |
Оператор WHERE | Команда LIMIT | |
Оператор GROUP BY | Команда GROUP | |
Оператор ORDER BY | Команда SORT | |
Директива GRANT | PERMIT | |
Хранимые процедуры, сценарии, хранимый SQL | Программы и пользовательские функции | |
Null-столбцы | Null-значения | |
Null-строки - не могут быть в таблице или в результирующем множестве | Null-значения всегда в явном виде | |
Управление потоковым языком (PL/SQL, Transact-SQL и др.) | Язык хранимых процедур | |
Агрегирование (SUM, AVG, COUNT, MIN, MAX) | Функции и формулы | |
Операторы вычисления (+, -, /, *) и два-три десятка математических, строковых и временных функций | Формулы (+, -, /, *, **) более 100 математических, финансовых, статистических, прогнозирующих, моделирующих, строковых и временных функций | |
Оператор SELECT | REPORT | |
Оператор INSERT | MAINTAIN ADD | |
Оператор DELETE | MAINTAIN DELETE | |
Оператор UPDATE | SET | |
Оператор COMMIT | UPDATE |
Необходимо отметить, что различия этих технологий существенны. В таблице 2 приведено сравнение системных характеристик OLTP и OLAP.
Таблица 2. |
Системная характеристика |
Учетная система (OLTP) |
OLAP |
Взаимодействие с пользователем |
На уровне транзакции |
На уровне всей базы данных |
Данные, используемые при обращении пользователя к системе |
Отдельные записи |
Группы записей |
Время отклика |
Секунды |
От нескольких секунд до нескольких минут |
Использование аппаратных ресурсов |
Стабильное |
Динамическое |
Характер данных |
Главным образом первичные (самый низкий уровень детализации) |
В основном производные (сводные значения) |
Характер доступа к базе данных |
Предопределенные или статические пути доступа и отношения данных |
Неопределенные или динамические пути доступа и отношения данных |
Изменчивость данных |
Высокая (данные обновляются с каждой транзакцией) |
Низкая (во время запроса данные обновляются редко) |
Приоритеты |
Высокая производительность Высокая доступность |
Гибкость Автономность пользователя |
Кроме всех перечисленных выше концептуальных различий, существуют еще и технологические проблемы, которые необходимо преодолеть для внедрения аналитических возможностей в учетные системы. Среди них можно назвать следующие сложности: различие в аппаратных платформах (компьютерах, сетях и периферийных устройствах), использование разного программного обеспечения (разнообразных операционных систем, СУБД, языков программирования, протоколов, связующего ПО и т.п.), а также географическое распределение баз данных по всей организации и вне ее.