Хранилище данных состоит из данных из нескольких разнородных источников данных и используется для аналитической отчетности и принятия решений. Хранилище данных — это центральное место, где хранятся данные из разных источников данных и приложений.
Термин «Хранилище данных» был впервые изобретен Биллом Инмом в 1990 году. Хранилище данных всегда хранится отдельно от оперативной базы данных.
Данные в системе DW загружаются из операционных операционных систем, таких как —
- Продажи
- маркетинг
- HR
- СКМ и др.
Он может пройти через хранилище оперативных данных или другие преобразования, прежде чем он будет загружен в систему DW для обработки информации.
Хранилище данных используется для составления отчетов и анализа информации и хранит как исторические, так и текущие данные. Данные в системе DW используются для аналитической отчетности, которая впоследствии используется бизнес-аналитиками, менеджерами по продажам или сотрудниками отдела знаний для принятия решений.
На изображении выше видно, что данные поступают из нескольких разнородных источников данных в хранилище данных. Общие источники данных для хранилища данных включают в себя:
- Оперативные базы данных
- Приложения SAP и не-SAP
- Плоские файлы (xls, csv, txt файлы)
Доступ к данным в хранилище данных осуществляется пользователями BI (Business Intelligence) для аналитической отчетности, интеллектуального анализа данных и анализа. Это используется для принятия решений бизнес-пользователями, менеджером по продажам, аналитиками для определения будущей стратегии.
Особенности хранилища данных
Это центральное хранилище данных, в котором данные хранятся из одного или нескольких разнородных источников данных. Система DW хранит как текущие, так и исторические данные. Обычно система DW хранит 5-10 лет исторических данных. Система DW всегда хранится отдельно от операционной системы транзакций.
Данные в системе DW используются для различных типов аналитической отчетности в диапазоне от квартального до годового сравнения.
Хранилище данных и оперативная база данных
Различия между хранилищем данных и оперативной базой данных заключаются в следующем:
-
Операционная система предназначена для известных рабочих нагрузок и транзакций, таких как обновление записи пользователя, поиск записи и т. Д. Однако транзакции хранилища данных являются более сложными и представляют общую форму данных.
-
Операционная система содержит текущие данные организации, а хранилище данных обычно содержит исторические данные.
-
Операционная база данных поддерживает параллельную обработку нескольких транзакций. Механизмы контроля и восстановления параллелизма необходимы для поддержания согласованности базы данных.
-
Запрос Оперативной базы данных позволяет читать и изменять операции (вставка, удаление и обновление), в то время как для запроса OLAP требуется только доступ к хранимым данным только для чтения (оператор Select).
Операционная система предназначена для известных рабочих нагрузок и транзакций, таких как обновление записи пользователя, поиск записи и т. Д. Однако транзакции хранилища данных являются более сложными и представляют общую форму данных.
Операционная система содержит текущие данные организации, а хранилище данных обычно содержит исторические данные.
Операционная база данных поддерживает параллельную обработку нескольких транзакций. Механизмы контроля и восстановления параллелизма необходимы для поддержания согласованности базы данных.
Запрос Оперативной базы данных позволяет читать и изменять операции (вставка, удаление и обновление), в то время как для запроса OLAP требуется только доступ к хранимым данным только для чтения (оператор Select).
Архитектура хранилища данных
Хранилище данных включает в себя очистку данных, интеграцию данных и консолидацию данных. Хранилище данных имеет трехуровневую архитектуру —
Уровень источника данных
Он определяет, как данные поступают в хранилище данных. Он включает в себя различные источники данных и операционные системы транзакций, простые файлы, приложения и т. Д.
Интеграционный слой
Он состоит из оперативного хранилища данных и промежуточной области. Промежуточная область используется для очистки данных, преобразования данных и загрузки данных из разных источников в хранилище данных. Поскольку несколько источников данных доступны для извлечения в разных часовых поясах, промежуточная область используется для хранения данных, а затем для применения преобразований к данным.
Уровень представления
Это используется для выполнения отчетов BI конечными пользователями. Данные в системе DW доступны пользователям BI и используются для составления отчетов и анализа.
На следующем рисунке показана общая архитектура системы хранилища данных.
Характеристики хранилища данных
Ниже приведены ключевые характеристики хранилища данных:
-
Предметно-ориентированный. В системе DW данные классифицируются и хранятся по бизнес-субъекту, а не по приложениям, таким как планы участия в капитале, акции, кредиты и т. Д.
-
Интегрировано — данные из нескольких источников данных интегрированы в хранилище данных.
-
Энергонезависимый — данные в хранилище данных энергонезависимы. Это означает, что когда данные загружаются в систему DW, они не изменяются.
-
Вариант времени — система DW содержит исторические данные по сравнению с транзакционной системой, которая содержит только текущие данные. В хранилище данных вы можете увидеть данные за 3 месяца, 6 месяцев, 1 год, 5 лет и т. Д.
Предметно-ориентированный. В системе DW данные классифицируются и хранятся по бизнес-субъекту, а не по приложениям, таким как планы участия в капитале, акции, кредиты и т. Д.
Интегрировано — данные из нескольких источников данных интегрированы в хранилище данных.
Энергонезависимый — данные в хранилище данных энергонезависимы. Это означает, что когда данные загружаются в систему DW, они не изменяются.
Вариант времени — система DW содержит исторические данные по сравнению с транзакционной системой, которая содержит только текущие данные. В хранилище данных вы можете увидеть данные за 3 месяца, 6 месяцев, 1 год, 5 лет и т. Д.
OLTP против OLAP
Во-первых, OLTP означает онлайн-обработку транзакций , а OLAP — онлайн-аналитическую обработку.
В системе OLTP существует большое количество коротких онлайн-транзакций, таких как INSERT, UPDATE и DELETE.
Принимая во внимание, что в системе OLTP эффективной мерой является время обработки коротких транзакций, и оно очень мало. Он контролирует целостность данных в средах с множественным доступом. Для системы OLTP количество транзакций в секунду измеряет эффективность. Система хранилища данных OLTP содержит текущие и подробные данные и поддерживается в схемах в модели объекта (3NF).
Например —
Повседневная система транзакций в розничном магазине, где записи клиентов вставляются, обновляются и удаляются ежедневно. Это обеспечивает более быструю обработку запросов. Базы данных OLTP содержат подробные и актуальные данные. Схема, используемая для хранения базы данных OLTP, является моделью сущностей.
В системе OLAP количество транзакций меньше, чем в транзакционной системе. Выполненные запросы имеют сложный характер и включают в себя агрегацию данных.
Что такое агрегация?
Мы сохраняем таблицы с агрегированными данными, такими как годовой (1 строка), квартальный (4 строки), ежемесячный (12 строк) или около того. Если кто-то должен делать сравнение из года в год, будет обрабатываться только одна строка. Однако в неагрегированной таблице будут сравниваться все строки. Это называется агрегацией.
Существуют различные функции агрегирования, которые можно использовать в системе OLAP, такие как Sum, Avg, Max, Min и т. Д.
Например —
SELECT Avg(salary) FROM employee WHERE title = 'Programmer';
Ключевые отличия
Это основные различия между OLAP и системой OLTP.
-
Индексы. В системе OLTP имеется всего несколько индексов, в то время как в системе OLAP существует множество индексов для оптимизации производительности.
-
Объединения. В системе OLTP большое количество объединений и данных нормализуется. Однако в системе OLAP меньше соединений и они не нормализованы.
-
Агрегация. В системе OLTP данные не агрегируются, тогда как в базе данных OLAP используется больше агрегаций.
-
Нормализация — система OLTP содержит нормализованные данные, однако данные не нормализуются в системе OLAP.
Индексы. В системе OLTP имеется всего несколько индексов, в то время как в системе OLAP существует множество индексов для оптимизации производительности.
Объединения. В системе OLTP большое количество объединений и данных нормализуется. Однако в системе OLAP меньше соединений и они не нормализованы.
Агрегация. В системе OLTP данные не агрегируются, тогда как в базе данных OLAP используется больше агрегаций.
Нормализация — система OLTP содержит нормализованные данные, однако данные не нормализуются в системе OLAP.
Data Mart против хранилища данных
Data Mart представляет собой одну функциональную область и представляет собой простейшую форму хранилища данных. Рассмотрим хранилище данных, которое содержит данные для продаж, маркетинга, управления персоналом и финансов. Рынок данных фокусируется на одной функциональной области, такой как продажи или маркетинг.
На изображении выше вы можете увидеть разницу между хранилищем данных и витриной данных.
Факт против таблицы размеров
Таблица фактов представляет меры, по которым проводится анализ. Он также содержит внешние ключи для ключей измерений.
Например, каждая продажа — это факт.
Cust Id | Prod Id | Идентификатор времени | Кол-во продано |
---|---|---|---|
1110 | 25 | 2 | 125 |
+1210 | 28 | 4 | 252 |
Таблица измерений представляет характеристики измерения. Измерение Customer может иметь Customer_Name, Phone_No, Sex и т. Д.