Apache Spark 4.2 ve Databricks 2026: Mimari, Performans ve Mulakat Sorulari
2026 yilinda Apache Spark 4.2 ve Databricks karsilastirmasi. Mimari farklar, Auto CDC, Metric Views, Unity Catalog ve veri muhendisligi mulakat sorulari hakkinda kapsamli bir rehber.

Apache Spark 4.2 ve Databricks, 2026 yilinda dagitik veri isleme icin iki farkli yaklasimi temsil ediyor. Spark, acik kaynakli bir framework olarak maksimum esneklik sunarken, Databricks Spark'i tescilli gelistirmelerle tamamen yonetilen bir lakehouse platformuna donusturuyor. Bu secenekler arasindaki farklari anlamak, hem veri muhendisligi mulakatlari hem de mimari kararlar icin kritik oneme sahiptir.
Apache Spark, dagitik hesaplama framework'udur. Databricks ise Spark uzerine insa edilmis ticari bir platformdur. Bunlari dogrudan karsilastirmak, Linux'u Red Hat Enterprise Linux ile karsilastirmaya benzer: biri temel, digeri kurumsal ozelliklerle urun haline getirilmis versiyondur.
Apache Spark 4.2: Yeni Ozellikler ve Mimari
Apache Spark 4.2, 14 Temmuz 2026'da yayinlandi ve veri pipeline'larinin calisma seklini degistiren bircok ozellik sunuyor. En onemli eklemeler degisiklik veri yakalama, yapay zeka entegrasyonu ve streaming is yukleri hedefliyor.
Auto CDC ve CHANGES Cumleleri
Spark 4.2, degisiklik veri yakalamayi (CDC) motorun dogal bir ozelligi haline getiriyor. Daha once veri degisikliklerini izlemek, zaman damgalari, hash karsilastirmalari veya harici CDC araclari iceren ozel cozumler gerektiriyordu. Yeni Auto CDC ozelligi bunu otomatik olarak hallediyor.
-- changes-query.sql
-- Query changes to a Delta table since version 10
SELECT * FROM orders CHANGES SINCE VERSION 10;
-- Track changes within a time window
SELECT * FROM customers
CHANGES BETWEEN TIMESTAMP '2026-07-01' AND TIMESTAMP '2026-07-15';CHANGES cumlesi, her satirin eklenip eklenmedigini, guncellenip guncellenmedigini veya silinip silinmedigini gosteren meta veri sutunlariyla satirlar dondurur. Bu, cogu kullanim senaryosu icin ayri CDC altyapisi tutma ihtiyacini ortadan kaldirir.
Metric Views: Dogal Semantik Katman
Metric Views, dogrudan Spark SQL icerisinde yonetilen is tanimi olusturur. Takimlar metrikleri bir kez tanimlar ve panolar, raporlar ve yapay zeka uygulamalari genelinde tutarli hesaplamalar saglar.
-- metric-views.sql
-- Define a metric view for revenue calculations
CREATE METRIC VIEW monthly_revenue AS
SELECT
DATE_TRUNC('month', order_date) AS month,
SUM(amount) AS total_revenue,
COUNT(DISTINCT customer_id) AS unique_customers,
SUM(amount) / COUNT(DISTINCT customer_id) AS revenue_per_customer
FROM orders
WHERE status = 'completed'
GROUP BY DATE_TRUNC('month', order_date);
-- Query the metric view
SELECT * FROM monthly_revenue WHERE month >= '2026-01-01';Metric Views hesaplama tutarliligini zorlar. Finans takimi monthly_revenue sorgulardiginda, makine ogrenimi modelleri olusturan veri bilimi takimiyla ayni sayilari alir.
PySpark icin Real-Time Mode
Spark 4.2, PySpark'ta streaming is akislarini basitlestiren Real-Time Mode'u sunuyor. Databricks duyurusu, bunun checkpoint yonetimi ve hata kurtarma ile ilgili operasyonel yuku nasil azalttigini vurguluyor.
# streaming_pipeline.py
from pyspark.sql import SparkSession
from pyspark.sql.functions import col, window
spark = SparkSession.builder.appName("RealTimeOrders").getOrCreate()
# Enable Real-Time Mode for simplified streaming
orders_stream = spark.readStream \
.format("kafka") \
.option("kafka.bootstrap.servers", "kafka:9092") \
.option("subscribe", "orders") \
.option("realtimeMode", "true") \
.load()
# Aggregate orders in 5-minute windows
aggregated = orders_stream \
.withWatermark("event_time", "10 minutes") \
.groupBy(window(col("event_time"), "5 minutes"), col("region")) \
.agg({"amount": "sum", "order_id": "count"})
# Write to Delta Lake
aggregated.writeStream \
.format("delta") \
.outputMode("append") \
.option("checkpointLocation", "/checkpoints/orders") \
.toTable("order_aggregates")Real-Time Mode checkpoint yonetimini dahili olarak halleder, streaming uygulamalari icin boilerplate kodu ve operasyonel karmasikligi azaltir.
2026'da Databricks Platform Mimarisi
Databricks, Spark'i kurumsal gereksinimleri karsilayan tescilli ozelliklerle genisletir. Platform Delta Lake, Unity Catalog, Mosaic AI ve yeni Lakebase OLTP motorunu entegre bir lakehouse'da birlestiriyor.
Unity Catalog: Merkezi Yonetisim
Unity Catalog, tum veri varliklari uzerinde ayrintili erisim kontrolu saglar. Sutun duzeyinde guvenlik, satir filtreleri ve veri maskeleme, SQL sorgulari, notebook'lar ve makine ogrenimi egitim isleri genelinde tutarli bir sekilde uygulanir.
-- unity-catalog-policies.sql
-- Grant read access to specific columns
GRANT SELECT (customer_id, order_date, product_id)
ON TABLE sales.orders
TO `analyst-team`;
-- Create row-level security policy
CREATE ROW FILTER policy_regional_access
ON sales.orders
AS (region STRING) -> region = current_user_region();
-- Apply the filter
ALTER TABLE sales.orders SET ROW FILTER policy_regional_access ON (region);Kendi kendine yonetilen Spark ile esdeger islevsellik, erisim kontrolu icin Apache Ranger, meta veriler icin Apache Atlas ve soy izleme icin ozel cozumlerin entegrasyonunu gerektirir.
Serverless Compute Ekonomisi
Databricks serverless SQL, kume boslik maliyetlerini ortadan kaldirir. Flexera fiyatlandirma analizine gore, SQL Serverless AWS Premium'da DBU basina 0,70 USD maliyetindedir, ancak ani artisli BI is yukleri icin toplam maliyetler genellikle SQL Pro'nun %20-35 altina duser cunku boslik saatleri ortadan kalkar.
| Compute Turu | DBU Orani (AWS Premium) | En Uygun Kullanim | |--------------|------------------------|-------------------| | Jobs Classic | 0,15 USD | Batch ETL, gece isleme | | Jobs Serverless | 0,28 USD | Degisken is yukleri, onceden kestirilemeyen programlar | | SQL Pro | 0,55 USD | Surekli BI sorgulari, tahmin edilebilir desenler | | SQL Serverless | 0,70 USD | Ani artisli sorgular, talebe bagli panolar | | Model Serving | 0,08 USD | ML cikarim ucu noktalari |
Odunlesim basittir: serverless, klasik compute'a kiyasla %20-40 DBU primi gerektirir, ancak degisken is yukleri icin toplam harcamaya hakim olabilen kume baslatma ve boslik maliyetlerini ortadan kaldirir.
Data Engineering mülakatlarında başarılı olmaya hazır mısın?
İnteraktif simülatörler, flashcards ve teknik testlerle pratik yap.
Mulakat Hazirlik Icin Mimari Karsilastirma
Veri muhendisligi mulakatlari, kendi kendine yonetilen Spark ile Databricks gibi yonetilen platformlar arasindaki odunlesimleri sik sik inceler. Asagidaki karsilastirma en yaygin mulakat konularini kapsar.
Kume Yonetimi ve Olceklendirme
Kendi kendine yonetilen Spark acik kume yapilandirmasi gerektirir. Takimlar ornek turlerini secer, otomatik olceklendirme politikalarini yapilandirir ve spot ornek kesintilerini yonetir.
# spark_cluster_config.py
from pyspark import SparkConf
conf = SparkConf() \
.setAppName("ProductionETL") \
.set("spark.executor.instances", "10") \
.set("spark.executor.cores", "4") \
.set("spark.executor.memory", "16g") \
.set("spark.dynamicAllocation.enabled", "true") \
.set("spark.dynamicAllocation.minExecutors", "2") \
.set("spark.dynamicAllocation.maxExecutors", "50") \
.set("spark.shuffle.service.enabled", "true")Databricks bu karmasikligin buyuk bolumunu soyutlar. Kume politikalari kurumsal standartlari uygular ve Photon icin optimize edilmis ornekler otomatik olarak uygun yapilandirmalari secer.
Veri Soyu ve Gozlemlenebilirlik
Databricks Unity Catalog, tablolar, notebook'lar ve makine ogrenimi modelleri genelinde soyu otomatik olarak izler. Her okuma ve yazma islemi denetlenebilir bir iz olusturur.
Kendi kendine yonetilen Spark ile soy izleme ek araclar gerektirir. Yaygin yaklasimlar Apache Atlas ile entegrasyon veya Spark listener'lari kullanarak ozel cozumler olusturmayi icerir.
# custom_lineage_listener.py
from pyspark import SparkContext
from pyspark.sql import SparkSession
class LineageListener:
def __init__(self, spark: SparkSession):
self.spark = spark
def track_read(self, table_name: str, query_id: str):
# Log read operation to lineage store
lineage_record = {
"operation": "read",
"table": table_name,
"query_id": query_id,
"timestamp": datetime.now().isoformat(),
"user": self.spark.sparkContext.sparkUser()
}
self._persist_lineage(lineage_record)
def track_write(self, table_name: str, query_id: str, row_count: int):
# Log write operation with affected row count
lineage_record = {
"operation": "write",
"table": table_name,
"query_id": query_id,
"rows_affected": row_count,
"timestamp": datetime.now().isoformat()
}
self._persist_lineage(lineage_record)Depolama Katmani Secenekleri
Her iki yaklasim da acik tablo formatlarini destekler. Delta Lake Databricks'ten cikti ancak tamamen acik kaynaktir. Apache Iceberg guclu topluluk destegine sahip bir alternatif sunar.
| Ozellik | Delta Lake | Apache Iceberg | |---------|------------|----------------| | ACID Islemleri | Evet | Evet | | Time Travel | Evet | Evet | | Sema Evrimi | Evet | Evet | | Bolum Evrimi | Sinirli | Tam | | Gizli Bolumleme | Hayir | Evet | | Birincil Entegrasyon | Databricks | Coklu motorlar |
Bu formatlarin daha derin analizi icin Delta Lake vs Apache Iceberg karsilastirmasina bakmak faydali olacaktir.
Yaygin Mulakat Sorulari
Asagidaki sorular veri muhendisligi mulakatlarinda sik sik karsimiza cikar. Her soru mulakatcilarin aradigi baglami ve yapilandirilmis yanit cercevelerini icerir.
Soru 1: Databricks yerine kendi kendine yonetilen Spark'i ne zaman secersiniz?
Mulakatcilarin degerlendirdigi: Maliyet farkindligi, operasyonel olgunluk ve kurumsal kisitlamalarin anlasilmasi.
Guclu yanit cercevesi:
- Maliyet onceden kestirilebilirligi: Kendi kendine yonetilen Spark, DBU basina ucretleri ortadan kaldirir. 7/24 calisan tutarli, tahmin edilebilir is yukleri olan kuruluslar icin ayrilmis ornekler uzerindeki sermaye harcamalari genellikle tuketim tabanli fiyatlandirmadan daha dusuk maliyetlidir.
- Veri egemeniligi: Bazi sektorler verilerin sirket ici veya belirli yargi bolgeleri icerisinde kalmasini gerektirir. Ozel altyapi uzerinde kendi kendine yonetilen dagitimlar bu gereksinimleri karsilar.
- Mevcut uzmanlik: Guclu Kubernetes ve Spark operasyon yeteneklerine sahip takimlar, kendi kendine yonetilen dagitimlarin esnekligini tercih edebilir.
- Coklu motor is yukleri: Spark'i Presto, Flink veya ozel motorlarla birlikte kullanan kuruluslar, YARN veya Kubernetes araciligiyla birlesik kume yonetiminden faydalanir.
Soru 2: Databricks, Spark performansini nasil optimize eder?
Mulakatcilarin degerlendirdigi: Delta Engine, Photon ve platforma ozgu optimizasyonlarin anlasilmasi.
Bahsedilmesi gereken anahtar noktalar:
- Photon: Desteklenen islemler icin JVM tabanli Spark SQL motorunun yerini alan yerel C++ vektorize yurütme motoru. Tarama yogun ve toplama is yukleri icin 2-8x hizlanma saglar.
- Delta Cache: Bulut depolamadan tekrarlanan okumalari hizlandiran SSD tabanli onbellekleme katmani.
- Adaptive Query Execution: Veri carpikligi isleme ve birlestirme strateji secimi icin ek optimizasyonlara sahip Spark'in AQE'sinin gelistirilmis versiyonu.
- IO optimizasyonu: Z-siralama ve dosya sikistirma dahil otomatik veri duzeni optimizasyonu.
Soru 3: Serverless compute odunlesimlerini aciklayin
Mulakatcilarin degerlendirdigi: Maliyet modelleme becerileri ve is yuku ozelliklerinin anlasilmasi.
# cost_comparison.py
def estimate_monthly_cost(workload_type: str, daily_dbus: float, hours_active: float):
"""Compare serverless vs classic compute costs."""
# DBU rates (AWS Premium tier)
rates = {
"sql_classic": 0.55,
"sql_serverless": 0.70,
"jobs_classic": 0.15,
"jobs_serverless": 0.28
}
# Classic clusters incur idle costs
cluster_hours_per_day = 10 # Cluster runs 10 hours for 4 hours of actual work
serverless_hours = hours_active # Only pay for actual compute
classic_monthly = daily_dbus * cluster_hours_per_day * rates[f"{workload_type}_classic"] * 30
serverless_monthly = daily_dbus * serverless_hours * rates[f"{workload_type}_serverless"] * 30
return {
"classic": classic_monthly,
"serverless": serverless_monthly,
"savings_percent": (classic_monthly - serverless_monthly) / classic_monthly * 100
}Serverless, ani artisli, tahmin edilemeyen is yukleri icin uygundur. Klasik compute, kumelerin tam kapasiteye yakin calistigi surekli, tahmin edilebilir isleme icin kazanir.
Soru 4: Spark 4.2'nin Auto CDC'si geleneksel CDC araclariyla nasil karsilastirilir?
Mulakatcilarin degerlendirdigi: Degisiklik veri yakalama desenlerinin ve operasyonel odunlesimlerin anlasilmasi.
Karsilastirma noktalari:
Apache Spark 4.2 surumu CDC'yi sorgu motoruna yerlestiriyor:
| Boyut | Spark 4.2 Auto CDC | Debezium/Kafka | Ozel Timestamp CDC | |-------|-------------------|----------------|--------------------| | Kurulum Karmasikligi | Dusuk | Yuksek | Orta | | Gercek Zamanli Gecikme | Dakikalar | Saniyeler | Dakikalar ila saatler | | Kaynak Veritabani Yuku | Yok | Log okuma | Sorgu tabanli | | Tarihsel Sorgular | Yerlesik | Tutma gerektirir | Sinirli | | Sema Evrimi | Otomatik | Yapilandirma gerekli | Manuel |
Auto CDC, dakika duzeyinde gecikmenin kabul edilebildigi analitik is yukleri icin mukemmeldir. Saniyenin altindaki gereksinimler icin Kafka ile Debezium standart yaklasim olarak kalmaktadir.
Pratik Karar Cercevesi
Bu cerceve, belirli bir kurulus veya proje icin Spark vs Databricks degerlendirilirken kullanilabilir.
Kendi Kendine Yonetilen Spark'i Seciniz:
- Takimin mevcut Spark ve Kubernetes uzmanligi varsa
- Is yukleri tahmin edilebilir ve surekli calisiyorsa
- Verilerin sirket ici veya belirli bolgelerde kalmasi gerekiyorsa
- Kurulus zaten veri platformu altyapisini isletiyorsa
- Maliyet duyarliligi operasyonel kolayliktan onemli ise
Databricks'i Seciniz:
- Uretime gecis suresi sorgu basina maliyetlerden daha onemliyse
- Takim derin Spark operasyon uzmanligi bulunmuyorsa
- Yonetisim ve uyumluluk gereksinimleri denetim izleri gerektiriyorsa
- ML is akislari entegre deney izleme ve model sunumu gerektiriyorsa
- BI is yukleri serverless olceklendirmeden faydalaniyorsa
Apache Airflow pipeline orkestrasyonu ve ETL desenleri hakkinda mulakat hazirligi icin SharpSkill soru modulleri yapilandirilmis pratik saglar.
Pratik yapmaya başla!
Mülakat simülatörleri ve teknik testlerle bilgini test et.
Sonuc
- Apache Spark 4.2, Auto CDC, Metric Views ve Real-Time Mode'u dogal ozellikler olarak sunarak harici arac ihtiyacini azaltiyor
- Databricks, Spark temeli uzerine Unity Catalog yonetisimi, Photon hizlandirmasi ve serverless compute ekliyor
- Kendi kendine yonetilen Spark, tahmin edilebilir is yukleri icin dusuk maliyetler ve maksimum mimari esneklik sunuyor
- Databricks, derin Spark uzmanligi olmayan takimlar icin operasyonel yuku azaltiyor ve uretime gecis suresini hizlandiriyor
- Mulakat basarisi hem teknik farkliliklari hem de platform secimini yonlendiren is odunlesimlerini anlamayi gerektiriyor
- Dogru secim takim yeteneklerine, maliyet modeline, uyumluluk gereksinimlerine ve is yuku ozelliklerine baglidir

