GH GambleHub

Maʼlumotlar sifatini nazorat qilish

1) Vazifasi va prinsiplari

Nima uchun: ishonchli hisobotlar (GGR/soliqlar), antifrod va RG-modellar, komplayens-tushirishlar, mahsulotlar va personallashtirish.

Prinsiplar:
  • Schema-first & Contracts: barcha manbalar shartnoma ma’lumotlarini e’lon qilishi shart.
  • DQ-kod sifatida: repozitoriyadagi qoidalar, versiyalar, testlar va revyu.
  • Observability-by-default: metrika/logirovka/linedj.
  • Privacy-by-design: minimal PII, kamuflyaj va RLS/CLS.
  • Cost-aware: tanqidiy qoidalarni ustuvorlashtirish, aqlli tanlov.

2) Sifat o’lchovlarining taksonomiyasi

Completeness (Toʻliqlik): Majburiy maydonlarning/satrlarning ulushi.
Validity (maqbullik): turlar/diapazonlar/maʼlumotnomalarga muvofiqlik.
Uniqueness (Uniqueness): kalitlar/hodisalarning dublikatlari mavjud emas.
Consistency (Muvofiqlik): referent yaxlitlik, biznes invariantlar.
Accuracy (aniqlik): «haqiqiy» manbaga yaqinlashish.
Timeliness/Freshness (O’z vaqtida): materialning kechikishi.
Lineage Integrity: kelib chiqish/transformatsiya versiyalarini saqlash.

Har bir domen uchun sifat va kritiklik KPI (critical/major/minor) aniqlanadi.

3) Kontraktlar va sxemalar (haqiqat manbai)

Ma’lumotlar kontraktlari: JSON Schema/Avro/OpenAPI/AsyncAPI, Registry’da joylashtirilgan.
Barqarorlik: backward mos keladigan oʻzgarishlar - nullable qoʻshish; breaking - yangi versiya + qoʻshaloq yozuv.
Izlanuvchanlik: hodisalarda -’event _ id’,’trace _ id’,’schema _ version’,’source’.

4) DQ-kod sifatida: artefaktlarning tuzilishi

Qoidalarni Git’da payplaynlar bilan birga saqlang:

/dq/
rules/
silver. payments. yaml gold. ggr_daily. yaml checks/
sql/
python/
policies/
severities. yaml notifications/
routes. yaml

Qoidalar: deklarativ YAML/SQL;

Jiddiyligi: mapping → alert kanallari/eskalatsiya darajasi;

CI: sxemalar linterlari, muvofiqlik testlari, «dry-run «/simulyator.

5) Qoidalar namunalari (YAML)

yaml table: silver. payments owner: data-payments slo:
freshness_minutes: 15 completeness_percent: 99. 5 rules:
- name: amount_positive severity: critical type: range column: amount min: 0. 01
- name: currency_in_whitelist severity: major type: in_set column: currency set: [EUR, USD, GBP, TRY, BRL]
- name: unique_tx severity: critical type: unique columns: [transaction_id]
- name: fk_user_exists severity: critical type: foreign_key column: user_pseudo_id ref_table: dim. users ref_column: user_pseudo_id
- name: ts_monotonicity severity: minor type: temporal expression: "ts between date_sub(now(), interval 90 day) and now()"

6) SQL-testlar (namunalar)

Kalitlarning oʻziga xosligi

sql
SELECT transaction_id, COUNT() AS c
FROM silver. payments
GROUP BY transaction_id
HAVING COUNT() > 1;

Majburiy maydonlarning to’liqligi

sql
SELECT COUNT() AS nulls
FROM silver. payments
WHERE amount IS NULL OR currency IS NULL OR ts IS NULL;

Ma’lumotnomalar/konsistentlik

sql
SELECT p. currency
FROM silver. payments p
LEFT JOIN ref. currencies r ON p. currency = r. code
WHERE r. code IS NULL;

