Learning Platform
Глоссарий Troubleshooting
Урок 03.02 · 22 мин
Средний
Lambda ArchitectureKappa ArchitectureMedallionBronze Silver Gold

Lambda, Kappa и Medallion Architecture

Lambda Architecture: Batch + Stream

Lambda Architecture
Data Sources
Batch Layer
Speed Layer
Serving Layer

Проблема Lambda

[NO] Lambda downsides:
  - Два стека кода (batch + stream) для одной логики
  - Синхронизация результатов (serving merge) — сложно
  - Двойное тестирование, двойной debugging
  - Команда должна знать и Spark, и Flink

Kappa Architecture: Stream-Only

Jay Kreps (Confluent/Kafka) предложил Kappa: всё через stream:

Kappa Architecture
Event Stream (Kafka)
Stream Processing (единственный)
Serving Layer
[OK] Kappa advantages:
  - Один стек кода
  - Simpler architecture
  - Replay: перечитать Kafka topic для reprocessing

[NO] Kappa limitations:
  - Не всё естественно выражается как stream
  - Heavy aggregations (yearly reports) дороже в streaming
  - Backfill сложен (replay all history)

Medallion Architecture: Bronze → Silver → Gold

Medallion (multi-hop) — доминирующий паттерн для lakehouse:

Medallion Architecture: Bronze → Silver → Gold
Bronze (Raw)
Silver (Cleaned)
Gold (Business)

Medallion Rules

Bronze Layer Rules:
  - Store raw data exactly as received
  - Never modify — append only
  - Partition by ingestion timestamp
  - Keep forever (or long retention) — source of truth for replay
  - Schema: flexible (JSON, raw Parquet)

Silver Layer Rules:
  - Clean: remove duplicates, fix types, handle nulls
  - Validate: schema enforcement, data quality checks
  - Conform: standardize formats (dates, currencies, names)
  - Partition by business date (event_date, not ingestion_date)
  - SCD Type 2 for slowly changing dimensions

Gold Layer Rules:
  - Business-level aggregations (revenue, KPIs, metrics)
  - Star schema for BI tools (fact + dimension tables)
  - Feature tables for ML
  - Pre-computed, optimized for read performance
  - Partitioned/clustered for common query patterns

Когда какой паттерн

ПаттернКогда использоватьКогда НЕ использовать
LambdaReal-time + batch с разными SLAМаленькая команда (too complex)
KappaВсё event-driven, stream-firstHeavy batch aggregations
MedallionLakehouse, progressive qualitySimple single-table pipeline
ELT + dbtDWH-centric, SQL transformsStreaming workloads
TIP

Современный default: Medallion + ELT

Medallion architecture (Bronze/Silver/Gold) в Lakehouse (Delta/Iceberg) с dbt для Silver→Gold transforms — доминирующий паттерн. Lambda уходит (too complex). Kappa — для streaming-native companies (Confluent, Uber).

CQRS на Kafka — паттерн для Lambda/Kappa

Data Mesh: организационный паттерн

Data Mesh — не техническая архитектура, а организационный подход:

Data Mesh principles:
1. Domain ownership: каждая команда владеет своими данными
2. Data as product: данные = продукт с SLA, docs, quality
3. Self-serve platform: общая инфраструктура для всех доменов
4. Federated governance: общие стандарты, domain-specific решения
WARNING

Data Mesh ≠ техническое решение

Data Mesh — про организацию, не про инструменты. Можно использовать Medallion architecture внутри каждого domain. Data Mesh решает проблему “one central data team” → “domain teams own their data products”.

Проверка знанийKnowledge check
ОтветAnswer

Проверьте понимание

Результат: 0 из 0
Аналитический
Вопрос 1 из 3. Команда из 3 DE поддерживает Lambda architecture (Spark batch + Flink streaming). Какая основная проблема?

Закончили урок?

Отметьте его как пройденный, чтобы отслеживать свой прогресс

Войдите чтобы оценить урок

Прогресс модуля
0 из 4