Yazan:
Anthony Fillion-MailletFullstack geliştirici, SharpSkill kurucusu
10 yılı aşkın süredir fullstack geliştirici. SharpSkill’i yönetiyor ve burada yayımlanan her şeyden sorumlu.
19 Ağustos 2026 tarihinde güncellendi
Paylaş
İlgili makaleler

2026'da Delta Lake vs Apache Iceberg: Lakehouse Mimarisi ve Mülakat Soruları
Delta Lake ve Apache Iceberg karşılaştırması - modern data lakehouse mimarisini güçlendiren iki önde gelen açık tablo formatı. Temel farklılıkları, pratik kod örneklerini ve veri mühendisleri için sık sorulan mülakat sorularını keşfedin.

2026'da Snowflake: Mimari, SQL ve Veri Mühendisi Mülakat Soruları
Veri mühendisleri için 2026 Snowflake mimarisi rehberi: depolama ile işlem gücünün nasıl ayrıldığı, sanal warehouse'ların ve micro-partition'ların nasıl çalıştığı ve üretim deneyimini ölçen mülakat soruları.

Apache Airflow 2026: Pipeline Orkestrasyonu, DAG Mimarisi ve Mülakat Soruları
Apache Airflow 3.2 ile Task SDK kullanarak DAG yazımı, dinamik görev eşlemesi, asset partition desteği ve veri mühendisliği mülakatlarında karşılaşılan soruları kapsayan uygulamalı rehber.