# 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. - Published: 2026-08-19 - Updated: 2026-08-19 - Author: Anthony Fillion-Maillet - Reading time: 5 min --- 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. > **Temel Ayrimi** > > 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](https://spark.apache.org/news/spark-4-2-0-released.html) 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. ```sql -- 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. ```sql -- 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](https://www.databricks.com/blog/introducing-apache-spark-42), bunun checkpoint yonetimi ve hata kurtarma ile ilgili operasyonel yuku nasil azalttigini vurguluyor. ```python # 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](https://docs.databricks.com/aws/en/release-notes/product/2026/august) 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. ```sql -- 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](https://www.flexera.com/blog/finops/databricks-pricing-guide/) 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. ## 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. ```python # 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](https://atlas.apache.org/) ile entegrasyon veya Spark listener'lari kullanarak ozel cozumler olusturmayi icerir. ```python # 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](/blog/data-engineering/delta-lake-vs-iceberg-lakehouse-interview-2026) 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. ```python # 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](https://spark.apache.org/news/spark-4-2-0-released.html) 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](/technologies/data-engineering/interview-questions/airflow-fundamentals) ve [ETL desenleri](/technologies/data-engineering/interview-questions/etl-elt-patterns) hakkinda mulakat hazirligi icin SharpSkill soru modulleri yapilandirilmis pratik saglar. ## 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 --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/tr/blog/data-engineering/apache-spark-42-vs-databricks-2026-comparison-interview