smaple.tr
veri senkronizasyon

Gerçek Zamanlı Veri Senkronizasyon ve Change Detection [2026]

Mehmet Kurtipek
7 Mayıs 2026
10 dk okuma
veri senkronizasyon
change detection
CDC
incremental crawling
veri tazeliği
polling
webhook
gerçek zamanlı veri

Veri Senkronizasyonu Neden Kritik?

Agregatör platformlar, e-ticaret siteleri ve veri odaklı uygulamalar, farklı kaynaklardan topladıkları verilerin güncel ve tutarlı kalmasına bağımlıdır. Bir fiyat karşılaştırma sitesinde eski fiyat göstermek kullanıcı güvenini sarsar, bir emlak platformunda satılmış bir ilanı aktif göstermek itibar kaybına yol açar. Veri tazeliği, doğrudan kullanıcı deneyimini ve iş sonuçlarını etkiler.

2026 itibarıyla veri hacimlerinin katlanarak artmasıyla birlikte, geleneksel toplu güncelleme yaklaşımları yerini olay tabanlı, artımlı ve akıllı senkronizasyon mimarilerine bırakmaktadır. Milyonlarca kaydı periyodik olarak yeniden çekmek hem maliyetli hem de verimsizdir. Bu rehberde, verileri güncel tutmanın modern yaklaşımlarını, her birinin avantaj ve dezavantajlarını ve pratik uygulama stratejilerini detaylı olarak inceleyeceğiz.

Change Data Capture (CDC) Desenleri

Change Data Capture, kaynak sistemdeki veri değişikliklerini yakalayarak hedef sistemlere aktarma sürecidir. CDC, tam tablo taramalarına kıyasla çok daha verimli bir senkronizasyon yöntemidir ve yalnızca değişen verileri işleyerek kaynak tüketimini minimumda tutar.

Log Tabanlı CDC

Veritabanı transaction log'larını okuyarak değişiklikleri yakalayan bu yöntem, kaynak sistem üzerinde minimum yük oluşturur. PostgreSQL'de WAL (Write-Ahead Log), MySQL'de binlog ve MongoDB'de oplog bu amaçla kullanılır. Debezium, log tabanlı CDC için en yaygın kullanılan açık kaynak çözümdür ve Kafka Connect ile entegre çalışarak değişiklikleri olay akışına dönüştürür.

Log tabanlı CDC'nin avantajları arasında kaynak veritabanına ek sorgu yükü bindirmemesi, tüm değişiklikleri (INSERT, UPDATE, DELETE) sıralı biçimde yakalaması ve milisaniye düzeyinde gecikme sunması sayılabilir. Ayrıca schema değişikliklerini de yakalaması, veri modeli evrimini takip etmeyi kolaylaştırır. Ancak bu yöntemin kurulumu daha karmaşıktır ve veritabanı log formatına doğrudan bağımlılık oluşturur.

Sorgu Tabanlı CDC

Kaynak tablolardaki timestamp veya versiyon sütunlarını kullanan bu yöntem, belirli aralıklarla "son güncellemeden bu yana ne değişti?" sorgusunu çalıştırır. Uygulanması daha kolaydır ancak silme işlemlerini yakalamak için soft delete mekanizması gerektirir ve sorgu aralıkları arasında geçici tutarsızlıklar oluşabilir.

Sorgu tabanlı CDC, veritabanı log'larına erişimin mümkün olmadığı durumlarda veya harici API'lerden veri çekerken tercih edilir. Her tabloda updated_at ve is_deleted gibi sütunların bulunması bu yaklaşımın temelini oluşturur. High watermark pattern ile son işlenen timestamp saklanarak, bir sonraki sorguda yalnızca o tarihten sonraki değişiklikler çekilir.

Trigger Tabanlı CDC

Veritabanı trigger'ları kullanarak her değişiklikte bir change log tablosuna kayıt yazmak, bir diğer CDC yöntemidir. Bu yaklaşım her değişikliği anında yakalar ancak kaynak veritabanı üzerinde performans etkisi oluşturabilir. Yoğun yazma iş yüklerinde dikkatli kullanılmalıdır. Change log tablosunun düzenli olarak temizlenmesi ve arşivlenmesi, depolama büyümesini kontrol altında tutmak için gereklidir.

Incremental ve Full Crawling Stratejileri

API veya doğrudan veritabanı erişimi olmayan kaynaklardan veri toplarken, crawling stratejisi veri tazeliği ve kaynak kullanımı arasındaki dengeyi belirler. Doğru strateji seçimi, hem platform maliyetlerini hem de veri kalitesini doğrudan etkiler.

