GH GambleHub

Kendi kendini iyileştirme verileri

1) Tanım ve hedefler

Kendi kendini iyileştirme verileri, kusurların otomatik olarak tespit edildiği veri mühendisliğine bir yaklaşımdır ve düzeltici eylemler (onarım, yeniden teslimat, geri alma, yeniden konsolidasyon, yeniden endeksleme) insan müdahalesi olmadan veya minimum müdahale ile gerçekleştirilir (hassas vakalar için döngüde insan).
Hedefler: Daha düşük veri MTTR'si, artan güven, sürüklenmeye ve başarısızlığa karşı dayanıklılık, öngörülebilir sahip olma maliyeti.

2) Tedavi edilecek tipik aksaklıklar

Şemalar ve sözleşmeler: uyumsuz değişiklikler, eksik sütunlar, tip çakışmaları.
Kalite/bütünlük: kopyalar, ihmaller, benzersizlik/referans bütünlüğü ihlalleri.
Zaman ve tazelik: enjeksiyon gecikmeleri, pencerelerde "delikler", TZ/lokallerin senkronize olmaması.
Tanımlayıcılar ve anahtarlar: Kimlik oluşturucuyu değiştirme, çarpışmalar, yüzen doğal anahtarlar.
Olayların sırası: geç olaylar, yeniden sıralama, yeniden teslimat (en az bir kez).
Depolar: partilerin bozulması, kırık dosyalar/bloklar, parçalama bozulması.
Haklar/güvenlik: yanlış maskeler/şifreleme, yüklemelerde PII sızıntıları.

3) Kendini iyileştirme sütunları

1. Otomatik testlerle veri sözleşmeleri (şemalar + kurallar).
2. Idempotent boru hatları (çift etki olmadan yeniden başlatın).
3. Günlük kaydı ve tekrarlanabilirlik (ham/bronz değiştirilemez, soy).
4. Onarım mekanizmaları (yeniden oynatma, geri doldurma, sıkıştırma, birleştirme-onarım, yeniden oluşturma).
5. Gözlenebilirlik ve SLO (tazelik, bütünlük, benzersizlik, gecikme).
6. Karar verme politikaları (otomatik olarak düzelttiğimizde, yükselttiğimizde).

4) Sözleşmeler ve kalite testleri

Sözleşme şunları açıklar: şema, kabul edilebilir aralıklar, benzersizlik, RLS/maskeleme, SLA tazeliği.

Örnek (YAML stili):
yaml dataset: payments 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: created_at; type: timestamp; tz: UTC freshness_sla: 15m constraints:
- "count(distinct txn_id) = count()"
- "pct_null(user_id) < 0. 1%"
privacy:
- mask: card_pan -> BIN6LAST4 actions_on_violation:
- auto_quarantine_partition
- backfill_missing_window
- notify_owner_and_open_ticket

Testler her adımda gerçekleştirilir: enjeksiyon - evreleme - vitrin. Kuralların ihlali otomatik onarımı (aşağıya bakınız) ve/veya karantinayı etkinleştirir.

5) Idempotans ve determinizm

Upsert/Sabit tuşlarla birleştirme (geçmiş için SCD2, dilimler için SCD1).
Deterministik dönüşümler: bir girdi - aynı parametrelere sahip bir çıktı.
Sürüm Oluşturma - Kod/şema/katman sürümünü ve veri etiketini (filigran) düzeltin.
Idempotent lavabo: evreleme + atomik takas/yeniden adlandırma yoluyla kayıt.
Tam anlamıyla bir kez: kabul edilebilir'en az bir kez "taşıma + idempotent alıcı.

6) Onarım araç seti

