DWH
Что такое DWH?
DWH (Data Warehouse) - это специализированное хранилище данных, предназначенное для анализа и отчетности. Оно объединяет данные из различных источников в единое хранилище, где они структурированы и оптимизированы для аналитических запросов. DWH обеспечивает быстрый доступ к данным и поддерживает широкий спектр аналитических операций, таких как OLAP (Online Analytical Processing), отчетность и бизнес-анализ.
В чём отличие DWH от DataLake?
Отличие между хранилищем данных (DWH) и озером данных (Data Lake) заключается в подходе к хранению и обработке данных.
-
DWH (Data Warehouse):-
Структурированные данные.
-
Данные предварительно обработаны и согласованы для аналитических задач.
-
Предназначен для анализа и отчетности.
-
-
Data Lake:-
Неструктурированные и полуструктурированные данные.
-
Хранение “сырых” данных в их первоначальном виде без предварительной обработки.
-
Обеспечивает возможность анализа данных в различных форматах и их преобразования в более структурированные формы по мере необходимости.
-
Объясните архитектуру типичного хранилища данных (DWH).
Типичная архитектура хранилища данных включает следующие компоненты:
-
ETL(Extract, Transform, Load): Процессы извлечения данных из различных источников, их трансформации и загрузки в хранилище данных. -
Data Storage: Централизованное хранилище для структурированных и неструктурированных данных. Обычно использует реляционные СУБД, колоночные базы данных или распределенные файловые системы. -
Data Mart: Подмножества данных, ориентированные на конкретные бизнес-процессы или отделы. -
OLAP Cubes: Многомерные структуры данных для анализа и агрегации данных. -
BI Tools: Инструменты бизнес-анализа для визуализации данных и создания отчетов. -
Metadata Management: Управление метаданными для обеспечения качества и целостности данных.
Каковы основные отличия между OLAP и OLTP системами?
Основные отличия между OLAP и OLTP:
-
OLAP(Online Analytical Processing): Ориентированы на сложный анализ данных и бизнес-аналитику. Работают с большими объемами данных, часто агрегируют и обрабатывают исторические данные. -
OLTP(Online Transaction Processing): Ориентированы на выполнение транзакций в реальном времени. Обрабатывают небольшие объемы данных, часто обновляют данные, обеспечивают высокую скорость и надежность транзакций.
Какие ETL процессы вы использовали для загрузки данных в DWH?
Примерный ETL процесс включает:
-
Extract(Извлечение): Извлечение данных из различных источников (реляционные базы данных, файлы CSV, API).-
Использование JDBC для подключения к базам данных.
-
Использование API и REST для извлечения данных из веб-источников.
-
Чтение файлов CSV, JSON и Parquet.
-
-
Transform(Трансформация): Преобразование данных для приведения к требуемому формату и структуре.-
Очистка данных (удаление дубликатов, заполнение пропусков).
-
Преобразование типов данных.
-
Агрегация и обогащение данных.
-
Применение бизнес-правил.
-
-
Load(Загрузка): Загрузка преобразованных данных в хранилище данных.-
Использование JDBC для вставки данных в реляционные базы данных.
-
Загрузка данных в распределенные файловые системы (например, HDFS).
-
Загрузка данных в колоночные базы данных (например, Amazon Redshift).
-