Akıllı Crawling Zamanlama

Her sayfayı aynı sıklıkta taramak verimsizdir. Akıllı zamanlama stratejisi, sayfalara değişim sıklığına göre öncelik atar. Sık değişen sayfalar (popüler ürünler, dinamik fiyatlar) daha sık taranırken, nadiren değişen sayfalar (ürün açıklamaları, statik bilgiler) daha seyrek kontrol edilir. Adaptive crawling algoritmaları, her URL'nin geçmiş değişim oranını analiz ederek optimal tarama aralığını dinamik olarak belirler.

Bu strateji, crawl_interval değerini son değişiklik tarihine, ortalama değişim sıklığına ve içerik önceliğine göre hesaplar. Yüksek değişim sıklığına sahip sayfalar için tarama aralığı kısaltılırken, düşük değişim gösteren sayfalar için uzatılır. Bayesian optimizasyon teknikleri, tarama aralığını sürekli iyileştirerek kaynakları en verimli biçimde kullanmayı sağlar.

Incremental Crawling Teknikleri

Tam sayfa taraması yerine yalnızca değişen bölümleri tespit etmek, bant genişliği ve işlem gücünden tasarruf sağlar. HTTP ETag ve Last-Modified başlıkları, sunucu tarafında değişiklik kontrolü sağlar. Content hashing ile sayfa içeriğinin hash değeri karşılaştırılarak gerçek değişiklik tespit edilir. Conditional GET istekleri, değişmeyen sayfalarda tam içerik transferini önler. DOM diffing teknikleri ise sayfanın yalnızca değişen bölümlerini belirleyerek işleme maliyetini azaltır.

Sitemap ve Feed Tabanlı Crawling

XML sitemap'ler ve RSS/Atom feed'leri, içerik değişikliklerini yapılandırılmış biçimde bildiren mekanizmalardır. lastmod bilgisi içeren sitemap'ler, hangi sayfaların değiştiğini hızlıca belirlemeye yardımcı olur. Bu yaklaşım, tam site taramasına kıyasla çok daha az kaynak tüketir ve kaynak site üzerindeki yükü minimumda tutar. Ancak tüm siteler güvenilir lastmod bilgisi sunmaz; bu durumda sitemap verisi, gerçek sayfa taramasıyla doğrulanmalıdır.

Polling ve Webhook Tabanlı Güncelleme

Veri kaynaklarının güncelleme bildirimi sunup sunmadığına göre farklı stratejiler uygulanır. Pratikte çoğu sistem, her iki yaklaşımı da hibrit biçimde kullanır.

Polling Stratejileri

Periyodik olarak kaynak sistemleri sorgulayan polling, en yaygın güncelleme yöntemidir. Polling aralığını belirlerken veri tazeliği gereksinimleri, API rate limit'leri, kaynak sistem kapasitesi ve maliyet faktörleri dengelenmelidir.

Exponential backoff stratejisi, değişiklik tespit edilmediğinde polling aralığını kademeli olarak uzatır ve değişiklik tespit edildiğinde tekrar kısaltır. Bu yaklaşım, gereksiz sorguları azaltırken önemli değişiklikleri hızlıca yakalar. Jitter eklenmesi, tüm polling işlemlerinin aynı anda çalışmasını önleyerek kaynak sistem üzerindeki yükü dağıtır. Rastgele bir gecikme eklemek, "thundering herd" problemini önlemenin en etkili yoludur.

Webhook Entegrasyonları

Webhook tabanlı güncellemeler, kaynak sistem değişiklik olduğunda hedef sistemi aktif olarak bilgilendirir. Bu push tabanlı yaklaşım, polling'e kıyasla daha düşük gecikme ve daha az kaynak tüketimi sağlar.

Webhook altyapısı tasarlanırken güvenlik doğrulaması (HMAC imzalama), tekrar deneme mekanizması, idempotent işleme, sıralama garantisi ve dead letter queue yönetimi ele alınmalıdır. Webhook'ların güvenilmez olabileceği göz önünde bulundurularak, polling ile birlikte hibrit bir yaklaşım benimsenmesi önerilir. Webhook anlık güncellemeleri sağlarken, polling periyodik tutarlılık kontrolü yapar. Webhook endpoint'lerinin yüksek erişilebilirlikle tasarlanması ve gelen isteklerin hızlıca kabul edilip asenkron olarak işlenmesi, güvenilirliği artırır.

Server-Sent Events ve WebSocket

