GH GambleHub

Veri bütünlüğü

1) Veri bütünlüğü nedir

Veri bütünlüğü, verilerin yaşam döngüsü boyunca, kaynaklardan ve dönüşümlerden vitrinlere, API'lere ve dışa aktarımlara kadar doğru, tutarlı ve tutarlı olmasını sağlamak için bir dizi özellik ve kontroldür. Amaç, aynı ifadenin tekrarlandığında aynı cevabı vermesi ve herhangi bir değişikliğin izlenebilir ve doğrulanabilir olmasıdır.


2) Bütünlük türleri ve nerede yaşadıkları

Varlık-Benzersiz birincil anahtarlar, yinelenen yok.
Referans-Geçerli FK bağlantıları "asılı" bağlantıların yokluğu.
Etki Alanı-Geçerli aralıklar ve biçimler (tür, uzunluk, dizinler).
İş kuralları: konu alanı değişmezleri (denge ≥ 0, işlem miktarı = 0, vb.).
Geçici: monotonluk ve zaman damgası tutarlılığı, doğru zaman dilimleri.
Erişim politikaları: RLS/CLS, görünür verilerin mantıksal tutarlılığını ihlal etmez.


3) Veri sözleşmeleri ve şemaları (gerçeğin kaynağı)

Setler ve etkinlikler için resmi sözleşmeler belirliyoruz; Bunları girişte ve her dönüşümden sonra uyguluyoruz.

Örnek (YAML, basitleştirilmiş):
yaml dataset: payments primary_key: txn_id foreign_keys:
- fk: user_id -> users.user_id schema:
- {name: txn_id, type: string, unique: true}
- {name: user_id, type: string, not_null: true}
- {name: amount, type: decimal(18,2), min: 0}
- {name: currency, type: string, in: [USD,EUR,TRY,UAH]}
- {name: event_time, type: timestamp, tz: UTC}
dq_rules:
- "duplicates(txn_id)=0"
- "ref_integrity(user_id, users.user_id)=true"
- "sum(amount) >= 0"
evolution:
semver: [MAJOR, MINOR, PATCH]
breaking_changes_require: approval:data-governance

4) İşlem garantileri ve izolasyon

OLTP için ACID: atomisite, tutarlılık, izolasyon, dayanıklılık.
İzolasyon seviyeleri: Okuma Kararlı/Tekrarlanabilir Okuma/Serileştirilebilir - "kirli "/benzersiz/fantom okuma riski altında seçin.
OLAP ve lakehouse: tabloların atomik işlemleri (işlem günlüğü), idempotent lavabo ve uyumluluk kontrolü ile şema-evrim.
KPI formüllerinin tutarlılığı: semantik katman - raporlar ve API'ler için bir gerçek.


5) Dağıtılmış sistemler: düzen, tekrarlar, idempotency

Olay sırası: 'event _ time' + 'ingested _ at', filigranlar ve gecikme toleransı kullanın; Olay zamanına göre toplanır.
Redelivery (en az bir kez): global 'event _ id', idempotency tuşları tabloları, kararlı anahtar ile upsert/merge.
Sıra dışı: pencerelerin yeniden hesaplanması, gecikme stratejisi, tazminat.
Tam anlamıyla bir kez: taşıma en az bir kez, alıcı olabilir - idempotent.


6) Her katmanda bütünlük doğrulama (DQ)

Bütünlük kurallarını CI/CD'ye ve boru hattı çalışma süresine dahil ediyoruz:
  • Tazelik/Bütünlük/Benzersizlik/Geçerli Değerler/Referans Bütünlüğü.
  • Anomaliler: kopya patlamaları, zaman boşlukları, dağılımlarda keskin kaymalar.
  • KPI formüllerinin kontrolü: Sonuçların eşleştirilmesi için hesaplamaların ve testlerin sürümü (altın kümeler).
  • İhracat kontrolü - İhlal içeren setlerin verilmesini yasaklayın (karantina).
