exam18 1 - stankin/design-part-2 GitHub Wiki

Интеграция транзакционных (OLTP) и аналитических (OLAP) систем

Реферат к лекции 18 (27): "Аналитические и экспертные системы"

Выполнил: Попова Алина, группа: ИДБ-19-06
Проверил: Николаева Ангелина, группа: ИДБ-19-06

OLTP

Оперативная обработка транзакций (OLTP, On-Line Transactional Processing) — это управление данными о транзакциях с помощью компьютерных систем. Системы OLTP записывают операции обмена данными в организации, выполняющиеся каждый день, и поддерживают запрашивание этих данных, чтобы на их основе делать выводы.

Основная задача систем OLTP — обработка данных

Системы OLTP применяются для различных целей, например, для управления материально-техническими запасами, управления отношениями с клиентами (CRM), биллинга и т.п.

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

Обычно отдельные операции очень малы и не связаны друг с другом. Однако каждую запись данных, характеризующую взаимодействие с клиентом (звонок в службу поддержки, кассовую операцию, заказ по каталогу, посещение Web-сайта компании и т.п.) можно использовать для получения качественно новой информации, а именно для создания отчетов и анализа деятельности фирмы.

Сложности OLTP

  • Системы OLTP не всегда подходят для обработки статистических выражений при больших объемах данных

    Анализ данных, которые основаны на статистических вычислениях более миллиона отдельных транзакций, является очень ресурсоемким для системы OLTP. Он может медленно выполняться и привести к снижению производительности из-за блокировки других транзакций в базе данных.

  • Запросы в системах OLTP трудно выполнять без помощи разработчика архитектуры данных или администратора базы данных

    При проведении анализа и создании отчетов по данным с высокой степенью нормализации запросы, как правило, будут сложными, так как для большинства запросов требуется денормализовать данные с помощью соединений. Кроме того, соглашения об именовании для объектов базы данных в системах OLTP, как правило, являются неполными и сжатыми.

  • Бессрочное хранение журналов транзакций и хранение большого количества данных в одной таблице могут снизить производительность запросов

    Для решения этой проблемы необходимо поддержание соответствующего периода времени (например, текущий финансовый год) в системе OLTP и перезапись данных журнала в другие системы, такие как киоск данных или хранилище данных.

OLAP

Оперативная аналитическая обработка (OLAP, On-Line Analytical Processing) — это технология, которая упорядочивает большие коммерческие базы данных и поддерживает сложный анализ. Ее можно использовать для выполнения сложных аналитических запросов без негативного воздействия на системы транзакций.

Основная цель OLAP — анализ данных

Этот метод позволяет аналитикам, менеджерам и руководителям "проникнуть в суть" накопленных данных за счет быстрого и согласованного доступа к широкому спектру представлений информации. Исходные данные преобразуются таким образом, чтобы наглядно отразить структуру деятельности предприятия.

Аналитические и навигационные функции OLAP:

  • Расчёты и вычисления по нескольким измерениям, иерархиям и/или членам.
  • Анализ трендов.
  • Выборка подмножеств данных для просмотра на экране.
  • Углубление в данные (drill down), для просмотра информации на более детализированном уровне.
  • Переход к детальным данным, лежащим в основе анализа.
  • Поворот таблицы отображаемых данных.

Элементы OLAP

В основе OLAP лежит понятие гиперкуба, или многомерного куба данных. В его ячейках хранятся анализируемые данные.

OLAP куб

Факт — числовая величина, которая располагается в ячейка гиперкуба. Один OLAP куб может обладать одним или несколькими показателями.

Измерение (dimension) — множество объектов одного или нескольких типов, организованных в виде иерархической структуры и обеспечивающих информационный контекст числового показателя. Измерение принято визуализировать в виде ребра многомерного куба.

Члены измерений (members) — это объекты, совокупность которых и образует измерение. Члены измерений визуализируют как точки или участи, откладываемые на осях гиперкуба.

Ячейка (cell) — атомарная структура куба, соответствующая полному набору конкретный значений измерений.

Иерархия — группировка объектов одного измерения в объекты более высокого уровня (например, день-месяц-год). Иерархии в измерениях необходимы для возможности агрегации и детализации значений показателей согласно их иерерхической структуре. Иерархии целиком основывается на одном измерении и формируется из уровней.

