25

Data Modeling в Lakehouse

Проектирование данных в современном Lakehouse: Medallion Architecture, Dimensional Modeling (Kimball), Data Vault 2.0 на Spark, SCD, idempotent pipelines и event-driven подход.

lakehouse core datamodeling
Data Modeling в Lakehouse

Контрольные задания

Спроектировать 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
Начать модуль