Сравнение технологий
Как правило, учетные системы работают с реляционными базами данных. Для 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 |
| Взаимодействие с пользователем |
На уровне транзакции |
На уровне всей базы данных |
| Данные, используемые при обращении пользователя к системе |
Отдельные записи |
Группы записей |
| Время отклика |
Секунды |
От нескольких секунд до нескольких минут |
| Использование аппаратных ресурсов |
Стабильное |
Динамическое |
| Характер данных |
Главным образом первичные (самый низкий уровень детализации) |
В основном производные (сводные значения) |
| Характер доступа к базе данных |
Предопределенные или статические пути доступа и отношения данных |
Неопределенные или динамические пути доступа и отношения данных |
| Изменчивость данных |
Высокая (данные обновляются с каждой транзакцией) |
Низкая (во время запроса данные обновляются редко) |
| Приоритеты |
Высокая производительность Высокая доступность |
Гибкость Автономность пользователя |
Кроме всех перечисленных выше концептуальных различий, существуют еще и технологические проблемы, которые необходимо преодолеть для внедрения аналитических возможностей в учетные системы. Среди них можно назвать следующие сложности: различие в аппаратных платформах (компьютерах, сетях и периферийных устройствах), использование разного программного обеспечения (разнообразных операционных систем, СУБД, языков программирования, протоколов, связующего ПО и т.п.), а также географическое распределение баз данных по всей организации и вне ее.