Data Engineering 3D logosu yanında üç adımlı ETL boru hattı bloğu bembeyaz arka planda premium kompozisyon

Veri mühendisliği eğitimi, "veri akıyor" iddiasını test edilebilir ve ölçülebilir bir pipeline'a dönüştürmek için tasarlandı. Batch ve streaming hat tasarımı, ETL ile ELT arasında karar, star ve snowflake modelleme arasında seçim somut iş senaryolarıyla işlenir. dbt ile transformation as code yaklaşımı eğitimin temel taşıdır.

Eğitim sonunda katılımcı, Spark, Beam veya Kafka Streams ile pipeline kurabilir; Airflow ve Dagster arasında orchestration aracını ölçeğe göre seçer. SCD (Type 1/2/3) tipleri, Great Expectations ile data quality guard'ları ve lakehouse ile data mesh tasarım kararları üzerinden çalışılır. Eğitim akışı Databricks veri mühendisliği rehberi referans alınarak şekillenir.

Katılımcı Profili

Bu eğitim, veri akışını test edilebilir ve ölçülebilir biçimde tasarlamak isteyen rollere yöneliktir:

  • Veri Mühendisleri: Pipeline ve ETL süreçleri tasarlayan mühendisler
  • Analytics Engineer'lar: dbt ve modern data stack ile çalışan roller
  • BI Geliştiricileri: Veri mart ve görselleştirmeyi uçtan uca kuranlar
  • Yazılım Geliştiriciler: Veri tarafına geçiş yapan backend mühendisleri
  • Data Architect'ler: Lakehouse ve data mesh mimarisi tasarlayan roller

Ön Gereklilikler

Bu eğitime katılım için aşağıdaki ön bilgiler önerilir:

  • SQL ile temel sorgu yazma deneyimi (SELECT, JOIN, GROUP BY)
  • Python veya Scala'da temel programlama yetkinliği
  • Komut satırı ve Git ile rahat çalışma
  • Linux ve dosya sistemi kavramlarına aşinalık
  • İlişkisel veri modeli ve normalization konularına giriş seviyesi bilgi

Süresi ve Tarihi

Süre: 4 gün. Bu süre standart program içindir; ek modüllere ve hedefe göre süre özelleştirilebilir.
Eğitim tarihleri ve saatleri, ekibinizin uygunluğuna göre birlikte planlanır.

Kazanımlar

Bu eğitimin sonunda katılımcı, "veri akıyor" iddiasını ölçülebilir, test edilebilir bir pipeline'a dönüştürür:

  • ETL ile ELT arasında veri hacmi ve transformasyon yerine göre seçim yapar
  • Batch ve streaming hattı Spark, Beam veya Kafka Streams ile kurar
  • Star, snowflake ve Data Vault arasında modelleme kararı verir
  • SCD (Type 1/2/3) tiplerini iş senaryosuna göre uygular
  • dbt ile transformation as code yaklaşımı kurar ve test ekler
  • Airflow ile Dagster arasında orchestration aracını ölçeğe göre seçer
  • Great Expectations ile data quality check'i pipeline'a guard olarak yerleştirir

Data Engineering Eğitimi Konuları

1. Data Engineering Disiplini ve Modern Yığın

  • Data Engineer rolü: Analyst, Scientist ile sınır
  • Modern Data Stack kavramı ve bileşenleri
  • ELT'nin ETL'i nasıl gölgede bıraktığı
  • Cloud-native veri platformları

2. Veri Modelleme - 3NF, Star, Snowflake

  • OLTP için normal formlar (1NF, 2NF, 3NF)
  • OLAP için boyutsal modelleme (Kimball)
  • Star schema: fact ve dimension tabloları
  • Snowflake schema ve normalize boyutlar
  • Data Vault 2.0 yaklaşımı

3. ETL ve ELT Farkı

  • ETL'de transform sırası: kaynak öncesi
  • ELT'de transform sırası: hedef sonrası
  • Modern bulut veri ambarlarının ELT'yi yaygınlaştırması
  • Push-down computation ve maliyet

4. Data Warehouse, Data Lake, Lakehouse

  • Data Warehouse: schema-on-write, analitik odaklı
  • Data Lake: schema-on-read, ham veri toplama
  • Lakehouse: warehouse + lake birleşimi
  • Storage layer ve compute ayrımı
  • S3, ADLS, GCS object store temelleri

5. Apache Spark - Distributed Computing

  • Spark mimarisi: driver, executor, cluster manager
  • RDD, DataFrame, Dataset API'leri
  • Lazy evaluation ve DAG (Directed Acyclic Graph)
  • Catalyst optimizer ve Tungsten engine
  • Cluster modlar: local, standalone, YARN, Kubernetes

6. PySpark ile DataFrame İşleme

  • SparkSession ve DataFrame oluşturma
  • select, filter, groupBy, join operasyonları
  • UDF (User Defined Function) ve performans riski
  • Window function ve analitik hesaplama
  • Pandas-on-Spark ve PyArrow entegrasyonu

7. Spark SQL ve Performans Optimizasyonu

  • Spark SQL ve dataframe arasındaki köprü
  • Partition stratejisi ve skew problemi
  • Broadcast join ve shuffle join
  • Cache ve persist seviyeleri
  • Adaptive Query Execution (AQE)

8. Apache Kafka - Stream Processing

  • Topic, partition, broker, consumer group
  • Producer ve Consumer API'leri
  • At-least-once, at-most-once, exactly-once garantiler
  • Offset yönetimi ve replay
  • Kafka Streams ve KSQL temelleri

9. Schema Registry ve Veri Sözleşmesi

  • Schema Registry rolü ve evolution kuralları
  • Avro, Protobuf, JSON Schema
  • Backward, forward, full compatibility
  • Data contract yaklaşımı ve producer-consumer sınırı

