1 of 10

Подходы для работы с данными

Лекция 5

2 of 10

Введение

Как можно работать с данными?

  • описывать и структурировать
  • как данные передаются и хранятся
  • пакетная и потоковая обработка
  • озера данных

3 of 10

1. Data model vs Data format

Модель данных (data model)

что именно представляют данные и как связаны сущности

Примеры:

  • реляционная модель (таблицы, строки, столбцы),
  • графовая модель (узлы и рёбра),
  • документная модель (коллекции документов)

Формат данных (data format)

как именно данные физически записаны

Примеры: CSV, JSON, XML, Parquet, Avro

4 of 10

2. Подходы к обработке данных

Пакетная (batch) обработка

Данные собираются за длительный период времени и обрабатываются целиком.

Используется в классических ETL-процессах.

Пример: раз в день считать продажи за вчера и формировать отчет.

Потоковая (stream) обработка

Данные обрабатываются по мере поступления.

Используется для задач в реальном времени.

Пример: обработка кликов пользователей на сайте или телеметрии с датчиков.

5 of 10

3. Data Lakes (Озера данных)

  • структурированные (таблицы),
  • полу-структурированные (JSON, XML, Avro),
  • неструктурированные (тексты, изображения, видео).

Главные принципы Data Lake:

  • хранение «как есть» (schema-on-read),
  • дешевое масштабируемое хранилище,
  • возможность дальнейшей аналитики с помощью разных инструментов.

6 of 10

4. Schema-on-read vs Schema-on-write

Schema-on-write

Схема накладывается при записи данных

Данные преобразуются заранее, чтобы строго соответствовать схеме.

Пример: реляционные базы данных.

Schema-on-read

Схема накладывается только при чтении

Мы можем хранить данные в любом формате, а при анализе сами решаем, как их интерпретировать

Пример: Data Lake.

7 of 10

5. Streaming sensor data (потоковые сенсорные данные)

  • датчики температуры и влажности,
  • GPS-координаты автомобилей,
  • показания с фитнес-браслетов,
  • логи IoT-устройств.

Особенности:

  • события маленькие, но частые,
  • нужна временная привязка,
  • требуются агрегаты в реальном времени

8 of 10

6. Интеграция: Batch + Stream + Data Lakes

  • Потоки (streaming)
  • Озеро (Data Lake)
  • Пакетная обработка (batch)

​

Две популярные архитектуры:

  • Lambda architecture (поток, пакет, озеро).
  • Kappa architecture (поток, пакет)

9 of 10

Заключение

  • Модель и формат данных - разные понятия
  • Выбор между batch и stream зависит от требований к скорости.
  • Data Lake дает гибкость, но требует строгого управления.
  • Потоковые данные открывают огромные возможности, но повышают сложность систем.
  • Современные решения часто комбинируют все подходы.

10 of 10

Подходы для работы с данными

Лекция 5