Merhaba, ben Deniz 👋

Veri mühendisliği ve dağıtık sistemler üzerine notlar. Veri ambarlarından modern lakehouse mimarilerine; kaynaktaki veriyi analitik ve makine öğrenmesine taşıyan uçtan uca veri hatları üzerine yazıyorum.

Son yazılar

Tümü →

Chicago'da Kaç Piyano Akortçusu Var? Fermi Problemleri ve Tahmin Sanatı

Elinizde hiçbir veri, ölçüm aracı ya da kaynak yokken devasa bir soruya nasıl makul bir cevap verilir? Enrico Fermi, tam da bunu yapabilmesiyle tanınıyordu. Bu yazı Fermi problemlerinin ne olduğunu, ünlü piyano akortçusu sorusunun adım adım nasıl çözüldüğünü, bu yöntemin neden şaşırtıcı derecede isabetli sonuçlar verdiğini ve Google'dan McKinsey'e mülakatlarda neden hâlâ sorulduğunu ele alıyor — sonunda da aynı yöntemi bir veri mühendisliği kapasite hesabına uyguluyor.

Fermi ProblemleriTahminProblem ÇözmeMülakatKapasite PlanlamaVeri Mühendisliği
Devamını oku →

Hangi Veri Nereye: Data Warehouse, Lakehouse ve Gerçek Zamanlı Analitik Store

Analitik verinin üç klasik adresi vardır: temiz ve modellenmiş Data Warehouse, ham dosyayla açık tabloyu aynı çatıda tutan Lakehouse, ve olay akışını saniye altında sorgulatan gerçek zamanlı analitik store (ClickHouse, Druid, Pinot, Azure Data Explorer). Bu yazı "hangi veri nereye?" sorusunu üçünün kimliği, karar sinyalleri, sınavların ve mimarların sevdiği tuzaklar ve gerçek dünyada üçünün bir arada nasıl aktığı üzerinden cevaplıyor.

Data WarehouseLakehouseGerçek Zamanlı AnalitikOLAPVeri MimarisiBig Data
Devamını oku →

Dil > Framework > Kütüphane: Doğru Ama Eksik Bir Hiyerarşi

Bu tanıdık sıralama kapsam açısından doğru, ama framework ile kütüphaneyi ayıran asıl çizgiyi — kontrolün kimde olduğunu — gizliyor. Bağımsız ve frameworke bağımlı kütüphaneler, "kütüphane yeter" ile "framework şart" arasındaki karar, bir aracı sormadan teşhis etmenin yolları ve Spark, Airflow, Kafka, dbt'nin bu tabloda hiç beklenmedik yeri.

FrameworkKütüphanePythonSparkVeri MühendisliğiBackend
Devamını oku →

SQL Neden "Esnek" Sayılmaz — ve Neden Doğru Soru "SQL mi, NoSQL mi" Değil?

ALTER TABLE ile bir kolon saniyeler içinde ekleniyorsa SQL'e neden "esnek değil" deniyor? Çünkü esneklik iki ayrı şeydir: kolon eklemenin mikro esnekliği ile milyarlarca satırı kesintisiz değiştirmenin, şemasız veri tutmanın ve yatay ölçeklenmenin mimari esnekliği. Bu yazı, SQL'in katılığının bir kusur değil bilinçli bir güvenlik tercihi olduğunu ve gerçek dünyanın cevabının ikisini aynı projede birleştirmek (polyglot persistence) olduğunu anlatıyor.

SQLNoSQLVeritabanıPolyglot PersistenceÖlçeklemeBackend
Devamını oku →

Aynı SELECT, Bambaşka Bir Motor: DataFrame Nedir, PySpark Neden Var?

spark.sql("SELECT ...") satırındaki SELECT, yıllardır Oracle'da ya da PostgreSQL'de yazdığınızla aynı — peki onu saran PySpark ne işe yarıyor? DataFrame kavramından pandas ile Spark DataFrame farkına, dönüşümü neden salt SQL ile yazmadığımızdan sektördeki SQL/PySpark dengesine; ve en önemlisi, aynı sözdiziminin altında motoru, verinin durduğu yeri ve ölçekleme modelini tamamen değiştiren ayrıma — klasik SQL refleksleriyle kurulan bir yazı.

DataFramePySparkSpark SQLSQLVeri MühendisliğiBackend
Devamını oku →