Məlumatların İdarə Edilməsi

Data Contract-lar: Pipeline Etibarlılığını SLA-ya Bağlamaq

Producer və consumer arasındakı söylənməmiş gözləntini yazılı kontrakta çevirən data contract-lar; pipeline kırılmalarını sıfıra yaxınlaşdırır.

BIART Ekibi3 dəq oxu1 baxış
Data contract şeması ve veri pipeline diyagramı

*Customer* cədvəlinizdə *first_name* sahəsi bu gün günortadan sonra NULL gəlməyə başlayanda nə olur? Marketinq kampaniyası 12.000 nəfərə "Hörmətli ," deyə email göndərir. Bu kırılmaların çoxu producer-consumer arasındakı söylənməmiş bir gözləntinin sakitcə pozulmasındandır. Data contract-lar o gözləntini yazılı edir.

Data contract nədir?

Producer sistem (CRM) ilə consumer sistem (DWH, ML, dashboard) arasında məlumat üçün imzalanmış SLA. Schema, freshness, keyfiyyət hədləri, semantik məna, sahiblik və change policy vahid YAML/JSON sənəddə yaşayır.

Nümunə (qısaldılmış):

yaml contract: customer.v3 owner: crm-team schema: customer_id: string, not_null, unique first_name: string, not_null, max_len=100 email: string, format=email, nullable=true freshness: max_lag=15m quality: uniqueness_customer_id: 100% null_rate_first_name: <1% breaking_change_policy: 30d_notice

Söylənməmiş gözlənti necə pozulur?

Real nümunələr:

  • CRM komandası first_name-ə middle name birləşdirir; uzunluq 100-dən 200-ə çıxır; DWH error vermir, BI-da text wrap pozulur.
  • Lookup-da status kodu illərlə 1-5 ikən bir update 6 əlavə edir; ML modeli 6-nı görmədiyi üçün seqment yanlış təsnif edilir.
  • Hotfix order_id-ni int-dən string-ə çevirir; downstream ödəmə uzlaşması səssizcə sürüşür.

Hər biri saatlarla incident yaradır. Data contract bunları deploy zamanında tutur.

Kontraktın 5 komponenti

  1. Schema təminatı
  2. Freshness (max gecikmə)
  3. Keyfiyyət hədləri
  4. Semantik tərif
  5. Change policy (typik 30 gün notice)

İstehsalda tətbiq

Kontrakt repo-da statik fayl. Üç icra nöqtəsi:

  • CI gate: kontrakta zidd PR bloklanır.
  • Pipeline test: hər ETL run-da Soda Core / dbt-test / custom assert metrikləri yoxlayır.
  • Catalog UI: aktiv kontraktlar kataloqda cədvəl üzərində görünür.

SLA-ya bağlama

Kontrakt pozuntusu avtomatik incident yaradır və producer komandasının SLA-sına yazılır. Bu, kontraktı diri saxlayan yeganə təminatdır.

Versionlama

Kontraktlar customer.v1, v2, v3 kimi versionlaşdırılır. Breaking change v3-ə qərar verilibsə:

  • v2 və v3 paralel yayımlanır 60 gün.
  • Consumer-lar v3-ə köçür, telemetriya izləyir.
  • v2 retire olunur.

CentraQL və data contract

CentraQL DataQuality modulu kontrakt faylını oxuyur, qaydaları avtomatik istehsal edir, Trust Score-a ağırlıqlı qatır. CFO dashboard-unda "Customer cədvəli Trust 87 — son 7 gündə contract.v3 freshness 2 pozuntu" sətri görünür.

Haradan başlamalı?

Praqmatik 3 aylıq plan:

  1. Həftə 1-2: ən kritik 5 cədvəlin consumer-ları toplanır.
  2. Həftə 3-6: ilk 5 kontrakt yazılır, imzalanır.
  3. Həftə 7-10: CI gate + Soda Core inteqrasiyası.
  4. Həftə 11-12: aylıq review, ilk 5-dən genişlənmə.

12 həftədən sonra təşkilat sürpriz kırılmaların ~80% azaldığını görür.

Yekun

Data contract sehr deyil; producer-consumer arasındakı sakit razılığı yazılı, ölçülə bilən, audit edilə bilən etir. Pipeline etibarlılığı kontraktın aktiv tətbiqi ilə qalxır.

Paylaş