DATA ENGINEERING NEDİR?

Kaynaktan ambara akan veri pipeline metaforu üç aşamalı veri mühendisliği akış sembolü

Bir veri bilimcinin gününü inceleyen anketler yıllardır aynı sonucu söylüyor: zamanın yaklaşık %70-80'i modeli kurmaya değil, veriyi temizlemeye, birleştirmeye ve kullanılabilir hale getirmeye gidiyor. Bu sahnenin arkasındaki sessiz iş data engineering'tir. Şirketler analitik ve yapay zeka yatırımlarından gerçek değer almak istediklerinde önce iş bu altyapıya geldiği için veri mühendisliği son yıllarda en hızlı büyüyen tech rollerinden biri oldu. Bu yazı, kavramı sıfırdan öğrenmek isteyenler ve veri kariyerini hangi tarafa yönlendireceğine karar veren okuyucular için pratik bir başlangıç noktası.

Data Engineering Nedir, Ne İş Yapar

Data engineering, bir kuruluşun ürettiği veya dışarıdan aldığı verinin toplanması, taşınması, dönüştürülmesi, depolanması ve analiz/uygulama katmanına hazır hale getirilmesi sürecidir. Veri mühendisi bu süreci tasarlayan, kuran ve işleten kişidir.

İşin somut çıktıları: bir ödeme sistemindeki her işlemi gerçek zamanlı olarak veri ambarına akıtan bir pipeline, beş farklı SaaS aracından gelen müşteri verisini tek bir tabloda birleştiren bir ETL akışı, ya da makine öğrenmesi modelinin eğitimi için günlük olarak hazırlanan temizlenmiş bir veri seti. Veri mühendisi olmadan veri bilimci elde malzemesiz kalır, BI ekibi rapor üretemez, ürün ekibi kullanıcı davranışını ölçemez. Disiplinin kapsamı ve terminolojisi için konuya ilişkin ayrıntılı kaynaklar kavramı bütünüyle ele alan iyi bir referans noktasıdır.

Data Engineer ve Data Scientist Farkı

Bu iki rol sık sık karıştırılır ama farklı problemleri çözer:

  • Data engineer: Verinin akışını, kalitesini ve erişilebilirliğini kurar. Sistem ve altyapı odaklıdır. SQL, Python, dağıtık sistemler, cloud servisleri ana araçlarıdır.
  • Data scientist: Hazır veriden anlam çıkarır. İstatistik, makine öğrenmesi, modelleme odaklıdır. Notebook ortamında pandas, scikit-learn, deep learning kütüphaneleri kullanır.
  • Data analyst: Mevcut veriyi rapora, dashboard'a, iş kararına dönüştürür. SQL ve görselleştirme araçları ön plandadır.

Basit bir benzetme: veri mühendisi su şebekesini kurar, veri bilimci suyu içme suyuna çevirir, veri analisti suyu evlere dağıtır. Şebeke yoksa diğer ikisi çalışamaz.

Extract Transform Load üç aşamalı ETL pipeline detaylı diyagram kaynak silindir dönüşüm hunisi hedef ambar

Veri Pipeline'ı ve ETL/ELT

Veri mühendisliğinin merkezindeki kavram veri pipeline'ıdır. Pipeline, verinin bir kaynaktan alınıp bir hedefe ulaşana kadar geçtiği işlem zinciridir. Klasik üç aşaması vardır:

  1. Extract (Çıkarma): Veri kaynağından — uygulamanın veritabanından, üçüncü taraf API'den, log dosyasından, IoT cihazından — okunur.
  2. Transform (Dönüştürme): Veri temizlenir, normalize edilir, birleştirilir, hesaplanmış alanlar eklenir, hatalı kayıtlar elenir.
  3. Load (Yükleme): Sonuç hedef sisteme — genellikle veri ambarına veya göllerine — yazılır.

Klasik sıra ETL'dir. Modern bulut ambarlarında (Snowflake, BigQuery, Redshift) hesaplama gücü ucuzladığı için sıra ELT'ye kaydı: ham veri önce ambara yüklenir, dönüşüm ambar içinde SQL ile yapılır. Bu yaklaşım esneklik kazandırır çünkü ham veri kaybedilmez; gelecekte yeni dönüşüm ihtiyacı doğduğunda yeniden uygulanabilir.

Batch ve Streaming Pipeline

Pipeline'lar iki temel modda çalışır. Batch işlem saatlik veya günlük olarak toplu veri taşır — finansal raporlama, müşteri segmentasyonu, depo stok özetleri için uygundur. Streaming işlem veriyi olaylar oluştukça gerçek zamanlı taşır — dolandırıcılık tespiti, canlı öneri sistemleri, sensör verisi izleme için zorunludur. Apache Kafka, Apache Flink ve AWS Kinesis streaming dünyasının yaygın araçlarıdır.

Modern Data Stack

Son beş yılda veri mühendisliği araç ekosistemi köklü değişti. "Modern data stack" denen yapı genellikle şu katmanlardan oluşur:

  • Ingestion: Fivetran, Airbyte, Stitch — kaynak sistemlerden veriyi otomatik çekme
  • Storage / Warehouse: Snowflake, BigQuery, Redshift, Databricks — merkezi veri ambarı/gölü
  • Transformation: dbt (data build tool) — SQL tabanlı modüler dönüşüm
  • Orchestration: Apache Airflow, Prefect, Dagster — pipeline'ların zamanlanması ve bağımlılık yönetimi
  • BI / Analytics: Looker, Tableau, Power BI, Metabase — son kullanıcı arayüzü
  • Observability: Monte Carlo, Great Expectations — veri kalitesi ve anomali takibi