Gerçek zamanlı veri akışı gerektiren senaryolarda Server-Sent Events (SSE) veya WebSocket kullanılabilir. SSE tek yönlü veri akışı için idealdir ve HTTP altyapısıyla uyumludur. WebSocket çift yönlü iletişim sunar ve daha düşük gecikme sağlar. Fiyat takibi, canlı skor veya borsa verileri gibi sürekli güncellenen veriler için bu yaklaşımlar tercih edilir. Bağlantı kopması durumunda otomatik yeniden bağlanma ve kaçırılan olayların telafisi için last event ID mekanizması kullanılmalıdır.

Veri Tazeliği ve Staleness Yönetimi

Verinin ne kadar güncel olduğunu ölçmek ve yönetmek, veri kalitesinin temel bileşenidir. Tazelik, iş gereksinimlerine göre farklı eşik değerleriyle tanımlanır.

Freshness Score Hesaplama

Her veri kaynağı ve kayıt için bir tazelik skoru hesaplanmalıdır. Bu skor, son güncelleme zamanı, beklenen güncelleme sıklığı ve verinin kritikliği gibi faktörleri hesaba katar. Tazelik skoru sıfır ile bir arasında bir değer olarak ifade edilir; bire yakın değerler güncel veriyi, sıfıra yakın değerler ise bayat veriyi temsil eder. Eksponansiyel bozunma fonksiyonu, verinin yaşına göre tazelik skorunu kademeli olarak düşürür. Farklı veri türleri için farklı bozunma hızları tanımlanmalıdır; fiyat verisi dakikalar içinde bayatlayabilirken, ürün açıklaması günlerce taze kalabilir.

Staleness Tespiti ve Aksiyon

Bayat veri tespit edildiğinde otomatik aksiyonlar tetiklenmelidir. Eşik değerine göre farklı seviyeler tanımlanabilir. Uyarı seviyesinde tazelik düştüğünde öncelikli güncelleme planlanır. Kritik seviyede veri geçici olarak gizlenir veya "bilgi güncel olmayabilir" uyarısı gösterilir. Son olarak, çok uzun süre güncellenemeyen veriler otomatik olarak arşivlenir veya kaldırılır. Kullanıcı arayüzünde "son güncelleme" bilgisini göstermek, şeffaflık açısından güven oluşturur.

Veri Kalitesi Metrikleri

Tazelik dışında doğruluk, tutarlılık ve tamlık metrikleri de izlenmelidir. Kaynak karşılaştırması ile doğruluk kontrolü, farklı kaynaklardan gelen aynı verinin tutarlılık analizi ve eksik alan tespiti otomatize edilmelidir. Bu metriklerin dashboard üzerinden izlenmesi ve anomali tespitinde otomatik bildirim gönderilmesi operasyonel verimliliği artırır. Veri kalitesi SLA'ları tanımlanarak, her kaynak için minimum kalite standartları belirlenmeli ve bu standartların altına düşen kaynaklar hakkında uyarı oluşturulmalıdır.

Conflict Resolution Stratejileri

Birden fazla kaynaktan gelen veya eş zamanlı güncellenen veriler çakışmalara yol açabilir. Çakışma çözüm stratejisi, veri tutarlılığının temelidir.

Last Write Wins (LWW)

En basit çakışma çözüm stratejisi olan LWW, en son güncellenen değeri kabul eder. Timestamp'e dayalı bu yaklaşım uygulanması kolaydır ancak saat senkronizasyon sorunları ve veri kaybı riskleri taşır. Kritik olmayan veriler için uygundur. NTP (Network Time Protocol) ile saat senkronizasyonu sağlanarak LWW'nin güvenilirliği artırılabilir, ancak dağıtık sistemlerde tam saat uyumu garanti edilemez.

Kaynak Önceliklendirme

Her veri kaynağına bir güvenilirlik skoru atanarak çakışmalarda daha güvenilir kaynağın verisi tercih edilir. Resmi API en yüksek önceliğe sahipken, scraping ile elde edilen veri daha düşük önceliğe sahip olabilir. Bu yaklaşım, alan bazında farklılaştırılabilir; örneğin fiyat bilgisi için satıcı API'si, ürün açıklaması için üretici sitesi öncelikli kabul edilebilir. Kaynak güvenilirlik skoru, zaman içinde kaynağın doğruluk performansına göre dinamik olarak güncellenebilir.

Merge Stratejileri

Farklı kaynaklardan gelen verilerin alan bazında birleştirilmesi, daha zengin bir veri seti oluşturur. Her kaynağın güçlü olduğu alanlar belirlenerek bir merge politikası tanımlanır. Çakışma durumunda çoğunluk oyu, en güncel değer veya en güvenilir kaynak gibi kurallar uygulanır. Smart Maple olarak veri yoğun projelerde, merge stratejisinin proje başlangıcında net olarak tanımlanmasının ileride ciddi teknik borç birikimini önlediğini deneyimliyoruz.

