DATA CONTRACT · ŞEMA · KALİTE · DEĞİŞİKLİK YÖNETİMİ

Data contract nedir?

Data contract, bir veri ürününü üreten ve kullanan ekipler arasında şema, anlam, kalite, güncellik, sahiplik, erişim ve değişiklik beklentilerini açıkça tanımlar. Sözleşme yalnız doküman değildir; CI/CD, kalite testleri, sürümleme ve gözlemlenebilirlikle uygulanabilir hâle gelmelidir.

KISA CEVAP

Data contract; veri setinin yapısını, kolon ve veri tiplerini, iş anlamını, kalite kurallarını, güncellik ve erişilebilirlik hedeflerini, sahipleri, kullanım koşullarını, sürümünü ve breaking change sürecini tanımlar. Şema testi veya SLA tek başına sözleşme değildir. Amaç değişikliği tamamen engellemek değil; üretici ve tüketicilerin etkisini önceden görmesini, otomatik kontrollerle doğrulamasını ve uyum için geçiş süresi yönetmesini sağlamaktır.

Data contract veri değişikliğini üretici ve tüketici arasında görünür kılar

Kaynak ekip bir kolonun adını, veri tipini veya anlamını değiştirdiğinde downstream pipeline, rapor, model ve AI uygulamaları sessizce bozulabilir. Data contract, veri ürününün beklenen biçimini ve hizmet düzeyini tanımlayarak değişikliği sürpriz olmaktan çıkarır. Sözleşme üreticinin her talebi kabul etmesi değil; taahhüt ettiği alanları, sınırları ve değişiklik sürecini açıklaştırmasıdır.

Temel ilke: Sözleşme değişimi yasaklamaz. Breaking change’i tanımlar, etkisini gösterir, sürümler ve tüketiciye geçiş yolu sağlar.
ÜRETİCİ

Ne sunuyor?

Şema, anlam, kalite, güncellik ve destek taahhüdü verir.

TÜKETİCİ

Neye dayanıyor?

Kullandığı alan, kalite eşiği ve değişiklik ihtiyacını bildirir.

PLATFORM

Nasıl doğruluyor?

Lint, şema, kalite, lineage ve dağıtım kontrolleri çalıştırır.

YÖNETİŞİM

Kim karar veriyor?

Sahip, sürüm, istisna ve emeklilik sürecini yönetir.

İyi sözleşme şema kadar anlam ve hizmet beklentisini de tanımlar

BölümÖrnek içerikKontrol
KimlikAd, sürüm, durum, alan ve sahipTekil ve bulunabilir kayıt
ŞemaTablo, kolon, veri tipi, null, anahtarMakinece doğrulama
SemantikTanım, birim, grain, kod ve ilişkiİş anlamı onayı
KaliteTamlık, benzersizlik, geçerlilik, tutarlılıkKural ve eşik testi
HizmetGüncellik, çalışma sıklığı, gecikme, destekSLO ve olay yönetimi
KullanımSınıflandırma, erişim, lisans, amaçPolitika ve yetki
DeğişiklikSürüm, deprecation, bildirim, geçişUyumluluk kapısı

Open Data Contract Standard gibi açık standartlar; şema, kalite, sahiplik, sunucu, hizmet düzeyi ve kullanım koşullarının yapılandırılmış biçimde tanımlanmasını destekler. Kurum standardı olduğu gibi almak yerine kendi kritik alanlarını ve kontrol araçlarını eşlemelidir.

Şema, test ve SLA data contract’ın parçalarıdır; tamamı değildir

KavramNe doğrular?Sınırı
Schema contractKolon, veri tipi ve bazı kısıtlarİş anlamı ve kaliteyi tam kapsamaz
Data testBelirli kuralın mevcut veride sonucuSahiplik ve değişiklik sürecini tanımlamaz
SLA/SLOZaman, erişilebilirlik ve destek hedefiŞema ve semantik bağlamı vermez
Data contractÜrün beklentilerinin ortak ve sürümlü bütünüUygulanmazsa yalnız doküman kalır

