Öz-özüni dikeldýän maglumatlar
1) Kesgitleme we maksatlar
Öz-özüňi dikeldýän maglumatlar, kemçilikleriň awtomatiki usulda ýüze çykarylýan we düzediji hereketleriň (abatlaýyş, gaýtadan eltip bermek, yzyna gaýtarmak, rekonsilýasiýa, gaýtadan indeksirlemek) adamyň gatnaşmazdan ýa-da iň az gatyşmak bilen (duýgur ýagdaýlar üçin human-in-the-loop) ýerine ýetirilýän maglumat in engineeringenerligine çemeleşmedir.
Maksatlar: MTTR maglumatlary azaltmak, ynamy ýokarlandyrmak, süýşmäge we şowsuzlyklara çydamlylyk, eýeçiligiň öňünden aýdyp boljak bahasy.
2) Bejerilmeli görnüşdäki şowsuzlyklar
Shemalar we şertnamalar: gabat gelmeýän üýtgeşmeler, ýitirilen sütünler, adaty gapma-garşylyklar.
Hili/bitewiligi: dublikatlar, geçişler, özboluşlylygyň/referensial bitewiligiň bozulmagy.
Wagt we täzelik: injestiň gijikdirilmegi, penjirelerdäki "deşikler", TZ/lokallaryň sinhronizasiýasy.
Kesgitleýjiler we açarlar: ID generatoryny üýtgetmek, gapma-garşylyklar, ýüzýän tebigy açarlar.
Wakalaryň tertibi: gijä galan wakalar, täzeden tertipleşdirmek, gaýtadan eltip bermek (at-least-once).
Ammar: partiýanyň zaýalanmagy, döwülen faýllar/bloklar, çardingiň ýoýulmagy.
Hukuklar/howpsuzlyk: nädogry maskalar/şifrlemek, düşürmekde PII syzmak.
3) Öz-özüňi dikeltmegiň sütünleri
1. Awtomatiki synaglar bilen maglumat şertnamalary (schemas + düzgünler).
2. Idempotent paýlaýynlary (goşa effektsiz gaýtadan başlamak).
3. Journalurnalizasiýa we gaýtalanma (raw/bronze üýtgewsiz, lineage).
4. Bejeriş mehanizmleri (replay, backfill, compaction, merge-repair, rebuild).
5. Syn edilişi we SLO (täzelik, dolulyk, özboluşlylyk, gizlinlik).
6. Karar bermek syýasaty (awtomatiki düzedilende, eskalasiýa edilende).
4) Şertnamalar we hil synaglary
Şertnama: shema, rugsat berilýän diapazonlar, özboluşlylyk, RLS/maskalanma, täzelik SLA-ny beýan edýär.
Mysal (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
Synaglar her ädimde ýerine ýetirilýär: injest → staging → vitrin. Düzgünleriň bozulmagy awto-abatlaýyş (aşakda serediň) we/ýa-da karantini işjeňleşdirýär.
5) Idempotentlik we determinizm
Durnukly açarlar boýunça Upsert/Merge (taryh üçin SCD2, dilimler üçin SCD1).
Kesgitlenen üýtgeşmeler: bir giriş → şol bir parametrde bir çykyş.
Wersiýa gözegçiligi: Kod/shemalar/gatlaklaryň wersiýasyny we maglumat belligini (watermark) düzüň.
Idempotent sink: staging + atomic swap/rename arkaly ýazylýar.
"Exactly-once" manysy boýunça: ulagyň "at-least-once" kabul ederlikli + idempotent kabul ediji.
6) Awto-abatlaýyş mehanizmleri (repair toolkit)
Replay/Backfill: üýtgewsiz journalurnaldan 't ∈ [T0, T1]' penjiresinden gaýtadan eltip bermek.
Reconciliation (deňeşdirme): agregatlaryň/açarlaryň gatlaklaryň arasynda (raw, curated, marts) we ulgamlaryň arasynda (DWH çeşmesi) deňeşdirmesi.
Deduplication: açar boýunça window-dedup (txn_id, event_id) + aralyk ewristikasy ("hapa" açarlar üçin fuzzy).
Compaction: Kiçi faýllary uly böleklere (Parquet/ORC) geçirmek, indekslemek.
Merge-repair: ýazgylaryň gapma-garşylygynda - ileri tutulýan predikatlar (çeşme/wagt/wersiýa boýunça).
Indeksleri/materiallaşmalary yzyna almak :/cube/roll-up agregatlaryny gaýtadan sanamak.
Quarantine/Shadow: şübheli partiýa izolýasiýa edilýär; sarp edijiler "arassa" şahany okaýarlar.
Schema mediation: kiçi üýtgeşmelerde awtomatiki proýeksiýa selektory (defoltlary doldurmak, hasaplanyp bilinýän sütünler).
7) Saklamagyň goragy we bitewiligi
Çek-jemler we bloklaryň tassyklamasy (CRC, paritet).
Kworum-saklaýyş (RAFT/Paxos-gabat gelýän ulgamlar, quorum reads/writes).
Tygşytly artykmaçlyk üçin silme kodlamasy (erasure coding).
Obýektleriň wersiýasy (object store versioning, undelete).
Atomic commit в Lakehouse (transaction log, ACID-таблицы: Delta/Iceberg/Hudi).
8) Wakalaryň tertibi we "hapa hakykat"
Gijä galan wakalar: lateness-window tutuň, watermark 'i ulanyň; penjireleri gaýtadan hasaplamak.
Gaýtadan eltip bermek: global 'event _ id' boýunça dedup, idempotency-keys tablisalary.
Göçürilen wagt: TZ kadalaşmagy, saklamak 'ingested _ at' we 'event _ time'.
Out-of-order: watermark sazlamasy bolan event_time esasly agregatlar.
9) Karar bermegiň logikasy (policy engine)
Düzgün: "haýsy anomaliýa → haýsy hereket → haýsy bosagalar → kimiň eýesi".
Mysal üçin: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) Gözegçilik we maglumatlar üçin SLO
SLO toplumy:- Penjiräniň täzeligi (Freshness) ≤ 15 minut.
- Doly (Completeness)> 99. Esasy meýdanlar boýunça 5%.
- Açarlaryň özboluşlylygy (Uniqueness): dublikatlar <0. 01%.
- Hasaplamanyň gizlinligi: p95 <5 minut.
- Bejeriş durnuklylygy: MTTR-data <30 min.
Metrikler we aladalar: Prometheus/Grafana-da görkeziň; maglumat hadysalarynyň ileri tutulýan lentasyny guruň.
11) Rekonsilýasiýa we deňeşdirmeler (amallar)
Agregatlaryň barlagy: 'count/sum/min/max' süýşýän penjirede gatlaklaryň/ulgamlaryň arasynda.
Açar barlagy: köplügiň simmetrik tapawudy 'Δ = (A\B) ∪ (B\A)'.
Döwürleýin "audit job": çeşme bilen deňeşdirme, başlangyç barlamada saýlama barlag.
Tölegler/maliýe: goşa ýazgy (double-entry), gündelik kesiş-ýapyşmalar, düzedişler žurnaly.
12) Shemalary dolandyrmak we ewolýusiýa
SemVer shemalar üçin: MAJOR (döwýär )/MINOR (goşýar )/PATCH (düzedýär).
CI/CD-de şertnamalar: schema-diff, gabat gelmek, göçmegiň awtogenerasiýasy.
Backfill-huk: MINOR-da defolt/hasaplanyp bilinýän meýdanlary goşmak, penjireleri sanamak.
Çeýe proýeksiýalar: okyjylar sütünleriň kiçi toparlaryny okaýarlar; "SELECT" -ni gadagan edýäris.
13) Howpsuzlyk, gizlinlik, gabat gelmek
RLS/CLS: setirleriň/sütünleriň süzgüçleri, esasanam repair şahalarynda we eksportlarda.
PII-maskalanma: durnukly duplikasiýa üçin kesgitlenen (tokenizasiýa).
Giriş/eksport barlagy: kim näme eksport edendigini, nirä iberendigini gördi.
DSAR/Retention: repair-proseslerde awto-aýyrmak/anonimleşdirmek; yzyna gaýtarylmalar hukuk talaplaryny göz öňünde tutýar.
14) Bahasy we öndürijiligi
Cost-aware backfill: penjireleriň giňligini çäklendirmek (mysal üçin, 3-7 gün süýşmek).
Materializasiýa we nagt pul: diňe üýtgän partiýalary gaýtadan hasaplamak (incremental).
Ileri tutulýan ugurlar: ilki bilen möhüm vitrinler (maliýe, töwekgelçilikler), soň bolsa analitik.
Off-peak abatlaýyş: gijeki penjireler/meýilnamalaşdyryjyda pes ileri tutulýan ugur.
15) Hadysalary barlamak we simulýasiýa etmek
Chaos-data-testing: bilkastlaýyn partiýa/shemalary bozuň.
Galp gijikdirmeler: batch, out-of-order, dublikat geçişlerini simulýasiýa ediň.
Golden datasets: abatlanylandan soň barlamak üçin standartlar.
GameDays: runbook toparynyň yzygiderli türgenleşigi.
16) Antipatternler
"Görünmeýän" düzedişler: auditsiz we hasabatsyz sessiz düzedişler.
Ýazylmadyk backfill's: Hakykat çeşmesi/formula wersiýasy ýok.
Bejeriş wagtynda ALTP-e kyn live-soraglar: önüm öndürýärsiňiz.
Sarp edijilerde SELECT: islendik MINOR üýtgemelerinde bozulýar.
Ýeke-täk duplikasiýa açary: fallback-açar/hash-signatura ýoklugy.
17) Durmuşa geçirmegiň ýol kartasy
1. Discovery: möhüm toplumlar/metrikler, töwekgelçilikler, eýeler; endikleriň kartasy.
2. Şertnamalar we synaglar: CI-de shemalary/düzgünleri resmileşdiriň; publish sözlügi.
3. Idempotentlik: esasy paýlaýynlary upsert/merge, atomic sink -e täzeden ýazyň.
4. Raw-magazine we lineage: üýtgemeýän gatlak, doly meta-maglumatlar, watermark 'i.
5. Repair-mehanikler: backfill/replay, dedup, compaction, quarantine; policy engine.
6. Syn edilişi we SLO: hil daşbordlary, alertler, ileri tutulýan lenta.
7. Chaos-data we maşklar: yzygiderli maşklar + runbook.
8. Gymmaty optimizirlemek: inkremental gaýtadan hasaplamalar, penjireleri ileri tutmak.
18) Goýberilmezden öň çek-sanawy
- Maglumat şertnamalary we hil synaglary möhüm toplumlary öz içine alýar.
- Paýlaýynlar idempotentdir; atomic commit bar.
- Backfill/replay we quarantine sazlandy, eskalasiýa syýasaty kesgitlenildi.
- Freshness/Completeness/Uniqueness/Latency metrikleri we önümdäki alertler.
- Düzedişleriň/abatlamalaryň barlagy girizildi; formulalaryň we penjireleriň wersiýalary saklanýar.
- DSAR/Retention abatlanylanda we yzyna gaýtarylanda berjaý edilýär.
- Runbook 'we, maşklar geçirildi, MTTR-maksat kesgitlenildi.
- Backfill's bahasy býudjet goragçylary bilen çäklenýär.
19) Awto-hereketleriň mysallary (şablonlar)
"Penjiräniň täzeliginiň şowsuzlygy X" → backfill (last_2h) → 30 minutda bolmasa → quarantine + on-call sahypasy.
"txn_id dublikatlarynyň köpelmegi" → berk dedup + çeşme bilen deňeşdirme → sebäpler barada hasabat.
"MINOR-shemanyň üýtgemegi" → hasaplanyp bilinýän defolt meýdanyny döretmek → agregatlaryň rebuild.
"Partiýanyň ýitmegi" → wersiýa obýektinden dikeltmek → çek-mukdar bilen barlamak.
Netije: öz-özüňi dikeldýän maglumatlar bir "abatlaýyş skripti" däl-de, ulgamlaýyn arhitektura: resmi şertnamalar, idempotent paýlaýynlary, ygtybarly magazineurnallaşdyrma, awtomatlaşdyrylan abatlaýyş mehanikleri we berk SLO bilen aç-açan gözegçilik. Şeýle ulgam diňe bir özüni bejermek bilen çäklenmän, hadysalary düşnükli gymmaty we dikeldiş wagty bilen dolandyrylýan wakalara öwürýär.