Data Lakehouse Eğitimi
Data Lakehouse Eğitimi
Eğitim Hakkında
Modern veri platformlarında yüksek hacimli verilerin düşük maliyetle saklanması, farklı analitik motorlar tarafından işlenmesi ve güvenilir biçimde yönetilmesi büyük önem taşımaktadır. Data Lakehouse Mimarisi ve Uygulama Geliştirme Eğitimi, katılımcıların Data Warehouse ve Data Lake yaklaşımlarını bir araya getiren Lakehouse mimarisini anlamalarını ve uçtan uca veri platformları geliştirmelerini amaçlamaktadır.
Eğitim kapsamında S3 uyumlu Object Storage sistemleri, Apache Iceberg, Medallion Architecture, Spark, Trino, Dremio, Kafka, CDC, OpenMetadata, Apache Ranger, dbt ve Apache Airflow teknolojileri ele alınmaktadır. Yaklaşık %60 uygulama ağırlığına sahip laboratuvar çalışmaları sayesinde katılımcılar; veri yükleme ve dönüştürme süreçleri geliştirme, batch ve streaming akışları oluşturma, performans optimizasyonu gerçekleştirme, metadata ve erişim politikalarını yönetme ve CI/CD destekli Lakehouse pipeline’ları tasarlama becerileri kazanacaktır.
Ön Koşul
Katılımcıların temel SQL ve Python bilgisine sahip olmaları, ayrıca Docker ve Kubernetes teknolojilerine aşina olmaları önerilmektedir.
Eğitim İçeriği
- Data Lakehouse Mimarisi
- Lakehouse Konsepti ve Evrim
- Data Warehouse → Data Lake → Lakehouse geçişi ve bu evrimin nedenleri
- Lakehouse ne çözer: ucuz object storage üzerinde ACID garantili, warehouse kalitesinde analitik
- Compute ve storage ayrımı, engine bağımsızlığı (aynı tabloyu Spark, Trino, Dremio okuyabilir)
- S3 Object Storage Yapıları
- Compute ve storage ayrımı, engine bağımsızlığı (aynı tabloyu Spark, Trino, Dremio okuyabilir)
- S3 uyumlu çözümler (MinIO, AWS S3, Ceph) ve on-prem senaryoları
- Dosya formatları (Parquet, ORC, Avro) ve kolonsal depolamanın avantajları
- Küçük dosya problemi ve partitioning stratejileri
- Açık Tablo Formatları (OTF)
- Tek başına Parquet neden yetmez: şema evrimi, ACID, time travel ihtiyacı
- Apache Iceberg, Delta Lake, Apache Hudi karşılaştırması
- Iceberg iç yapısı: snapshot, manifest, metadata katmanları
- Hidden partitioning ve partition evolution
- Madalyon Mimarisi (Medallion Architecture)
- Bronze: ham veri, append-only, kaynak sistemin kopyası
- Silver: temizlenmiş, tekilleştirilmiş, doğrulanmış veri
- Gold: iş birimine hazır, agregasyonlu, rapor odaklı katman
- Katmanlar arası sorumluluk sınırları ve veri kalitesi kontrol noktaları
- Spark Engine'e Genel Bakış
- Spark'ın lakehouse'daki rolü: ingestion ve dönüşüm motoru
- Diğer bileşenlerle ilişkisi (bu başlık 2. günde detaylandırılacak)
- Lab 1: MinIO + Iceberg + Spark ile mini lakehouse kurulumu, Bronze katmanına ilk veri yükleme, time travel denemesi
- Lakehouse Konsepti ve Evrim
- SQL Engine
- SQL Engine Kavramı
- Bağımsız sorgu motoru yaklaşımı: veriyi taşımadan yerinde sorgulama
- MPP (Massively Parallel Processing) mimarisi: coordinator/worker modeli
- Federated query: farklı kaynakları tek SQL ile birleştirme
- Trino
- Mimari: coordinator, worker, connector modeli
- Katalog ve connector yapılandırması (Iceberg, Hive, PostgreSQL, Kafka)
- Bellek yönetimi, fault-tolerant execution modu
- Tipik kullanım senaryoları: ad-hoc analitik, BI, federated sorgular
- Dremio
- Mimari: Apache Arrow tabanlı execution, Columnar Cloud Cache (C3)
- Reflection kavramı: otomatik materyalizasyon ile sorgu hızlandırma
- Semantik katman: sanal veri setleri (virtual dataset) ve self-service yaklaşımı
- Entegre katalog (Apache Polaris tabanlı) ve Iceberg üzerinde yazma desteği
- Trino vs Dremio Karşılaştırması
- Saf sorgu motoru (Trino) vs entegre platform (Dremio) yaklaşımı
- Sorgu hızlandırma yaklaşımı: Trino'da manuel optimizasyon, Dremio'da Reflection
- Governance ve semantik katman farkları
- Lisanslama, operasyonel yük ve ekip yetkinliğine göre seçim kriterleri
- Lab 2: Aynı Iceberg tablosunu Trino ve Dremio üzerinden sorgulama, sorgu planlarını (EXPLAIN) karşılaştırma, Dremio'da Reflection oluşturup performans farkını gözlemleme
- SQL Engine Kavramı
- Spark ile Yazılım Geliştirme
- Spark Mimarisi
- Driver, executor, cluster manager (Kubernetes üzerinde Spark)
- Lazy evaluation, DAG, stage ve task kavramları
- Spark 4.x yenilikleri: ANSI SQL modu, VARIANT veri tipi
- VS Code Üzerinde PySpark Geliştirme
- Yerel geliştirme ortamı kurulumu: Python venv, PySpark, VS Code eklentileri
- Spark Connect ile uzak cluster'a bağlanarak geliştirme
- Jupyter/notebook entegrasyonu ve interaktif debug
- Kod organizasyonu: modüler pipeline yapısı, konfigürasyon yönetimi
- Performans İyileştirme
- Spark UI okuma: stage, shuffle, spill analizi
- Partition yönetimi: repartition vs coalesce, shuffle partition sayısı
- Join stratejileri: broadcast join, sort-merge join, skew problemi
- Adaptive Query Execution (AQE) ve cache/persist kullanımı
- Iceberg tablolarında compaction ve dosya boyutu optimizasyonu
- Loglama ve Debug Mekanizmaları
- Spark 4 yapılandırılmış loglama (JSON log) ve hata sınıfları çerçevesi
- log4j yapılandırması, executor loglarına erişim
- Yaygın hatalar: OOM, shuffle fetch failure, serialization sorunları
- Lab 3: VS Code'da PySpark projesi oluşturma, kasıtlı olarak yavaş yazılmış bir job'ı Spark UI ile analiz edip optimize etme
- Spark Mimarisi
- Streaming ve CDC
- Structured Streaming
- Micro-batch modeli, trigger tipleri, checkpoint ve exactly-once garantisi
- Watermark ve geç gelen veri yönetimi
- Kafka'dan okuyup Iceberg'e yazma deseni
- CDC (Change Data Capture) Senaryoları
- CDC kavramı: kaynak veritabanı değişikliklerini yakalama (Debezium yaklaşımı)
- CDC verisini lakehouse'a işleme: MERGE INTO ile upsert
- Iceberg üzerinde CDC: changelog okuma
- Bronze katmanına ham CDC, Silver katmanında verinin güncel hali (SCD mantığına giriş)
- Lab 4: Kafka → Spark Structured Streaming → Iceberg akışı kurma, CDC olaylarını MERGE ile Silver tabloya işleme
- Structured Streaming
- Metadata Yönetimi ve Governance
- Apache OpenMetadata
- Merkezi metadata platformu: keşif, lineage, veri kalitesi, sözlük (glossary)
- Connector mimarisi: veritabanları, Airflow, dbt, BI araçlarından metadata toplama
- Kolon seviyesi lineage ve etki analizi
- Veri kalitesi testleri ve profiling
- Apache Ranger
- Merkezi yetkilendirme: policy tabanlı erişim kontrolü
- Trino/Spark entegrasyonu ile satır seviyesi filtreleme ve kolon maskeleme
- Audit loglama
- Iceberg ile Metadata ve Katalog Yönetimi
- Katalog seçenekleri: Hive Metastore, JDBC, REST Catalog (Polaris, Nessie)
- REST Catalog: engine bağımsız erişim noktası
- Snapshot yönetimi: expire, rollback, tablo bakım işlemleri
- Lab 5: OpenMetadata'ya Trino ve Spark kaynaklarını bağlama, lineage görüntüleme; Ranger'da kolon maskeleme policy'si tanımlayıp Trino'da doğrulama
- dbt ile Veri Dönüşümü
- dbt felsefesi: SQL tabanlı, versiyon kontrollü, test edilebilir dönüşüm
- Proje yapısı: model, source, seed, snapshot, macro
- Materyalizasyon tipleri: view, table, incremental
- Test ve dokümantasyon: schema testleri, custom testler
- dbt-trino / dbt-spark adaptörleri ile lakehouse üzerinde çalışma
- Senaryo: Silver → Gold dönüşümünü dbt modelleri ile inşa etme
- Akış Tasarımı ve CI/CD
- Apache Airflow 3 ile workflow yönetimi: DAG, task, asset kavramları
- Airflow 3 yenilikleri: DAG versioning, event-driven scheduling, yeni React UI
- Airflow'da dbt ve Spark job'larının orkestrasyonu
- Kubernetes mimarisinde CI/CD: container imajı → registry → deployment akışı
- GitHub/GitLab ile versiyon kontrolü: branch stratejisi, PR/MR süreci, code review
- Pipeline örneği: dbt test + lint → imaj build → staging deploy → production
- Lakehouse Ortamında Veri Modelleme
- Boyutsal modelleme temelleri: Fact ve Dimension tabloları
- Star şema, SCD (Slowly Changing Dimension) Tip 1 ve Tip 2
- Katman bazlı tasarım kararları:
- Raw/Bronze: kaynak odaklı, şemasız veya kaynak şeması
- Silver: normalize/temiz varlıklar, iş anahtarları, tekilleştirme
- Gold: fact-dimension yapıları, agregasyon tabloları, metrik tanımları
- Iceberg özelinde modelleme: partition ve sort order seçimi, MERGE ile SCD Tip 2
- Kapanış mini çalışması: örnek bir iş senaryosu için Bronze → Gold katman tasarımını grupça çizme
Kazanımlar
- Data Warehouse, Data Lake ve Lakehouse mimarileri arasındaki farkları açıklayabileceksiniz.
- S3 uyumlu Object Storage sistemleri üzerinde veri depolama yapıları tasarlayabileceksiniz.
- Apache Iceberg kullanarak ACID, schema evolution ve time travel özelliklerinden yararlanabileceksiniz.
- Bronze, Silver ve Gold katmanlarından oluşan Medallion Architecture tasarlayabileceksiniz.
- Trino ve Dremio ile Iceberg tabloları üzerinde analitik ve federated sorgular çalıştırabileceksiniz.
- PySpark tabanlı veri pipeline’ları geliştirebilecek ve performans sorunlarını analiz edebileceksiniz.
- Kafka, Spark Structured Streaming ve Iceberg ile gerçek zamanlı veri akışları oluşturabileceksiniz.
- CDC verilerini MERGE işlemleriyle Lakehouse tablolarına aktarabileceksiniz.
- OpenMetadata ile veri keşfi, lineage, profiling ve veri kalitesi süreçlerini yönetebileceksiniz.
- Apache Ranger ile erişim kontrolü, kolon maskeleme ve audit politikaları uygulayabileceksiniz.
- dbt kullanarak test edilebilir Silver–Gold veri dönüşümleri geliştirebileceksiniz.
- Fact, Dimension, Star Schema ve SCD yapılarına uygun veri modelleri oluşturabileceksiniz.
- Production ortamına uygun uçtan uca Lakehouse pipeline’ları tasarlayabileceksiniz.
Hedef Kitle
- Modern veri platformları geliştirmek isteyen profesyoneller
- Platform ekiplerinin üyeleri
- Veri analistleri
- DevOps mühendisleri
- Kıdemli veri mühendisleri
- Veri altyapısı yöneticileri
Sertifika
Eğitimlerimize %80 oranında katılım gösterilmesi ve eğitim müfredatına göre uygulanacak sınav/projelerin başarıyla tamamlanması durumunda, eğitimin sonunda dijital ve QR kod destekli “BT Akademi Başarı Sertifikası” verilmektedir.
SEKTÖRÜN GÜVENDİĞİ ÇÖZÜM ORTAĞI
BT Akademi'yi tercih eden 4.000'den fazla kurum yanılmıyor.