Что такое архитектура Data Lake

«Что такое архитектура Data Lake» — вопрос из категории Архитектура, который задают на 33% собеседований Системный Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Data Lake — это хранилище данных, которое позволяет хранить сырые данные в их исходном формате (структурированные, полуструктурированные, неструктурированные) без предварительной обработки. Ключевые особенности:

  • Гибкость: данные загружаются как есть (CSV, JSON, изображения, логи и т.д.).
  • Масштабируемость: построен на распределенных системах (например, Hadoop, S3).
  • Схема при чтении (Schema-on-Read): структура накладывается при анализе, а не при записи.

Пример использования в коде (Python + AWS S3):

import boto3

s3 = boto3.client('s3')
# Загрузка сырых данных
s3.upload_file('raw_logs.json', 'my-data-lake', 'logs/2023/raw_logs.json')

Проблемы: без должного управления превращается в "болото данных" (Data Swamp). Решение — метаданные, каталогизация (например, AWS Glue, Apache Atlas).