dbt model contracts örneğinde, model çıktısının beklenen kolon ve veri tipine uymaması build’i durdurabilir. Bu güçlü bir şema enforcement kontrolüdür; tam kurumsal data contract için semantik, kalite, sahiplik ve hizmet düzeyi katmanları ayrıca gerekir.

Sözleşme tasarımdan emekliliğe kadar yaşam döngüsünde yönetilmelidir

  1. Veri ürününün iş amacı ve tüketicilerini tanımlayın.
  2. Mevcut kullanım ve lineage üzerinden kritik alanları çıkarın.
  3. Şema, semantik, kalite ve hizmet beklentilerini müzakere edin.
  4. Sözleşmeyi sürümlü ve makinece okunabilir depoda yayınlayın.
  5. CI/CD içinde lint, şema ve kalite kontrolleri çalıştırın.
  6. Canlıda güncellik, kalite ve sözleşme ihlallerini izleyin.
  7. Değişiklik etkisini lineage ve tüketici kaydıyla değerlendirin.
  8. Deprecation süresi ve geçiş desteği sağlayın.
  9. Kullanılmayan sürümü kontrollü biçimde emekliye ayırın.

Breaking change yalnız kolon silmek değildir

  • Kolon adı, veri tipi veya null davranışının değişmesi
  • Primary key veya grain’in değişmesi
  • Enum değerinin anlam veya kapsam değiştirmesi
  • Zaman alanı ve zaman bölgesi kuralının değişmesi
  • Hesaplama veya filtre mantığının değişmesi
  • Güncellik ve çalışma sıklığının düşmesi
  • Hassasiyet ve erişim sınıfının değişmesi
  • Kaynak sistem veya survivorship kuralının değişmesi

Uyumlu ekleme ile kırıcı değişiklik ayrımı kurum standardında açıkça tanımlanmalıdır. Yeni sürüm paralel yayınlanabilir; tüketici kullanımı ölçülerek eski sürüm için son tarih belirlenebilir.

DeğişiklikOlası sınıfGerekli eylem
Opsiyonel yeni kolonGeriye uyumluBildirim ve test
Kolon silmeBreakingYeni sürüm ve geçiş
String → integerBreakingUyumluluk testi ve dönüşüm
Tanım değişikliğiSemantik breakingYeni metrik/veri sürümü
Gecikme artışıHizmet ihlaliTüketici etkisi ve onay

Enforcement geliştirici akışına ve platform kontrollerine gömülmelidir

Sözleşme repository’de değiştiğinde otomatik lint, standarda uygunluk, şema farkı, kalite kuralı ve breaking change analizi çalıştırılabilir. Pipeline, onaysız kritik değişikliği durdurabilir. Canlı sistemde sözleşme ihlali olay üretmeli; yalnız dashboard’da kırmızı kutu olarak kalmamalıdır.

  • Pull request içinde sözleşme farkı
  • Şema registry veya model contract doğrulaması
  • Örnek ve üretim benzeri veri kalite testleri
  • Lineage üzerinden tüketici etki analizi
  • Sahip ve tüketici onay iş akışı
  • Sürüm ve changelog üretimi
  • Canlı SLO ve kalite ihlali alarmı
  • İstisna için süre ve risk sahibi

Senaryo: Sipariş verisinde status alanı değiştiriliyor

Üretici ekip cancelled ve refunded değerlerini tek closed statüsünde birleştirmek ister. Şema değişmemektedir; fakat semantik breaking change vardır. Finans iade, operasyon iptal, müşteri ekibi kapanış davranışını farklı kullanır. Data contract fark analizi tüketicileri gösterir. Yeni status_v2 alanı eklenir, eşleme tablosu yayımlanır, iki sürüm paralel çalışır ve eski alan tüketim sıfıra düştüğünde emekliye ayrılır.