Veri Versiyonlama

Verinin zaman içindeki değişimini takip etmek, hem analitik hem de hata ayıklama açısından değerlidir. Versiyonlama, "bu veri neden bu halde?" sorusuna yanıt verebilmeyi sağlar.

Temporal Data Modelleme

Bi-temporal modelleme, verinin hem gerçek dünyada geçerli olduğu zaman (valid time) hem de sisteme kaydedildiği zaman (transaction time) bilgisini saklar. Bu yaklaşım, herhangi bir geçmiş andaki veri durumunu sorgulamaya olanak tanır. Fiyat geçmişi, stok durumu değişiklikleri ve kategori güncellemeleri gibi veriler temporal olarak modellenmelidir. PostgreSQL'in temporal table desteği ve SQL:2011 standardı, bu tür modelleme için güçlü araçlar sunar.

Event Sourcing

Tüm veri değişikliklerini olay akışı olarak saklamak, Event Sourcing deseninin temelidir. Her değişiklik bir olay olarak kaydedilir ve mevcut durum bu olayların sıralı uygulanmasıyla elde edilir. Bu yaklaşım, tam denetim izi, herhangi bir geçmiş duruma geri dönme ve farklı projeksiyon oluşturma imkanı sağlar. Özellikle fiyat takibi ve stok değişikliklerinde olay geçmişi, analitik ve anomali tespiti için paha biçilmez bir kaynaktır.

Snapshot ve Compaction

Event Sourcing'de olay sayısı arttıkça mevcut durumu yeniden oluşturmak maliyetli hale gelir. Belirli aralıklarla snapshot almak, bu sorunu çözer. Eski olayların compaction ile sıkıştırılması, depolama maliyetlerini kontrol altında tutar. Snapshot aralığı, olay hacmi ve sorgu performansı gereksinimlerine göre ayarlanmalıdır. Kafka'da log compaction özelliği, her anahtar için yalnızca son değeri tutarak depolama verimliliği sağlar.

Gerçek Zamanlı Senkronizasyon Mimarileri

Event-Driven Mimari

Apache Kafka veya RabbitMQ gibi mesaj kuyrukları üzerine kurulu event-driven mimari, gerçek zamanlı senkronizasyonun omurgasını oluşturur. Her veri değişikliği bir olay olarak yayınlanır, ilgili tüketici servisler bu olayları işleyerek kendi veri depolarını günceller. Bu gevşek bağlı mimari, bileşenlerin bağımsız ölçeklenmesini ve hata izolasyonunu sağlar. Kafka Streams veya Apache Flink gibi stream processing araçları, olayları gerçek zamanlı olarak dönüştürme ve zenginleştirme imkanı sunar.

CQRS (Command Query Responsibility Segregation)

Yazma ve okuma modellerini ayırmak, veri senkronizasyon senaryolarında önemli avantajlar sunar. Yazma tarafında normalleştirilmiş veri modeli kullanılırken, okuma tarafında sorgu desenlerine optimize edilmiş denormalize görünümler oluşturulur. Bu ayrım, her iki tarafın bağımsız ölçeklenmesini ve optimize edilmesini sağlar. Eventual consistency modeli kabul edilmeli ve okuma tarafındaki gecikme süresi izlenmelidir.

Outbox Pattern

Mikroservis mimarisinde veritabanı güncellemesi ve olay yayınlamasının atomik olarak gerçekleştirilmesi zorludur. Outbox pattern, değişikliği ve olayı aynı veritabanı transaction'ı içinde yazarak tutarlılığı garanti eder. Ayrı bir süreç outbox tablosundaki olayları okuyarak mesaj kuyruğuna iletir. Debezium'un outbox event router'ı, bu deseni Kafka Connect altyapısı üzerinde uygulamayı kolaylaştırır.

İzleme ve Operasyonel Yönetim

Senkronizasyon Metrikleri

Veri senkronizasyonunun sağlığını izlemek için temel metrikler tanımlanmalıdır. Ortalama ve maksimum gecikme süresi (lag), başarılı ve başarısız senkronizasyon sayısı, saniyedeki olay işleme kapasitesi (throughput), kuyruk derinliği ve birikme trendi ve kaynak bazında tazelik dağılımı bu metriklerin başlıcalarıdır. Grafana ve Prometheus gibi araçlarla bu metriklerin gerçek zamanlı izlenmesi, sorunların erken tespitini sağlar.

