Logo GH

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.

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.