Replay/Backfill: Değiştirilemez log'dan (raw) window't ∈ [T0, T1] 'için yeniden teslim.
Mutabakat: Katmanlar arasında (ham ↔ küratörlü ↔ mart) ve sistemler arasında (kaynak ↔ DWH) agregaların/anahtarların karşılaştırılması.
Veri tekilleştirme: anahtar ile pencere tekilleştirme (txn_id, event_id) + mesafe sezgisel (kirli anahtarlar için bulanık).
Sıkıştırma: küçük dosyaları büyük partilere aktarma (Parquet/ORC), yeniden indeksleme.
Merge-repair: kayıtlar çakıştığında, öncelik yüklemesi (kaynak/zaman/sürüme göre).
İndeksleri/materyalizasyonları yeniden oluşturun: Agregaları/küpü/yuvarlamayı yeniden hesaplayın.
Karantina/Gölge: Şüpheli taraflar kendilerini izole eder; Tüketiciler "temiz'bir konu okuyorlar.
Şema aracılığı: Küçük değişiklikler için otomatik projeksiyon seçici (varsayılan doldurma, hesaplanabilir sütunlar).

7) Depolama koruması ve bütünlüğü

Kontrol miktarları ve blok doğrulama (CRC, parity).
Quorum depolama (RAFT/Paxos uyumlu sistemler, quorum okur/yazar).
Uygun maliyetli yedeklilik için silme kodlaması.
Nesne deposu sürüm oluşturma (silinmemiş).
Lakehouse в atomik taahhüt (işlem günlüğü, ASID- таблицы: Delta/Iceberg/Hudi).

8) Olayların sırası ve "kirli gerçeklik"

Geç olaylar: gecikme-pencere tutun, filigran kullanın've; Pencereleri yeniden hesaplıyor.
Redelivery: Global 'event _ id', idempotency-keys tablolarına göre dedup.
Uzaklık süresi: TZ'yi normalleştirme, 'yutulmuş _ at've' event _ time'ı saklama.
Sıra dışı: Filigran ayarlamasıyla event_time-based kümeler.

9) Karar mantığı (politika motoru)

Kural: "Hangi anomali, hangi eylem, hangi eşikler, sahibi kim?"

Örnek (sözde):
yaml policy: payments_freshness detect: freshness_delay > 15m auto_actions:
- trigger: backfill(last_60m)
- if: gap_persisted > 30m then: quarantine_partition(date=today, hour=current_hour)
escalate:
- if: gap_persisted > 60m -> page_oncall:data guardrails:
- do_not_expose_unverified_to_marts

10) Veriler için gözlemlenebilirlik ve SLO

SLO seti:
  • Vitrinlerin tazeliği ≤ 15 dakika.
  • Bütünlük> 99. Anahtar alanlarda %5.
  • Benzersizlik: kopyalar <0. 01%.
  • Hesaplama gecikmesi: p95 <5 dk.
  • Onarım kararlılığı: MTTR-veri <30 dk.

Metrikler ve uyarılar: Prometheus/Grafana'da sergilenir; Veri olayları için öncelikli bir bant oluşturun.

11) Uzlaşma (uygulamalar)

Kümeleri kontrol edin: Kayan penceredeki katmanlar/sistemler arasında 'count/sum/min/max'.
Anahtar uzlaştırma: 'Δ = (A\B) ∪ (B\A)' kümelerinin simetrik farkı.
Periyodik "denetim işi": Kaynakla karşılaştırma, kaynakta seçici kontrol.
Ödemeler/finans: çift giriş, günlük kesinti mutabakatları, ayarlama günlüğü.

12) Devre yönetimi ve evrimi

Şemalar için SemVer: MAJOR (breaks )/MINOR (adds )/PATCH (fixes).
CI/CD'deki sözleşmeler: şema-diff, uyumluluk, göçlerin otomatik olarak oluşturulması.
Dolgu kancası: MINOR ile varsayılan/hesaplanan alanları ekleyin, vitrinleri yeniden hesaplayın.
Esnek projeksiyonlar: Okuyucular sütunların alt kümelerini okur; "SELECT'i yasaklayın.

13) Güvenlik, gizlilik, uyumluluk

RLS/CLS: satır/sütun filtreleri, özellikle onarım dallarında ve dışa aktarımlarda.
Sürdürülebilir veri tekilleştirme için PII tabanlı tokenizasyon.
Erişim/ihracat denetimi: Neyi ihraç ettiklerini, nereye gönderdiklerini kim gördü.
DSAR/Retention: Onarım süreçlerinde otomatik silme/anonimleştirme; Komisyon, yasal gereklilikleri dikkate alır.