Otomatik Kurtarma Mekanizmaları

Senkronizasyon hataları kaçınılmazdır. Dead letter queue ile işlenemeyen olayların saklanması, otomatik retry mekanizmaları, circuit breaker ile hatalı kaynaklara baskının azaltılması ve tam yeniden senkronizasyon tetikleme mekanizması gibi kurtarma stratejileri uygulanmalıdır. Her hata senaryosu için runbook hazırlanması ve otomatik kurtarma adımlarının tanımlanması, operasyonel yükü azaltır.

Kapasite Planlama

Veri hacmi ve güncelleme sıklığına göre kaynak planlama yapılmalıdır. Kafka partition sayısı, consumer grup boyutu, veritabanı bağlantı havuzu ve depolama kapasitesi gibi parametreler önceden planlanmalı ve büyüme projeksiyonlarına göre ölçeklenmelidir. Yük testi ile darboğaz noktaları belirlenmeli ve kapasite planı düzenli olarak gözden geçirilmelidir.

Sonuç

Gerçek zamanlı veri senkronizasyonu, modern veri platformlarının temel gereksinimlerinden biridir. CDC desenleri, akıllı crawling stratejileri, webhook entegrasyonları ve event-driven mimariler, farklı senaryolar için uygun çözümler sunar. Başarılı bir senkronizasyon stratejisi, veri tazeliğini ölçer, çakışmaları tutarlı biçimde çözer, değişiklikleri versiyonlar ve tüm süreci izlenebilir kılar. Doğru mimari kararlarla kurulan bir senkronizasyon altyapısı, platformun güvenilirliğini ve kullanıcı deneyimini doğrudan iyileştirir. Teknoloji seçiminden operasyonel yönetime kadar her katmanda bilinçli kararlar almak, sürdürülebilir ve ölçeklenebilir bir veri platformunun anahtarıdır.

İlgili Makaleler

10 Ağustos 2026

MLOps Rehberi: Makine Öğrenmesi Modellerini Production'a Taşıma

Giriş: MLOps Nedir ve Neden Önemlidir? Makine öğrenmesi modelleri geliştirmek günümüzde nispeten kolaydır. Açık kaynak kütüphaneleri kullanarak son derece başarılı modeller oluşturabiliriz. Ancak bu modelleri production ortamına taşıyarak, ölçeklendirebilir, güvenilir ve sürdürülebilir şekilde çalıştırmak tamamen farklı bir hikayedir. Araştırmalara göre, veri bilimcileri tarafından geliştirilen makine öğrenmesi modellerinin %87'si hiçbir zaman production ortamına ulaşmaz. Bu başarısızlı

Devamını Oku: MLOps Rehberi: Makine Öğrenmesi Modellerini Production'a Taşıma
9 Ağustos 2026

LLM Fine-Tuning ve Özel Model Eğitimi Rehberi [2026]

LLM Fine-Tuning: Kurumsal Yapay Zeka Stratejisinin Temel Taşı Büyük dil modelleri (LLM), genel amaçlı metin üretimi ve anlama konusunda etkileyici performans sergiliyor. Ancak kurumsal ortamlarda belirli bir alan, terminoloji veya iş sürecine uyum sağlamaları gerektiğinde, genel bilgileri çoğu zaman yetersiz kalıyor. Bu noktada fine-tuning, yani ince ayar süreci devreye giriyor. Fine-tuning sayesinde mevcut bir temel modeli, kendi verileriniz ve ihtiyaçlarınız doğrultusunda özelleştirmek

Devamını Oku: LLM Fine-Tuning ve Özel Model Eğitimi Rehberi [2026]
8 Ağustos 2026

Bilgisayarlı Görü Uygulamaları: Nesne Tespiti, OCR ve Endüstriyel AI

Bilgisayarlı Görü Uygulamaları: Endüstriyel ve Medikal AI'nin Temel Teknolojisi Bilgisayarlı görü, makine öğrenmesinin en etkili alanlarından biridir. Türkiye'de yaşanan dijital dönüşüm sürecinde, özellikle üretim, sağlık ve lojistik sektörlerinde görü tabanlı otomasyon kritik hale gelmiştir. Smart Maple olarak Ankara'da geliştirdiğimiz çözümler, son beş yılda 150+ kuruluşunun üretim verimliliğini ortalama %35 oranında artırmıştır. Bu rehberde, bilgisayarlı görü teknolojisinin iş değeri

Devamını Oku: Bilgisayarlı Görü Uygulamaları: Nesne Tespiti, OCR ve Endüstriyel AI