7) Oqimli DQ (real-time)

Ingest-validatsiya: schema validation, size-limits, tiplar va enum’lar.
On-stream tekshirish: dedup’(event_id, source)’, allowed lateness, valyutalar/summalar validligi.
Chegaralar: tanqidiy xatolar → DLQ + alert; tanqidiy emas → teglash, lekin oʻtkazib yuborish (’dq _ flag’bayrogʻi bilan).
Metriklar: partitsiyalar bo’yicha completeness/lag/dup-rate.

8) Xatolar va istisnolar bilan ishlash

DLQ/Quarantine: «bemor» yozuvlar ushlab turiladi, ularni tuzatish mumkin.
Exception records: istisno kartasi (owner, muddati, sababi, hududi).
Auto-fallback: vitrinaning oxirgi toʻgʻri snapshotidan foydalanish.

SLA yopilishi: tanqidiy - 24-48 soat ≤; major - ≤ 5 qul. kun

9) Maxfiylik va komplayens bilan kelishish

PII-minimallashtirish: tahliliy qatlamlarda «xom» PIIlarni tekshirmang; taxalluslarni ishlating.
RLS/CLS: tekshirish maydonlarni yashirishni hisobga olgan holda amalga oshiriladi.
Hududlashtirish: qoidalar’jurisdiction’(EEA/UK/BR) ni hisobga oladi.
Legal Hold: ushlab qolish uchun arxivni qayta yozishni taqiqlash.

10) Kuzatish darajasi, SLI/SLO va alertlar

Tavsiya etilgan SLI/SLO:
  • Freshness p95 (Silver): ≤ 15 daqiqa.
  • Completeness (critical types): ≥ 99. 5%.
  • Validity (schema): ≥ 99. 9%.
  • Duplicate rate: ≤ 0. 1%.
  • DQ incident MTTR: ≤ 24–48 ч.

Alertlar: jiddiylik yo’nalishi (pager for critical), tekislash (dedup alertlar), «maintenance windows».

11) Dashbordlar (minimal to’plam)

Domenlar va bozorlar bo’yicha Freshness/Completeness issiqlik xaritasi.
incident rate bo’yicha va tuzatishlar qiymati bo’yicha top-N jadvallar.
DQ hunisi: ingest → silver → gold (yo’qotishlar/tuzatishlar).
Tanqidiy hisobotlar uchun linedj xaritasi (regulyator/GGR/RG/AML).
«Eskirgan» sxemalar va mijozlar xaritasi (SDK/sxemalar versiyasi).

12) Jarayonlar va RACI

R (Responsible): Data Engineering (jadvaldagi qoidalar), Domain Owners (semantika).
A (Accountable): Head of Data/CDO.
C (Consulted): Compliance/Legal/DPO, Arxitektura, SRE.
I (Informed): BI/Mahsulot/Marketing/Moliya/Operatsiyalar.

Qoidaning hayot sikli: taklif → revyu → «qorong’u start» → yoqish → monitoring → retrospektiv.

13) Solishtirish va aniqlik (Accuracy)

Nazorat summalari/tranzaksiyalari: OLTP/provayderlar (PSP/KYC) bilan jamlanma.
Ikki konturli taqqoslash: tanlangan validatsiya uchun mustaqil pipeline.
Cheklovlar: metriklar bo’yicha foiz chegaralari (masalan, GGR farqlari ≤ 0. 2%).
Kundalik dalolatnomalar: audit uchun solishtirma hisobotlar.

14) Qiymat va ustuvorlik

Tanqidiy qoidalarni tez - tez ishga tushiring, minor - daily.
Og’ir jadvallar uchun namunalar va materialized checks’dan foydalaning.
Cost/query va cost/GB dasturlarini kuzatib boring.
Buyruqlar kesimida DQ uchun byudjet ajrating (chargeback).

15) Gold-vitrin uchun namunalar (GGR Daily misoli)

