---
title: DWH
seo:
  title: DWH — Data Engineer
  description: Тема «DWH» для собеседования Data Engineer. Что такое DWH? В чём отличие DWH от DataLake?
---

[Все темы Data Engineer](/data-engineer)

## <strong>Что такое</strong> <code>DWH</code><strong>?</strong> [#q-14bee738d69b8135b45cc856ba950436]

DWH (Data Warehouse) - это специализированное хранилище данных, предназначенное для анализа и отчетности. Оно объединяет данные из различных источников в единое хранилище, где они структурированы и оптимизированы для аналитических запросов. DWH обеспечивает быстрый доступ к данным и поддерживает широкий спектр аналитических операций, таких как OLAP (Online Analytical Processing), отчетность и бизнес-анализ.

:::note[Ссылки для изучения]

1. [Руководство по DWH](https://wiki.orionsoft.ru/ru/zvirt/latest/dwh-guide.adoc)
   :::

---

## <strong>В чём отличие</strong> <code>DWH</code> <strong>от</strong> <code>DataLake</code><strong>?</strong> [#q-14bee738d69b813ea88ede775789fbc1]

Отличие между хранилищем данных <code>&#40;DWH&#41;</code> и озером данных <code>&#40;Data Lake&#41;</code> заключается в подходе к хранению и обработке данных.

{/* prettier-ignore */}
1. <code>DWH &#40;Data Warehouse&#41;</code>&#58;

    - Структурированные данные.

    - Данные предварительно обработаны и согласованы для аналитических задач.

    - Предназначен для анализа и отчетности.

1. <code>Data Lake</code>&#58;

    - Неструктурированные и полуструктурированные данные.

    - Хранение "сырых" данных в их первоначальном виде без предварительной обработки.

    - Обеспечивает возможность анализа данных в различных форматах и их преобразования в более структурированные формы по мере необходимости.

:::note[Ссылки для изучения]

1. [Руководство по DWH](https://wiki.orionsoft.ru/ru/zvirt/latest/dwh-guide.adoc)
   :::

---

## <strong>Объясните архитектуру типичного хранилища данных (</strong><code>DWH</code><strong>).</strong> [#q-14bee738d69b810fa868cda39c683ef3]

Типичная архитектура хранилища данных включает следующие компоненты&#58;

1. <code>ETL</code> <strong>(Extract, Transform, Load)</strong>&#58; Процессы
   извлечения данных из различных источников, их трансформации и загрузки в
   хранилище данных.

1. <code>Data Storage</code>&#58; Централизованное хранилище для
   структурированных и неструктурированных данных. Обычно использует реляционные
   СУБД, колоночные базы данных или распределенные файловые системы.

1. <code>Data Mart</code>&#58; Подмножества данных, ориентированные на
   конкретные бизнес-процессы или отделы.

1. <code>OLAP Cubes</code>&#58; Многомерные структуры данных для анализа и
   агрегации данных.

1. <code>BI Tools</code>&#58; Инструменты бизнес-анализа для визуализации данных
   и создания отчетов.

1. <code>Metadata Management</code>&#58; Управление метаданными для обеспечения
   качества и целостности данных.

:::note[Ссылки для изучения]

1. [Руководство по DWH](https://wiki.orionsoft.ru/ru/zvirt/latest/dwh-guide.adoc)
   :::

---

## <strong>Каковы основные отличия между</strong> <code>OLAP</code> <strong>и</strong> <code>OLTP</code> <strong>системами?</strong> [#q-14bee738d69b81aeae14d34db63019fd]

Основные отличия между <code>OLAP</code> и <code>OLTP</code>&#58;

- <code>OLAP</code> <strong>(Online Analytical Processing)</strong>&#58;
  Ориентированы на сложный анализ данных и бизнес-аналитику. Работают с большими
  объемами данных, часто агрегируют и обрабатывают исторические данные.

- <code>OLTP</code> <strong>(Online Transaction Processing)</strong>&#58;
  Ориентированы на выполнение транзакций в реальном времени. Обрабатывают
  небольшие объемы данных, часто обновляют данные, обеспечивают высокую скорость
  и надежность транзакций.

:::note[Ссылки для изучения]

1. [Руководство по DWH](https://wiki.orionsoft.ru/ru/zvirt/latest/dwh-guide.adoc)
   :::

---

## <strong>Какие</strong> <code>ETL</code> <strong>процессы вы использовали для загрузки данных в</strong> <code>DWH</code><strong>?</strong> [#q-14bee738d69b819b982ff75e50506bac]

Примерный <code>ETL</code> процесс включает&#58;

{/* prettier-ignore */}
1. <code>Extract</code> <strong>(Извлечение)</strong>&#58; Извлечение данных из различных источников (реляционные базы данных, файлы CSV, API).

    - Использование JDBC для подключения к базам данных.

    - Использование API и REST для извлечения данных из веб-источников.

    - Чтение файлов CSV, JSON и Parquet.

1. <code>Transform</code> <strong>(Трансформация)</strong>&#58; Преобразование данных для приведения к требуемому формату и структуре.

    - Очистка данных (удаление дубликатов, заполнение пропусков).

    - Преобразование типов данных.

    - Агрегация и обогащение данных.

    - Применение бизнес-правил.

1. <code>Load</code> <strong>(Загрузка)</strong>&#58; Загрузка преобразованных данных в хранилище данных.

    - Использование JDBC для вставки данных в реляционные базы данных.

    - Загрузка данных в распределенные файловые системы (например, HDFS).

    - Загрузка данных в колоночные базы данных (например, Amazon Redshift).

:::note[Ссылки для изучения]

1. [Руководство по DWH](https://wiki.orionsoft.ru/ru/zvirt/latest/dwh-guide.adoc)
   :::
