Data Warehouse
Data Warehouse (DWH) — это первая из архитектурных концепций, реализующая идею корпоративного хранилища данных (КХД). КХД — это центральный репозиторий, который хранит большой объем данных организации, собранных из различных источников, и управляет этими данными.
В корпоративных хранилищах данных информация собирается от разных подразделений (систем), то есть имеет разную структуру. Кроме того, такие хранилища содержат не только текущие, но и архивные данные, поэтому их объемы обычно значительны. Это создает две основные задачи, которые нужно решить при организации КХД:
- предварительная обработка и нормализация данных (приведение к единым форматам, устранение дубликатов и противоречий) перед их размещением в хранилище;
- распределенное хранение больших объемов данных на разных серверах и объединение их в единую систему.
В DWH структурированные данные из реляционных СУБД собираются в многомерное OLAP-хранилище, обеспечивающее доступ к данным через SQL-запросы для последующей обработки. Результат преобразования данных передается в BI-системы и сервисы формирования аналитической отчетности.
Важную роль в построении архитектуры КХД играет выбор структуры хранения данных. В Data Warehouse существуют жесткие ограничения на структуру, поэтому не каждая модель хранения данных подходит для построения архитектуры DWH.
Стандартами являются следующие модели:
- Модель Кимбалла, в которой одна центральная таблица (таблица фактов) хранит агрегированные данные о фактах или событиях, а несколько связанных вспомогательных таблиц измерений содержат описательные атрибуты различных сущностей.
- Модель Инмона, использующая нормализованную структуру с минимизацией избыточности данных. Чаще всего модель применяется в пилотных и MVP-проектах, где важна быстрая реализация, а требования к хранилищу данных минимальны.
- Data Vault 2.0 — гибридный подход к проектированию структуры данных, сочетающий в себе принципы моделей Кимбалла и Инмона.
Модель | Преимущества | Недостатки |
|---|---|---|
Кимбалла |
|
|
Инмона |
|
|
Data Vault 2.0 |
|
|
Особенности моделей данных, используемых при проектировании структуры хранилища в DWH, формируют ограничения самой архитектуры DWH:
- высокая стоимость хранения и масштабирования;
- отсутствие доступа к необработанным данным;
- сложная логика в ETL-процессах;
- ограниченные возможности масштабирования;
- высокие затраты на разработку и сопровождение;
- сложности в технической поддержке и устранении неполадок.
В результате ИТ-инфраструктура не успевает адаптироваться к изменяющимся запросам бизнеса, так как любое изменение инфраструктуры (подключение нового источника данных или изменение структуры хранения) влечет за собой масштабные доработки ETL-процессов.
Необходимость упростить взаимодействие с КХД за счет снижения требований к процессу загрузки и организации данных привело к появлению новых решений:
- Data Lake — архитектурного компонента, позволяющего хранить слабоструктурированные данные в исходном виде, без строгой регламентации, характерной для DWH.
- Data Lakehouse — универсального решения для работы с большими данными, сочетающего в себе преимущества архитектур Data Warehouse и Data Lake.