Bu stack on yıl önce her şirketin sıfırdan inşa ettiği özel boru hatlarının yerini aldı. Bugün bir veri ekibinin haftalar süren entegrasyon işi, doğru araçlar seçildiğinde günlere iniyor.

Veri Mühendisliği için Gerekli Beceriler

Veri mühendisi olmak için ihtiyaç duyulan teknik yetkinlikler oldukça geniş bir yelpazede:

  • SQL: İşin omurgası. Window functions, CTE'ler, query optimization yetkinliği temel beklenti.
  • Python (veya Scala/Java): Pipeline kodunu yazmak, API entegrasyonu kurmak, otomasyon için.
  • Veri ambarı bilgisi: Snowflake, BigQuery, Redshift gibi bir bulut ambarında derinleşmek.
  • Dağıtık sistemler: Spark, Hadoop ekosistemi büyük veri ile çalışmak için.
  • Bulut servisleri: AWS, GCP veya Azure üzerinde veri servisleri (S3, Lambda, Glue, Dataflow vb.).
  • Veri modelleme: Dimensional modeling, Data Vault, normalize/denormalize tasarım.
  • Linux ve CLI: Sunucu üzerinde iş yapmanın temel ön koşulu.
  • Git ve CI/CD: Pipeline kodu da bir yazılım ürünüdür, versiyonlanır ve test edilir.

Bu becerilerin pratik uygulamasını sistematik biçimde edinmek isteyenler data engineering eğitimi içeriğinde modern stack araçlarını gerçek senaryolarla işleyen yapılandırılmış bir yol bulabilir.

Gerçek Bir Veri Akışı Senaryosu

Bir e-ticaret şirketinin tipik bir günü düşünelim. Sabah 06:00'da Airflow'da zamanlanmış bir DAG tetiklenir. Şu adımları sırayla çalıştırır:

  1. Üretim veritabanından önceki günün siparişleri okunur (Extract).
  2. Eş zamanlı olarak Google Analytics ve Facebook Ads API'lerinden trafik ve reklam verisi çekilir.
  3. Tüm bu kaynaklar Snowflake ambarındaki ham (raw) şemaya yüklenir (Load).
  4. dbt modelleri çalışır: siparişler temizlenir, müşteri kimlikleri eşleştirilir, dönüşüm oranı, müşteri yaşam boyu değeri gibi metrikler hesaplanır (Transform).
  5. Great Expectations veri kalitesi testleri çalışır — eksik alan, anormal değer aralığı, beklenmedik tablo boyutu kontrol edilir.
  6. Looker dashboard'ları yeni veriye otomatik yenilenir; yönetim ekibi sabah toplantısına hazır rapora oturur.

Pipeline'ın herhangi bir adımı hata verdiğinde Airflow nöbet aldığı kişiye Slack üzerinden alarm gönderir. Sorun çözülene kadar dashboard'lar bir önceki günün verisini gösterir. Bu disiplinli kurgu, veri mühendisliğinin yazılım mühendisliğine ne kadar yakın çalıştığını gösterir.

Hangi Sektörler ve Şirketler Veri Mühendisliğine İhtiyaç Duyar

Veri üreten her sektör ihtiyaç duyar — ama yoğunluk farklıdır. Bankacılık ve sigorta düzenleyici raporlama için kurulu pipeline'lara mecburdur. Telekom milyarlarca olay/gün üreten ağ verisini işler. E-ticaret pazarlama, stok, fiyatlandırma ve öneri için sürekli veri akışına bağımlıdır. Sağlıkta hasta verisi, üretimde IoT/sensör verisi, oyun sektöründe oyuncu telemetrisi veri mühendisliğine yapılan yatırımı yönlendirir.

Küçük bir şirketin başlangıçta tek bir veri mühendisi olabilir; büyük bir bankada veri platform ekibi yüzü aşar. Rolün talep eğrisi son beş yılda sürekli yukarıda; bu eğilim AI/ML uygulamalarının yaygınlaşmasıyla daha da güçleniyor.

Yaygın Yanılgılar

Data engineering hakkında iş ilanlarında ve sohbetlerde sık duyulan yanlış anlamalar var:

  • "Data engineering basit ETL'dir." Pipeline yazmak işin yalnızca bir parçası. Mimari, ölçeklenebilirlik, gözlemlenebilirlik, maliyet optimizasyonu, veri yönetişimi de işin içinde.
  • "Sadece SQL bilmek yeter." SQL omurgadır ama tek başına yetmez. Programlama, sistem tasarımı, cloud bilgisi zorunlu.
  • "DBA ile aynı iş." Veritabanı yöneticisi tek bir sistemi yönetir; veri mühendisi farklı sistemler arası veri akışını tasarlar.
  • "Data scientist'in ön hazırlığını yapar." Tam tersi: çoğu zaman veri mühendisi olmadan bilim katmanı kurulamaz. Hiyerarşi değil, paralel iş.

Veri mühendisliği yazılım mühendisliği, sistem yöneticiliği ve istatistiğin kesişiminde olan, somut iş çıktısı üreten teknik bir disiplindir. Veri ile uğraşan her organizasyon için omurgadır; eksik kaldığında analitik ve yapay zeka yatırımları boşa düşer.