14) Maliyet ve performans

Maliyet bilincine sahip dolgu: pencerelerin genişliğini sınırlamak (örneğin, 3-7 gün sürgülü).
Materyalizasyonlar ve önbellekler: Sadece değişen partilerin yeniden hesaplanması (artımlı).
Önceliklendirme: Önce kritik vitrinler (finans, riskler), sonra analitik.
Yoğun olmayan onarımlar: gece pencereleri/zamanlayıcıda düşük öncelik.

15) Test ve olay simülasyonları

Kaos-veri testi: Sahnedeki bölümleri/devreleri kasıtlı olarak kırın.
Sahte gecikmeler: Sahte partiler, sıra dışı, kopyalar.
Altın veri setleri: Onarım sonrası uzlaşma için kriterler.
GameDays: runbooks düzenli takım eğitimi.

16) Antipatterns

"Görünmez" düzeltmeler: denetim veya raporlama olmadan sessiz düzenlemeler.
Denenmemiş arka dolgular: doğruluk kaynağı/formül sürümü yok.
Onarımlar sırasında OLTP'ye ağır canlı istekler: prod'u bitirirsiniz.
Tüketicilerde SEÇ: herhangi bir MINOR değişikliğiyle kesilir.
Veri tekilleştirme için tek anahtar, fallback tuşlarının/karma imzalarının olmamasıdır.

17) Uygulama Yol Haritası

1. Keşif: kritik kümeler/metrikler, riskler, sahipler; bağımlılık haritası.
2. Sözleşmeler ve testler: CI'da şemaları/kuralları resmileştirmek; sözlüğü yayınla.
3. Idempotency: upsert/merge, atomik lavaboda anahtar boru hatlarını yeniden yazın.
4. Ham log ve soy: değişmez katman, tam meta veri, filigran've.
5. Onarım mekaniği: geri doldurma/tekrar oynatma, dedup, sıkıştırma, karantina; politika motoru.
6. Gözlemlenebilirlik ve SLO: kaliteli panolar, uyarılar, öncelikli bant.
7. Kaos-veri ve eğitim: düzenli egzersizler + runbook've.
8. Maliyet optimizasyonu: artımlı yeniden hesaplamalar, pencere önceliklendirmesi.

18) Yayın öncesi kontrol listesi

  • Veri sözleşmeleri ve kalite testleri kritik setleri kapsar.
  • Boru hatları idempotent; Atomik taahhüt ve geri çekilmeler vardır.
  • Geri doldurma/yeniden oynatma ve karantina yapılandırılır, eskalasyon politikaları hecelenir.
  • Tazelik/Eksiksizlik/Benzersizlik/Gecikme metrikleri ve prod uyarıları.
  • Düzenlemelerin/onarımların dahil denetimi; Formül ve vitrin versiyonlarını depolar.
  • Onarımlar ve geri dönüşler için DSAR/Retention takip edilir.
  • Bir runbook var've, Yürütülen egzersizler, MTTR-hedef sabit.
  • Arka dolguların maliyeti bütçe muhafızları ile sınırlıdır.

19) Otomatik işlem örnekleri (şablonlar)

"Pencere tazelik hatası X" - dolgu (last_2h) - 30 dakika içinde tamam değilse - karantina + çağrı sayfası.
"Duplicate txn_id spike" - sıkı dedup + kaynak mutabakatı içerir - neden raporu.
"MINOR şema değişikliği" - hesaplanmış bir varsayılan alan oluşturun - toplamları yeniden oluşturun.
"Loss of batches" - restore - sürüm nesnesinden kontrol miktarının doğrulanması.

Alt satır: Kendi kendini iyileştiren veriler bir "onarım betiği'değil, bir sistem mimarisidir: resmi sözleşmeler, idempotent boru hatları, güvenilir günlükleme, otomatik onarım mekaniği ve sıkı SLO'larla şeffaf gözlemlenebilirlik. Böyle bir sistem sadece kendini onarmakla kalmaz, aynı zamanda olayları anlaşılabilir bir maliyet ve kurtarma süresiyle yönetilebilir olaylara dönüştürür.

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!

Telegram
@Gamble_GC
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.