25
Data Modeling в Lakehouse
Проектирование данных в современном Lakehouse: Medallion Architecture, Dimensional Modeling (Kimball), Data Vault 2.0 на Spark, SCD, idempotent pipelines и event-driven подход.
lakehouse
core
datamodeling
Контрольные задания
✓
Спроектировать Bronze/Silver/Gold схему для реального источника с audit-колонками
✓
Реализовать SCD Type 2 через Iceberg MERGE INTO (история изменений измерения)
✓
Построить Hub + Satellite для простой Data Vault модели с SHA-256 ключами
✓
Написать idempotent dedup-пайплайн: ROW_NUMBER() + MERGE INTO без дубликатов при перезапуске
✓
Объяснить trade-off: Data Vault vs Kimball для конкретного кейса (OLAP mart vs historical audit)
Уроки модуля
1
Medallion Architecture: зачем три слоя, design-принципы каждого, anti-patterns - почему 'папки в S3 без метаслоя' уже legacy
2
Bronze Layer: append-only immutable ingestion, обязательные audit-колонки (_ingest_ts, _source_system, _source_file, _event_id), почему дубликаты допустимы на этом слое
3
Silver Layer: дедупликация, CDC и гарантии уникальности без Primary Keys
4
Gold Layer: serving marts, агрегаты для BI, KPI и дилемма Iceberg vs ClickHouse
5
Dimensional Modeling (Kimball) на Spark: Star Schema, Snowflake, Grain, Surrogate Keys
6
SCD в PySpark: Type 1, Type 2 и Type 3 через Iceberg MERGE INTO
7
Data Vault 2.0 на Spark: Hubs, Links, Satellites и параллельный инжект
8
Data Vault + Medallion: Raw Vault → Business Vault → Kimball Data Marts
9
Constraints в Lakehouse: почему нет PK, идемпотентность, MERGE vs Dedup, Snapshot Rollback
10
Event-driven modeling: immutable events vs mutable rows, append logs как source of truth, CDC-семантика (sequence numbers, offsets, event ids), когда event-log лучше SCD
11
Lambda-архитектура в Lakehouse: интеграция Batch и Real-time потоков на Spark
12
Kappa-архитектура на Spark Structured Streaming: стриминг как единый источник правды
13
Сравнение Lambda vs Kappa: критерии выбора, стоимостная модель и эволюция в Lakehouse