yaml table: gold. ggr_daily owner: fin-analytics slo:
ready_by_local_time: "06:00"
rules:
- name: ggr_not_negative severity: critical type: range column: ggr min: 0. 0
- name: market_known severity: major type: in_set column: market set_ref: ref. markets
- name: fx_source_present severity: major type: not_null column: fx_source
- name: completeness_by_market severity: critical type: completeness partition_keys: [event_date, market]
expected_rows_expression: "ref. expected_activity(event_date, market)"

16) Sifat hodisalari: boshqaruv va kommunikatsiya

Ticketing: oʻrnatilgan namunalar va metriklar bilan avtomatik vazifalar yaratish.
Komm-shablonlar: mahsulot/regulyator egalarini ta’sirida xabardor qilish.
Post-mortem: ildiz sababi (schema drift, upstream bug, yuk), CAPA harakatlari, «regressiyalarni qaytarish» nazorati.

17) Joriy etish yo’l xaritasi

MVP (2-4 hafta):

1. Tanqidiy jadvallar katalogi (Payments, Gameplay, GGR, Compliance).

2. 10-15 ta asosiy tekshirishlar uchun YAML qoidalari + CI-validatsiya.

3. Dashbord Freshness/Completeness va critical uchun alertlar.

4. DLQ/Quarantine + runbook tuzatishlar.

2-bosqich (4-8 hafta):
  • Qoidalarni kengaytirish (FK/accuracy), «dry-run» simulyatori, A/B qoʻshimchalari.
  • Lineage, istisnolar bo’yicha kelishuvlar va SLA bilan integratsiya.
  • «Shovqinli» manbalar uchun ingest uchun DQ oqimi.
3-faza (8-12 hafta):
  • Hujjatlarni qoidalar, qiymat metrikasi bo’yicha avtogeneratsiya qilish.
  • «Nazorat konturlari» (independent reconciliation), weekly retrospektivlar.
  • Rule-as-Code platforma SDK, domenni standart tekshirishlar reyestri.

18) Sotishdan oldingi chek-varaq

  • Registridagi kontraktlar va sxemalar, muvofiqlik testlari o’tkaziladi.
  • YAML qoidalari buzilgan, severity/eskalatsiyalar tayinlangan.
  • Dashbordlar va alertlar faol; SLO aniqlangan va kelishilgan.
  • DLQ/Quarantine mavjud, runbooks hujjatlashtirilgan.
  • Istisnolar/solishtirma dalolatnomalar tartib-taomillari Legal/Compliance bilan kelishilgan.
  • Tekshirishlar qiymatini o’lchash va og’ir so’rovlar uchun limitlar.

19) Tez - tez xatolar va ulardan qanday qochish mumkin

Shartnomasiz xom ma’lumotlar: schema-first va consumer-tests.
«Qo’lda» tekshirish: DQ-kod va CI’ga o’tkazing.
Hech qanday ustuvorlik yoʻq: critical/major/minor va alert kanallarini ajrating.
DLQ mavjud emas: xatolar bilan ishlash uchun hech narsa yo’q - karantin qo’shing.
Qiymat ignori: so’rovlarni profillang, materiallashtirishdan foydalaning.
Post-mortemlar yo’q: xatolar takrorlanadi - CAPA va regressiya nazoratini kiriting.

20) Jami

Ma’lumotlar sifatini nazorat qilish tizimi - bu turli xil tekshiruvlar to’plami emas, balki boshqariladigan dastur: kontraktlar va sxemalar, DQ-kod, kuzatuv va SLO, hodisalar va solishtirmalar tartibi. Ushbu maqolaga amal qilib, siz tartibga solish hisoboti, oziq-ovqat yechimlari va real-time xavf detektorlari uchun yetarli bo’lgan takrorlanadigan, tekshiriladigan va tejamkor ma’lumotlarni olasiz.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Telegram
@Gamble_GC
Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.