10. Apache Airflow - Workflow Orchestration

  • DAG, Operator, Task, Sensor kavramları
  • Scheduling ve catchup davranışı
  • XCom ile task arası veri paylaşımı
  • Branching, trigger rules, sub-DAG ve TaskGroup
  • Airflow alternatifleri: Prefect, Dagster, Mage

11. dbt - Transformation as Code

  • dbt modeli, materialization türleri (table, view, incremental)
  • SQL'i Jinja template ile zenginleştirme
  • Source, ref, dbt_utils makroları
  • dbt test, snapshot, seed komutları
  • dbt docs ile data catalog

12. Snowflake, BigQuery, Redshift Karşılaştırması

  • Snowflake: virtual warehouse ve micro-partition
  • BigQuery: serverless ve slot tabanlı
  • Redshift: cluster ve distribution key
  • Pricing modeli ve maliyet optimizasyonu
  • Cross-region ve veri paylaşımı

13. Databricks ve Delta Lake

  • Databricks workspace ve cluster
  • Delta Lake: ACID transaction, time travel, schema enforcement
  • Delta Live Tables ile declarative pipeline
  • Unity Catalog ile yönetişim
  • MLflow entegrasyonu (data + ML)

14. Apache Iceberg ve Open Table Formats

  • Iceberg, Hudi, Delta Lake karşılaştırması
  • Snapshot, manifest, partition spec yapısı
  • Schema evolution ve hidden partitioning
  • Engine-bağımsız format ve interoperability

15. Change Data Capture (CDC)

  • Log-based CDC: Debezium, Maxwell
  • Trigger-based ve query-based CDC alternatifleri
  • Outbox pattern ile event üretimi
  • CDC + Kafka + warehouse pipeline'ı

16. Slowly Changing Dimensions (SCD)

  • SCD Type 1: overwrite
  • SCD Type 2: tarihsel saklama (effective_from, effective_to)
  • SCD Type 3: önceki değer kolonu
  • Hybrid ve Type 6 yaklaşımları

17. Medallion Architecture - Bronze, Silver, Gold

  • Bronze: ham veri, source-of-truth
  • Silver: temizlenmiş, deduplicated, conformed
  • Gold: business-ready, aggregated
  • Katmanlar arası dönüşüm sözleşmesi
  • Data mesh ve domain ownership

18. Data Quality - Great Expectations

  • Expectation: not_null, unique, range, regex
  • Checkpoint ile pipeline entegrasyonu
  • Data Docs ile paydaşa sunum
  • Soda Core, Monte Carlo alternatifleri
  • Anomaly detection ve auto-profiling

19. Data Lineage ve Catalog

  • OpenLineage standardı
  • Apache Atlas, DataHub, Amundsen
  • Column-level lineage
  • Impact analysis ve değişiklik etkisi

20. DataOps ve Pipeline Monitoring

  • Data freshness, completeness, accuracy metrikleri
  • SLA, SLO ve data product reliability
  • Observability platformları: Monte Carlo, Bigeye
  • Incident response ve runbook disiplini
  • Cost monitoring ve query optimization

DATA ENGINEERING EĞİTİMİ ile İlgili
Sıkça Sorulan Sorular ve Cevapları


ETL ile ELT arasında karar verme kriteri nedir?

ETL kaynaktan çekilen veri ayrı bir ortamda transform edilip data warehouse'a yüklenir — daha eski yaklaşım, hesaplama kaynak makinede. ELT ise ham veri önce warehouse'a yüklenir, transform'lar SQL veya dbt ile warehouse içinde yapılır. Snowflake, BigQuery gibi cloud DW'lerin gücü ELT'yi öne çıkardı.

Star schema ile Data Vault arasında ne zaman karar değişir?

Star schema analytical sorgular için en hızlı modeldir — fact ve dimension ayrımıyla raporlama kolaylaşır. Data Vault ise audit, history ve çoklu kaynak entegrasyonu için tasarlanmış normalize bir yaklaşım. Çoğu BI projesi star ile başlar; regülasyon veya çok kaynaklı entegrasyon Data Vault'ı zorunlu kılabilir.

Slowly Changing Dimension Type 1, 2, 3 farkı nedir?

Type 1 overwrite — geçmiş kaybolur. Type 2 satır ekleyerek tarihçe tutar (effective_date, end_date); en yaygın yaklaşım. Type 3 sınırlı tarihçe için ek kolon (previous_value). Customer dimension'da adres değişimi Type 2 ile, müşteri segment'i Type 1 ile işlenebilir.

dbt ile geleneksel ETL aracı arasındaki fark nedir?

Geleneksel ETL aracı (Informatica, SSIS) GUI tabanlı transform tasarımı sunar. dbt ise SQL + Jinja ile transform-as-code; versiyon kontrol, test, dokümantasyon ve lineage hazır gelir. Modern data stack'in transformation katmanı olarak yaygınlaştı; analytics engineering rolünün temel aracı.

Airflow ile Dagster arasında nasıl seçim yapılır?

Airflow olgun, geniş community ve operatör ekosistemine sahip; klasik DAG-task modeli. Dagster asset-based modeli ve daha güçlü local test deneyimi sunar — modern data lineage yaklaşımı. Mature ekipler Airflow'a, yeni başlayanlar Dagster veya Prefect'e yöneliyor.

Batch ve streaming pipeline ne zaman birbirini tamamlar?

Real-time karar gerektiren işler (fraud detection, recommendation) streaming ile, geç ama doğru hesaplama (mali raporlama, BI) batch ile yapılır. Lambda architecture ikisini paralel çalıştırır; Kappa architecture ise tek streaming yapısında her ikisini sağlar. Veri-volume ve latency hedefi kararı belirler.