Операции OLAP

  • Поворот.
  • Проекция. При проекции значения в ячейках, лежащих на оси проекции, суммируются по некоторому предопределенному закону.
  • Раскрытие (drill-down). Одно из значений измерения заменяется совокупностью значений из следующего уровня иерархии измерения. Соответственно, заменяются значения в ячейках гиперкуба.
  • Свертка (roll-up/drill-up). Операция, обратная раскрытию.
  • Сечение (slice-and-dice).

Сложности OLAP

  • Хранилища данных OLAP обновляются реже, чем системы OLTP

    Системы OLTP постоянно обновляются за счёт транзакций, а хранилища данных OLAP обновляются гораздо реже. Поэтому системы OLAP скорее подходят для стратегических бизнес-решений, чем для немедленной реакции на изменения.

  • Модели данных OLAP обычно многомерные, в отличие от традиционных нормализованных реляционных таблиц в системах OLTP

    Из-за этого бывает сложно или невозможно непосредственно сопоставить отношения сущностей или объектно-ориентированные модели, где каждый атрибут сопоставляется с одним столбцом. Поэтому вместо традиционной нормализации в системах OLAP обычно используются схемы типа "снежинка" или "звезда".

Интеграция OLAP и OLTP

Зачем использовать OLAP в системах OLTP?

Интерес к технологии OLAP объясняется тем, что эффективный анализ редко удаётся провести непосредственно в системе OLTP. Этому способствует ряд причин.

  • Данные распределены по множеству таблиц, поэтому необходимо выполнять сложные операции объединения. Это приводит к потере производительности.
  • Данные в OLTP-системе постоянно меняются. Два анализа, проведённые с интервалом в несколько минут, могут дать разные результаты.
  • Некоторые виды анализа требуют таких структурных изменений, которые недопустимы в текущей оперативной среде (например, выяснить, что произойдёт, если у компании появятся новые продукты). На “живой” базе нельзя провести такое исследование.

Сложности при интеграции OLAP и OLTP

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

Хранилище данных

Хранилище данных — методология и технология, позволяющая решить проблемы, возникающие при интеграции распределенных и гетерогенных баз OLTP при внедрении методов OLAP.

Информация в хранилище — предметно-ориентированная, интегрированная, она хранится долговременно, а ее управление осуществляется независимо от исходных операционных баз данных. В отличие от OLTP-баз, где хранятся детальные данные в виде отдельных записей, в хранилище содержится сводная и консолидированная информация (часто из нескольких операционных источников), в том числе и историческая.

Объем данных в хранилище намного больше, чем в OLTP-базе (в тысячи раз). Данные организованы в пре-агрегированной форме в виде гиперкубов, удобных для выполнения аналитических операций.

Архитектура хранилища представлена набором компонентов:

  • Источники данных.
  • Репозиторий метаданных (здесь описывается, какая информация доступна и где).
  • Один или несколько серверов хранилища или центральный репозиторий (который управляет исходными базами и поддерживает многомерные представления данных).
  • Интерфейсные средства (например, для создания запросов, отчетов и выполнения анализа).

При обновлении все изменения в исходных данных отражаются в хранилище. За счет оперативных средств обратной связи хранилище данных позволяет интегрировать процесс поддержки принятия решений с OLTP системами и внешними источниками данных.

Сравнительная характеристика различных моделей управления данными

Характеристики Реляционные СУБД OLTP Хранилища данных Многомерные СУБД OLAP
Типовая операция Обновление Отчет Анализ
Уровень аналитических требований Низкий Средний Высокий
Экраны Неизменяемые Определяемые пользователем Определяемые пользователем
Объем данных на транзакцию Небольшой От малого до большого Большой
Уровень данных Детальные Детальные и суммарные В основном суммарные
Сроки хранения данных Только текущие Исторические и текущие Исторические, текущие, прогнозируемые
Структурные элементы Записи Записи Массивы

Источники

  1. Оперативная аналитическая обработка (OLAP).
  2. Оперативная обработка транзакций (OLTP).
  3. Совместное использование учетных систем и технологии OLAP.