Learning Platform
Глоссарий Troubleshooting
Урок 02.03 · 18 мин
Средний
Trade-offsTechnology SelectionBatch vs StreamArchitecture

Trade-off Analysis для Data Systems

Нет «лучших» инструментов — есть подходящие

Главная ошибка junior data engineers — выбирать инструменты по популярности. «Kafka, потому что все используют Kafka.» «Spark, потому что это стандарт.» Правильный подход — анализ trade-offs для конкретных requirements.

Trade-off 1: Batch vs Stream Processing

Batch vs Stream: Trade-offs
Batch Processing
Stream Processing

Когда что выбирать

СценарийВыборПочему
Daily revenue reportBatchFreshness часы — достаточно. Batch дешевле
Fraud detectionStreamFreshness секунды — критична. Fraud window < 1 мин
ML feature computationBatch + StreamBatch для training features, stream для serving
BI dashboardsMicro-batch5-15 мин freshness — компромисс цена/скорость

Trade-off 2: Warehouse vs Lakehouse

АспектData WarehouseData Lakehouse
Стоимость storageВысокая (proprietary format)Низкая (Parquet on S3)
Query performanceОтличная (оптимизирован)Хорошая (зависит от engine)
Data typesСтруктурированныеВсе (struct, semi-struct, unstructured)
ML workloadsПлохо (нужен export)Хорошо (прямой доступ)
Vendor lock-inВысокий (Snowflake, Redshift)Низкий (open formats)
ACID transactionsВстроеныЧерез table format (Delta/Iceberg)
TIP

Тренд: Lakehouse побеждает

Большинство новых проектов выбирают lakehouse architecture. Snowflake и Databricks конвергируют: Snowflake добавил Iceberg support, Databricks продвигает Delta Lake. Если у вас greenfield проект — lakehouse по умолчанию, warehouse только для specific use cases (high-concurrency BI).

Trade-off 3: ETL vs ELT

ETL vs ELT

ETL (Extract → Transform → Load)

Extract
Transform
Load
Transform до load — данные чистые сразу

ELT (Extract → Load → Transform)

Extract
Load
Transform
Transform после load — используем мощность DWH

Когда ETL, когда ELT

ETL (transform first)ELT (load first)
Data quality критична до загрузкиRaw data нужна для exploration
Legacy DWH с ограниченным computeModern DWH/Lakehouse с мощным compute
Compliance: PII нельзя загружать в raw видеДешёвый storage (S3) — храним всё
On-premise infrastructureCloud infrastructure

Trade-off 4: Orchestrator Selection

AirflowDagsterPrefect
МодельDAG-centricAsset-centricFlow-centric
ParadigmTasks & dependenciesSoftware-defined assetsDecorators on functions
Learning curveСредняяВысокаяНизкая
CommunityОгромноеРастущееСреднее
TestingСложноВстроеноХорошо
UIФункциональноеОтличноеХорошее
КогдаLegacy, большая командаGreenfield, data meshНебольшие команды, быстрый старт

Framework для принятия решений

Для каждого technology choice:

  1. Определите criteria — что важно для ВАШЕГО проекта (не в целом)
  2. Оцените 2-3 варианта по каждому критерию
  3. Документируйте решение — ADR (Architecture Decision Record)
  4. Назначьте trigger для пересмотра — «пересмотреть, когда volume > 100 TB/день»
## ADR-001: Orchestrator Selection

Status: Accepted
Context: Greenfield project, 3 DE, 20 pipelines, growing to 100+
Decision: Dagster (asset-centric model)
Alternatives considered: Airflow (established but DAG-centric), Prefect (simpler but less structure)
Consequences:
  [OK] Asset lineage out-of-the-box
  [OK] Built-in testing framework
  [OK] Clean separation of IO and compute
  [NO] Smaller community than Airflow
  [NO] Team needs to learn asset-centric paradigm
Revisit trigger: If team grows to 10+ and Airflow expertise dominates
Проверка знанийKnowledge check
ОтветAnswer

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

Результат: 0 из 0
Аналитический
Вопрос 1 из 3. Вы выбираете между Data Warehouse (Snowflake) и Data Lakehouse (Iceberg on S3) для нового greenfield проекта. У вас смешанные workloads: BI-аналитика + ML training. Какой trade-off ключевой?

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

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

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

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