Классика баз данных - статьи

       

Сравнение технологий


Как правило, учетные системы работают с реляционными базами данных. Для 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

Взаимодействие с пользователем

На уровне транзакции

На уровне всей базы данных

Данные, используемые при обращении пользователя к системе

Отдельные записи

Группы записей

Время отклика

Секунды

От нескольких секунд до нескольких минут

Использование аппаратных ресурсов

Стабильное

Динамическое

Характер данных

Главным образом первичные (самый низкий уровень детализации)

В основном производные (сводные значения)

Характер доступа к базе данных

Предопределенные или статические пути доступа и отношения данных

Неопределенные или динамические пути доступа и отношения данных

Изменчивость данных

Высокая (данные обновляются с каждой транзакцией)

Низкая (во время запроса данные обновляются редко)

Приоритеты

Высокая производительность Высокая доступность

Гибкость

Автономность пользователя

Совместное использование OLAP и учетной системы, в частности прямая настройка аналитических функций на OLTP-базу, осложняется несколькими факторами:

  • OLAP запросы к базам данных чаще всего бывают сложными и требуют много времени. Прямой доступ к OLTP-базе существенно снижает общую производительность оперативной системы.
  • Разнообразные учетные системы неоднородны по типу используемых синтаксических соглашений и концептуальных допущений (единицы измерений, онтологии, наименование, кодирование и т.п.), поэтому их интеграция затруднена.
  • Данные в учетных системах часто "зашумленные", неполные и несогласованные.
  • Как правило, нет единой модели данных масштаба предприятия. Кроме того, при проектировании баз учетной системы могут использоваться разные модели данных (иерархическая, реляционная, объектно-ориентированная, плоские файлы, "фирменные" модели).
  • В оперативных системах отсутствует метод предоставления данных для конкретных групп пользователей в нужной для них форме.
  • Информация за прошлые периоды теряется при обновлении OLTP- базы (при записи в нее новых, актуальных данных).Это препятствует выполнению анализа временных тенденций, который так важен для многих сфер бизнеса.
  • В OLTP-базе не хранятся данные в агрегированном, денормализованном, виде, что необходимо для оперативной аналитической обработки. А преобразование данных в процессе выполнения запросов оказывается слишком трудоемким.

    Кроме всех перечисленных выше концептуальных различий, существуют еще и технологические проблемы, которые необходимо преодолеть для внедрения аналитических возможностей в учетные системы. Среди них можно назвать следующие сложности: различие в аппаратных платформах (компьютерах, сетях и периферийных устройствах), использование разного программного обеспечения (разнообразных операционных систем, СУБД, языков программирования, протоколов, связующего ПО и т.п.), а также географическое распределение баз данных по всей организации и вне ее.


    Содержание раздела