Örnek (Büyük Beklentiler tarzı):
yaml expect_column_values_to_be_unique: {column: txn_id}
expect_column_values_to_not_be_null: {column: user_id}
expect_column_values_to_be_in_set: {column: currency, value_set: [USD,EUR,TRY,UAH]}

7) Finansal ve operasyonel bütünlük

Çift giriş: bakiyede borç/kredi; Özet kopmalarda mutabakatlar.
Toplam değişmezler: ödeme tutarı = yazma miktarı + ücretler + ayarlamalar.
Operasyonel değişmezler: SLA/korkuluk metrikleri iş kurallarını ihlal etmez (örneğin, otomatik onarım kopyalar oluşturmaz).


8) Soy, denetim ve tekrarlanabilirlik

Linage: vitrin/özellik için kaynak; dönüşümlerin ve sahiplerin görünürlüğü.
Denetim izleri: kim neyi, ne zaman ve neden değiştirdi; şema/formül/iş sürümleri.
Anlık görüntüler/kontrol noktaları: Geçmiş raporları yeniden hesaplama ve onaylama yeteneği.
Repro: aynı dilimde aynı sorgu - aynı sonuç (sürümler ve katmanlar).


9) Bütünlük kaybı olmadan güvenlik ve gizlilik

RLS/CLS: satır/sütun filtreleri değişmezleri ihlal etmemelidir (örneğin, görünür örneğin toplamı bildirilen örnekle eşleşmelidir).
Maskeleme/tokenizasyon: Dedup ve referans bütünlüğünün korunmasını sağlamak için deterministik stratejiler.
Şifreleme: kanalda ve sıkıştırmadan sonra "diskte"; Anahtar yönetimi ve erişim denetimi.
DSAR/Retention: Sil/anonimleştir, bağlantıyı kesmez (basamaklı politika).


10) Self servis ve otomatik onarım

Karantina: şüpheli tarafların/partilerin izolasyonu; tüketiciler - "temiz'bir dal.
Replay/Backfill: Değiştirilemez bir ham günlükten bir pencereyi tekrar oynatır.
Uzlaştırma: katman ve sistem uzlaştırmaları (raw↔curated↔marts; istochnik↔DWH).
Dedup/Compaction/Rebuild: Indekslerin/agregaların onarımı için sistem prosedürleri.
Kod Olarak Politika:'ne anomali? Hangi eylem? Eşikler - tırmanma ".


11) Modelleme ve depolama uygulamaları

Kararlı anahtarlar: vekil PK (UUID/ULID), referans kitaplarında değişmeyen doğal anahtarlar.
Normalizatsiya↔denormalizatsiya: Kaynaklarda FK bağlantıları, mantık sürüm kontrolü ile denormalize vitrinler.
SCD1/SCD2: boyutlar için yönlendirilmiş tarih.
Sıralama/kümeleme: RLE/zone-haritalarını iyileştirir ve mutabakatları basitleştirir.
Hash'ler ve sağlama toplamları: dosyaların/yığınların bütünlüğünü kontrol etme.


12) Zaman içinde ve raporlamada bütünlük

Formula versiyonları: Ocak 2025 raporu X versiyon formülü ile tekrarlanabilir olmalıdır.
Kesme ve "dönem kapatma": mağaza vitrinlerini ve arşiv dilimlerini dondurma.
Geç gelen gerçekler: rapor sürümü işareti ile yeniden doldurma ve yeniden sayma mekaniği.
Geçersiz kılmaların belgelenmesi: manuel ayarlamalar - yalnızca denetim.


13) Entegrasyonlar ve API'ler

API sözleşmesi: şemalar, türler, gerekli alanlar, hata kodları; Sürüm oluşturma (v1/v2).
Girişte doğrulama: kötü yükleri reddedin, "sessizce tamir etmeyin".
Idempotent POST: idempotence anahtarı, güvenli tekrar deneyin.
Dosyalara dışa aktar: toplu tutarlılık, karma, imzalar.


14) Antipatterns

