Данные и аналитика
Что такое хранилище данных (Data Warehouse)?
Хранилище данных (Data Warehouse, DWH) — это отдельная база данных, куда собирают информацию из всех систем компании специально для анализа и отчётов. Оно хранит историю в единой структуре и не нагружает рабочие приложения.
Обычная база приложения настроена на быстрые операции с отдельными записями: создать заказ, изменить статус. Тяжёлый аналитический запрос за несколько лет на такой базе замедлит работу системы, поэтому аналитику переносят в отдельное место.
Кроме того, хранилище даёт единую версию правды: одинаковые справочники, согласованные определения показателей и полную историю изменений. Данные попадают туда через ETL-процессы, обычно по расписанию ночью.
Где применяется
Хранилище нужно, когда отчётов из одной базы уже не хватает. Заказы хранятся в интернет-магазине, оплаты — в учётной системе, обращения — в CRM, расходы — в рекламных кабинетах, и составить из этого единый отчёт напрямую невозможно.
Сегодня хранилища чаще всего облачные: BigQuery, Snowflake, Redshift или PostgreSQL для небольших объёмов. Структуру строят по схеме «звезда»: таблица фактов с событиями и справочники вокруг неё. Наполняют хранилище ETL-процессами ночью, а с ним работают BI-инструменты и аналитики.
Пример
Аналитику нужно посчитать выручку по группам клиентов за три года. На базе интернет-магазина такой запрос затормозит сайт на несколько минут. В хранилище он выполняется на копии данных, созданной именно для этого, и покупатели ничего не замечают.
SELECT d.year_month,
s.region,
SUM(f.revenue) AS revenue
FROM fact_sales f
JOIN dim_date d ON d.date_key = f.date_key
JOIN dim_store s ON s.store_key = f.store_key
GROUP BY d.year_month, s.region
ORDER BY d.year_month;
Частые вопросы
Чем хранилище данных отличается от обычной базы?
Назначением. База приложения рассчитана на частые операции с отдельными записями в реальном времени. Хранилище рассчитано на тяжёлые запросы по всей истории и обновляется частями по расписанию, не мешая работе продукта.
Что такое data lake и чем он отличается от хранилища?
Озеро данных хранит всё подряд в исходном виде — логи, файлы, выгрузки, изображения — без заданной структуры. Хранилище содержит очищенные и согласованные данные, готовые для отчётов. Часто их сочетают: озеро как первичный склад, хранилище как готовая витрина.
Нужно ли хранилище небольшой компании?
Не всегда. Пока источник данных один, а объёмы небольшие, отчёты можно строить на копии базы. Время подумать о хранилище наступает, когда источников становится несколько, а разные отделы приносят на встречи разные цифры для одного и того же показателя.
Как часто обновляют данные в хранилище?
Чаще всего раз в сутки ночью — для управленческих отчётов этого достаточно. Если решения нужно принимать быстрее, настраивают обновление каждый час или потоковую передачу. Чем ближе к реальному времени, тем дороже инфраструктура и поддержка.
Обучение аналитике данных в OWU
Освойте профессию аналитика данных на практических курсах с менторами и реальными проектами.
Выбрать курс