Önemli sonuç: Veri tipi aynı kaldığı için teknik testler geçebilir; data contract iş anlamındaki kırılmayı görünür kılar.

Yanlış data contract programı yeni bürokrasi üretebilir

  • Her geçici tablo için ağır sözleşme zorunluluğu koymak
  • Tüketici olmadan üreticinin tek taraflı sözleşme yazması
  • Binlerce alanı elle dokümante edip güncel tutamamak
  • Sözleşmeyi test ve pipeline’a bağlamamak
  • Semantik değişiklikleri yalnız şema farkıyla değerlendirmek
  • Breaking change’i sonsuza kadar yasaklamak
  • Lineage ve gerçek tüketici kullanımını izlememek
  • Sahip, destek ve olay sürecini tanımlamamak

Öncelik, kurumsal rapor, müşteri süreci, regülasyon ve AI sistemi için kritik veri ürünlerine verilmelidir. Sözleşme kapsamı risk ve tüketici etkisiyle orantılı olmalıdır.

Üretici sahipliği ile tüketici etkisi ortak karar modelinde buluşmalıdır

Data product owner sözleşme ve hizmetten; mühendislik ekibi teknik uygulamadan; veri steward semantik ve kalite tanımından; tüketici sahibi kritik kullanım ve kabul testinden; platform ekibi enforcement altyapısından; yönetişim ekibi standart, istisna ve portföy görünürlüğünden sorumludur.

KPISağlıklı göstergeYanlış teşvik
Sözleşme kapsamıKritik veri ürünleri oranıToplam sözleşme sayısı
İhlalTüketiciyi etkileyen ihlal ve çözüm süresiAlarm sayısını sıfırlamak
DeğişiklikÖnceden bildirilen breaking change oranıHiç değişiklik yapmamak
UyumGeçiş süresinde taşınan tüketici oranıEski sürümü sınırsız açık tutmak
KaliteSözleşme eşiği ve gerçek iş sonucuYalnız test geçiş yüzdesi

Kaynaklar ve gözden geçirme notu

Bu rehberde değişebilir veya teknik iddialar için öncelikle resmî kurum, ürün geliştiricisi ve birincil araştırma kaynakları kullanılmıştır. Bağlantılar 27 Temmuz 2026 tarihinde gözden geçirilmiştir.

  1. 01
    Open Data Contract Standard — Specification v3.1.0

    Şema, kalite, sahiplik, sunucu, hizmet düzeyi ve kullanım koşullarını tanımlayan açık sözleşme standardını açıklar.

  2. 02
    Bitol — Open Data Contract Standard

    ODCS’nin Linux Foundation AI & Data altında açık ve vendor-neutral standart olarak yönetişimini açıklar.

  3. 03
    dbt Developer Hub — Model Contracts

    Model çıktısının kolon, veri tipi ve kısıtlarla build aşamasında doğrulanmasını açıklar.

  4. 04
    dbt Developer Hub — Model Versions

    Breaking change için sürümleme ve tüketici geçiş yolunu açıklar.

  5. 05
    Data Contract CLI — Open Data Contract Standard

    ODCS sözleşmelerinin lint, test ve makinece uygulanabilir biçimde kullanılmasını açıklar.

Yayın sorumluluğu: Bu içerik kişisel yazar profili kullanılmadan Vatansever Bilişim Anonim Şirketi kurumsal yayın sorumluluğunda hazırlanmıştır. Genel bilgilendirme niteliğindedir; belirli bir kurum için hukuki görüş, yatırım tavsiyesi, güvenlik veya sonuç garantisi değildir.
İLGİLİ HİZMET

Veri üreticisi ve tüketicisi arasındaki beklentiyi makinece doğrulanabilir sözleşmeye dönüştürün.

Kritik veri ürünleri için şema, semantik, kalite, SLO, sahiplik ve breaking change sürecini birlikte tasarlayın.