Ana içeriğe atla
SQLOZ
Bölüm 7 Şema ve Model Mimarisi

Bölüm 7: Veri Karşılaştırma ve Senkronizasyon

Bilgi: Bu bölüm; iki veritabanındaki verinin satır bazında karşılaştırılmasını, etki analizi raporlarını, throttle gecikmesini, onaylı kararları ve yapılandırılmış yedekleme/rollback güvencesini açıklar.

Bu bölümde:

7.1 Satır Bazında Veri Karşılaştırma

İki veritabanı arasında veri senkronizasyonu yapmak, önceden her satır için bir karar gerektirir. Körlemesine kopyalama, hedefteki veriyi bozabilir.

  1. Menüden Araçlar → Veriyi Karşılaştır… seçeneğini açın.
  2. Kaynak ve hedef tabloları eşleştirin (örn. users → users).
  3. Veriyi Karşılaştır ile satır bazında karşılaştırmayı başlatın. Sonuçlar bir karar tablosunda sunulur:
    • 🟢 Eklenecek satırlar (INSERT): Hedefte mevcut olmayan satırlar.
    • 🟡 Değiştirilecek satırlar (UPDATE): Aynı kimliğe sahip ama farklı değerlere sahip satırlar.
    • 🔴 Hedefteki fazlalık satırlar (DELETE): Kaynakta silinen ama hedefte hâlâ mevcut olan satırlar.

7.2 Uçuş Öncesi Etki Analizi Raporu

Senkronizasyonu uygulamadan önce SQLOZ, hesaplanan değişiklik özetini ve güvenlik kararını gösterir:

Uçuş Öncesi Etki Analizi Raporu: - Eklenecek kayıt: 1.420 (INSERT)

  • Güncellenecek kayıt: 85 (UPDATE)
  • Silinecek kayıt: 0 (DELETE)
  • Toplam değişiklik: 1.505
  • Tahmini çalışma süresi: 0,75 sn

Bu değişiklikleri hedef veritabanına uygulamak istediğinizden emin misiniz? [İptal] [Senkronizasyonu Uygula]

7.3 Throttle Gecikmesi

Çok büyük tabloları senkronize ederken ardışık INSERT’ler hedefe yük bindirerek replikasyon gecikmesini artırabilir.

Veri Karşılaştırma araç çubuğundaki Throttle Gecikmesi (ms) alanına bir milisaniye değeri girin (örn. 100 ms). SQLOZ, ani yük artışını ve replikasyon gecikme riskini azaltmak için her chunk transferinden sonra bu süre kadar bekler.

7.4 Otomatik Veri Yedekleme ve Rollback

Hedef ve policy desteklediğinde, veri senkronizasyonu değişiklikler uygulanmadan önce Yedekleme Tablosu (sqloz_bak…) güvencesini kullanabilir. Pencerede gösterilen durumu inceleyin; bir öneri veya devre dışı durum, yedeklemenin oluşturulduğunun kanıtı değildir.

  1. Yedekleme güvencesi: Etkinleştirilip başarıyla tamamlandığında, hedef tablonun güvenlik yedeği senkronizasyondan önce kaydedilir. Tam yedekleme mekanizması ve eylemin mevcut olup olmadığı, hedef satıcıya ve mevcut policy’ye bağlıdır.
  2. Veri kurtarma (rollback SQL): Bir rollback betiği mevcut olduğunda, planlanan değişiklikler için satır düzeyinde tersine işlemleri içerir. Diff’e bağlı olarak bu işlemler; hedef tablodaki önceki değerleri geri yükleyen DELETE, UPDATE veya hedeften kaldırılan satırları geri yükleyen INSERT olabilir. Betik, foreign key bütünlüğü için ters sırada oluşturulur; toplu bir INSERT ... SELECT tablo geri yüklemesi değildir.

Veri senkronizasyonu - onaylı çalışma

İlgili Konular