Lambda и Kappa архитектура на собеседовании Data Engineer
Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.
Содержание:
Зачем разбирать на собесе
Lambda / Kappa — фундаментальные архитектурные паттерны. На собесе DE: «отличие», «когда что».
Lambda architecture
Nathan Marz, 2011. Идея — два пути обработки.
Source → Speed layer (real-time, streaming)
→ Batch layer (historical, nightly)
↓
Serving layer (queries from both)Speed layer. Streaming (Kafka Streams / Spark Streaming / Flink) для near-real-time, но менее точно.
Batch layer. Полная пересчитка из raw data. Точно, но slow.
Serving layer. Combines оба для запросов.
Логика. Batch исправляет любые bugs / inaccuracies из speed layer. Speed предоставляет recent data до next batch run.
Минусы:
- Дублирование code (one logic дважды).
- Сложно поддерживать.
- Inconsistency: speed view ≠ batch view, complicates serving.
Kappa architecture
Jay Kreps (LinkedIn). Упрощение — только streaming.
Source → Streaming layer → ServingПри необходимости recompute — replay events from Kafka. Stream processing достаточно мощный для всех use cases.
Условия:
- Source — Kafka с long retention (или infinite).
- Streaming framework справляется с throughput.
- Operations можно выразить как stream processing.
Преимущества:
- One code path, проще поддерживать.
- Consistency.
Сравнение
| Lambda | Kappa | |
|---|---|---|
| Pipelines | 2 (batch + speed) | 1 (stream) |
| Сложность | Высокая | Средняя |
| Inconsistency | Возможна между layers | Нет |
| Reprocessing | Сравнительно easy | Replay через Kafka |
| Latency | Speed = sec, batch = h | Sec |
Когда что
Lambda:
- Имеете legacy batch pipeline.
- Streaming framework не справится со всей complexity.
- Strict accuracy требования (financial).
Kappa:
- Greenfield проект.
- Streaming-friendly logic.
- Команда с stream expertise.
Современная альтернатива
Lakehouse + Iceberg / Delta + Spark Structured Streaming + dbt.
Source → Stream → Lake (Iceberg / Delta)
↓
dbt batch для transforms
↓
Serving (Trino / SQL)Iceberg / Delta дают ACID — streaming append + batch transforms на одних данных, без separate layers.
В 2026 lambda реально устарела. Kappa или lakehouse — modern path.
Связанные темы
- Spark Structured Streaming для DE
- Kafka Streams для DE
- Lakehouse Iceberg Delta для DE
- ETL vs ELT для DE
- Подготовка к собесу Data Engineer
FAQ
Lambda всё ещё используется?
В legacy enterprise — да. Новых проектов — реже.
Это официальная информация?
Нет. Статья основана на работах Marz («Big Data», Lambda) и Kreps («Questioning the Lambda Architecture», Kappa).
Тренируйте Data Engineering — откройте тренажёр с 1500+ вопросами для собесов.