SELECT satış sorgularında ve kar fırtınalarında - MINOR evrimi ile bozulur.
FK "kelimelerle": gerçek bir referans kontrolü yok.
Denetim ve raporlama olmadan sessiz veri düzeltmeleri.
TZ ve zaman formatlarını tek bir kümede karıştırın.
"Grip" KPI sürümleri ve günlükleri olmadan geçersiz kılar.
Geri dönüşüm stratejileri olmadan tek veri tekilleştirme anahtarı.
Basamaklı bağlantı denetimi olmadan DSAR silme.


15) Uygulama Yol Haritası

1. Envanter ve kritiklik: set/olay haritası, sahipler, riskler, değişmezler.
2. Sözleşmeler ve şemalar: Türleri/kısıtlamaları resmileştirmek/FK, CI uyumluluk kontrolleri.
3. Boru hattında DQ: Tazelik/Eksiksizlik/Benzersizlik/RI, karantina, uyarılar.
4. İşlem temeli: atomik lavabo, upsert/birleştirme, SCD geçmişi, formül sürümü.
5. Soy ve denetim: dizin, izleme, değişiklik günlükleri, erişim günlükleri.
6. Onarım politikaları: yeniden oynatma/geri doldurma/dedup/kod olarak uzlaştırma; runbook'и и SLO MTTR verileri.
7. Güvenlik/priv: RLS/CLS, maskeleme, şifreleme, DSAR işlemleri.
8. Raporlama: kesme, dondurma dilimleri, KPI sürümleri.


16) Yayın öncesi kontrol listesi/vitrin

  • PK/FK ve alan kısıtlamaları belirlenir ve testleri geçer.
  • Şema/formül sürümü etkin; şema-diff yeşil.
  • DQ kuralları (tazelik/bütünlük/benzersizlik/aralıklar/RI) yeşildir.
  • Idempotent girişleri: upsert/merge, idempotence anahtarı (olaylar için).
  • Zaman: 'event _ time've' ingested _ at ', TZ = UTC; geç veri politikası.
  • Soy ve denetim görünür; Karantina ve uyarılar dahil.
  • RLS/CLS/maskeleme, değişmezleri ve RI'yı ihlal etmez.
  • DSAR/Retention test edildi; Kesme/arşiv hazır.

17) Mini şablonlar

SQL: referans bütünlük denetimi

sql select count() as orphans from fact_payments f left join dim_users u on f.user_id = u.user_id where u.user_id is null;
-- ожидаем orphans = 0

Karantina/onarım politikası (sözde YAML)

yaml policy: payments_integrity detect:
- rule: duplicates(txn_id) > 0
- rule: ref_integrity(user_id, users.user_id) = false auto_actions:
- quarantine_partition: {date: today}
- trigger_replay: {window: "last_2h"}
escalate_if:
- condition: violations_persist>30m page: "oncall-data"

Ölçüm SCD2 diyagramı

sql
-- dim_user_status (SCD2)
user_id, status, valid_from, valid_to, is_current

18) Alt satır

Veri bütünlüğü tek bir kontrol değil, uçtan uca bir garanti sistemidir: resmi sözleşmeler ve kısıtlamalar, işlemsel ve dağıtılmış değişmezler, onarımların doğrulanması ve otomasyonu, soy ve denetim, gizlilik ve haklar. Bu unsurlar birlikte çalıştığında, veriler çözümler için güvenilir bir temel haline gelir ve olaylar nadir, kısa ve öngörülebilir.

Contact

Bizimle iletişime geçin

Her türlü soru veya destek için bize ulaşın.Size yardımcı olmaya her zaman hazırız!

Entegrasyona başla

Email — zorunlu. Telegram veya WhatsApp — isteğe bağlı.

Adınız zorunlu değil
Email zorunlu değil
Konu zorunlu değil
Mesaj zorunlu değil
Telegram zorunlu değil
@
Telegram belirtirseniz, Email’e ek olarak oradan da yanıt veririz.
WhatsApp zorunlu değil
Format: +ülke kodu ve numara (örneğin, +90XXXXXXXXX).

Butona tıklayarak veri işlemenize onay vermiş olursunuz.