Хранилище данных - Обзор

Хранилище данных состоит из данных из multiple heterogeneous data sourcesи используется для аналитической отчетности и принятия решений. Хранилище данных - это центральное место, где хранятся данные из разных источников данных и приложений.

Термин «хранилище данных» был впервые изобретен Биллом Инмом в 1990 году. Хранилище данных всегда хранится отдельно от оперативной базы данных.

Данные в системе DW загружаются из операционных систем транзакций, таких как -

  • Sales
  • Marketing
  • HR
  • СКМ и др.

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

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

На изображении выше вы можете видеть, что данные поступают из multiple heterogeneous dataисточники в хранилище данных. Общие источники данных для хранилища данных включают:

  • Операционные базы данных
  • SAP и сторонние приложения
  • Плоские файлы (файлы xls, csv, txt)

К данным в хранилище данных получают доступ пользователи BI (Business Intelligence) для аналитической отчетности, интеллектуального анализа данных и анализа. Это используется для принятия решений бизнес-пользователями, менеджером по продажам, аналитиками для определения будущей стратегии.

Особенности хранилища данных

Это центральное хранилище данных, в котором данные хранятся из одного или нескольких разнородных источников данных. Система DW хранит как текущие, так и исторические данные. Обычно система DW хранит исторические данные за 5-10 лет. Система DW всегда хранится отдельно от операционной системы транзакций.

Данные в системе DW используются для различных типов аналитической отчетности - от квартального до годового.

Хранилище данных против оперативной базы данных

Различия между хранилищем данных и оперативной базой данных заключаются в следующем:

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

  • An Operational System содержит текущие данные организации, а хранилище данных обычно содержит исторические данные.

  • An Operational Databaseподдерживает параллельную обработку нескольких транзакций. Механизмы управления параллелизмом и восстановления необходимы для поддержания согласованности базы данных.

  • An Operational Database query позволяет читать и изменять операции (вставка, удаление и обновление), в то время как для запроса OLAP требуется только доступ только для чтения к сохраненным данным (оператор Select).

Архитектура хранилища данных

Хранилище данных включает в себя очистку данных, интеграцию данных и консолидацию данных. Хранилище данных имеет трехуровневую архитектуру -

Уровень источника данных

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

Уровень интеграции

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

Слой презентации

Это используется для выполнения отчетов BI конечными пользователями. Данные в системе DW доступны пользователям BI и используются для отчетности и анализа.

На следующем рисунке показана общая архитектура системы хранилища данных.

Характеристики хранилища данных

Ниже приведены ключевые характеристики хранилища данных:

  • Subject Oriented - В системе DW данные классифицируются и хранятся по бизнес-субъекту, а не по приложениям, таким как планы акционерного капитала, акции, ссуды и т. Д.

  • Integrated - Данные из нескольких источников интегрированы в хранилище данных.

  • Non Volatile- Данные в хранилище данных энергонезависимы. Это означает, что при загрузке данных в систему DW они не изменяются.

  • Time Variant- Система DW содержит исторические данные по сравнению с транзакционной системой, которая содержит только текущие данные. В хранилище данных вы можете видеть данные за 3 месяца, 6 месяцев, 1 год, 5 лет и т. Д.

OLTP против OLAP

Во-первых, OLTP означает Online Transaction Processing, а OLAP означает Online Analytical Processing

В системе OLTP существует большое количество коротких онлайн-транзакций, таких как INSERT, UPDATE и DELETE.

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

For Example -

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

В системе OLAP меньше транзакций по сравнению с транзакционной системой. Выполняемые запросы имеют сложный характер и включают агрегирование данных.

Что такое агрегация?

Мы сохраняем таблицы с агрегированными данными, такими как годовой (1 строка), ежеквартальный (4 строки), ежемесячный (12 строк) или около того, если кому-то нужно проводить годовое сравнение, будет обработана только одна строка. Однако в неагрегированной таблице он сравнит все строки. Это называется агрегированием.

Существуют различные функции агрегирования, которые можно использовать в системе OLAP, например Sum, Avg, Max, Min и т. Д.

For Example -

SELECT Avg(salary)
FROM employee
WHERE title = 'Programmer';

Ключевые отличия

Это основные различия между OLAP и OLTP-системой.

  • Indexes - Система OLTP имеет только несколько индексов, тогда как в системе OLAP есть много индексов для оптимизации производительности.

  • Joins- В системе OLTP нормализовано большое количество соединений и данных. Однако в системе OLAP меньше соединений и они ненормализованы.

  • Aggregation - В системе OLTP данные не агрегируются, в то время как в базе данных OLAP используется больше агрегатов.

  • Normalization - Система OLTP содержит нормализованные данные, однако данные не нормализованы в системе OLAP.

Витрина данных против хранилища данных

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

На изображении выше вы можете увидеть разницу между хранилищем данных и витриной данных.

Таблица фактов и размеров

Таблица фактов представляет меры, по которым выполняется анализ. Он также содержит внешние ключи для ключей измерений.

For example - Каждая распродажа - это факт.

Идентификатор клиента Prod Id Идентификатор времени Кол-во продано
1110 25 2 125
1210 28 4 252

Таблица измерений представляет характеристики измерения. Параметр "Клиент" может иметь имя клиента, номер телефона, пол и т. Д.

Идентификатор клиента Cust_Name Телефон Секс
1110 Салли 1113334444 F
1210 Адам 2225556666 M