Хранилище данных - Обзор
Хранилище данных состоит из данных из 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 |