Data Lake
Data Lake (Озеро данных) — это хранилище, куда складывают все данные компании в исходном виде: без строгой структуры, без витрин и без заранее заданной схемы.
Грубо говоря: «сначала всё собираем, а разберёмся потом».
Что обычно хранится в Data Lake
- Логи пользовательского поведения
- Метрики сайтов и приложений
- Сырые события из сервисов
- Фото, видео, аудио
- Телеметрия устройств и датчиков
- Данные из API и внешних источников
Такие данные часто не подходят для BI «из коробки», но идеально подходят для ML, исследований и быстрого теста гипотез.
Ключевая идея
Схема применяется на чтении, а не на записи.
Это значит:
- данные можно загрузить быстро,
- структура может появиться позже,
- аналитики и ML-инженеры сами формируют нужные срезы.
Основные особенности
- Хранятся все данные, даже «бесполезные»
- Структурированные, полуструктурированные и неструктурированные форматы
- Гибкость: можно добавлять новые источники без пересборки модели
- Для практического использования почти всегда нужна доп. обработка
- Дешевле в проектировании, чем классический DWH
Преимущества Data Lake
- Масштабируемость: легко наращивать объемы хранения
- Экономичность: можно использовать open-source и дешёвые хранилища
- Универсальность: данные подходят и для аналитики, и для ML
- Быстрый старт: не нужно сразу строить сложную модель
Болото данных (Data Swamp)
Если в озере нет правил, оно превращается в болото. Это происходит, когда:
- данные грузятся без контроля качества;
- никто не знает, что внутри и где это лежит;
- нет описаний, владельцев и метаданных;
- данные никто не использует, но продолжают хранить.
Как не превратить озеро в болото
- описывать источники и данные (метаданные)
- вводить правила именования и структуры каталогов
- хранить историю загрузок и качество данных
- давать доступ только к понятным наборам
Когда Data Lake уместен
Data Lake хорош, если:
- много источников и форматов
- нужны ML/DS эксперименты
- важно хранить сырьё целиком
- бизнес часто меняется
Если же задача — стабильные отчёты и понятные витрины, то без DWH не обойтись.
Что может быть Data Lake
Data Lake — это скорее подход, чем конкретный продукт.
Им может быть любое хранилище, которое позволяет складывать большие объёмы сырого разнородного дата-сета.
Обычно Data Lake строят на:
- объектных хранилищах (S3-совместимые, облачные или on-prem)
- распределённых файловых системах
- иногда — на дешёвых блочных хранилищах с поверхностной структурой каталогов
Какие хранилища подходят под Data Lake
Самые типовые варианты:
- Amazon S3 / S3-compatible (MinIO, Ceph, Yandex Object Storage и т.д.)
- Google Cloud Storage
- Azure Data Lake Storage
- HDFS (в Hadoop-экосистеме)
Важно не название, а свойства:
- хранит большие объёмы;
- дешёвое масштабирование;
- не требует жёсткой схемы на запись;
- позволяет хранить любые форматы данных.