GH GambleHub

Paket məlumat emalı

1) Təyinatı və dəyəri

Batch konveyerləri etibarlı gündəlik/saatlıq vitrinlər təşkil edir:
  • Tənzimləyici və maliyyə hesabatları (GGR/NGR, vergilər, RG/AML reyestrləri).
  • BI və məhsul analitikası (kohortlar, LTV, konversiya huniləri).
  • Doğruluq (OLTP, DWH, provayderlər/PSP), tarixləşmə (SCD).
  • ML üçün fitnes və təlim dəstlərinin hazırlanması.

Əsas xüsusiyyətlər: proqnozlaşdırıla bilənlik, tamlıq, təkrarlanabilirlik, məlumat vahidi üçün aşağı qiymət.

2) Memarlıq (istinad)

1. Ingest (raw capture): HTTP/gRPC, ALTP-dən CDC, provayder yükləmələri → Bronze.
2. Lakehouse: Bronze (raw, append-only) → Silver (clean/conform) → Gold (serve).
3. Orkestrasiya: Airflow/Dagster/Prefect (DAG 'i, asılılıq, retray, SLA).
4. Emal: Spark/Trino/DBT/SQL mühərrikləri; partizan və ACID formatları (Delta/Iceberg/Hudi).
5. DQ və Müqavilələr: Schema Registry, DQ Qaydaları (YAML/SQL), consumer-tests.
6. Xidmət: BI/semantik təbəqə, hesabat ixracatı (CSV/PDF/JSON + hash), API/GraphQL.
7. Müşahidə: payplayn metrikası, lineage, log, qiymət (cost/GB, cost/query).

3) Tezliklər və SLAs

Gündəlik (D + 1 - 06:00 lok.) : GGR hesabatları, tənzimləyici boşaltmalar, yoxlamalar.
Saatlıq/kvazirealtaym: Ops/Maliyyə üçün əməliyyat panelləri.
Həftəlik/aylıq: maliyyə konsolidasiyası, modellər və retro proseslər.

Tövsiyə olunan SLO:
  • Gold-gündəlik vitrinlər yerli vaxtla 06: 00-a qədər hazırdır.
  • Freshness Silver p95 ≤ mikrobatça üçün 15 dəq/gündüz üçün 2 saat ≤.
  • Completeness ≥ 99. 5%, Validity (sxem) ≥ 99. 9%.

4) Artımlı yükləmələr və CDC

Yanaşmalar:
  • CDC (Change Data Capture): Debezium/log-replikasiya → Bronze → Silver inkrements.
  • Watermark vaxtı ilə: 'updated _ at> max_loaded_ts'.
  • Hash-müqayisə: 'md5 (row)' dəyişiklik detektivi üçün.
  • Upsert/Merge: Silver/Gold.
MERGE nümunəsi (Delta/Iceberg):
sql
MERGE INTO silver. payments AS s
USING staging. payments_delta AS d
ON s. transaction_id = d. transaction_id
WHEN MATCHED THEN UPDATE SET
WHEN NOT MATCHED THEN INSERT;

5) SCD (ölçmələrin tarixləşdirilməsi)

SCD I: yenidən yazma (imla, minor düzəlişlər).
SCD II: Tam funksional tarix ('valid _ from/valid _ to/is _ current').
SCD III: qısa müqayisə üçün «əvvəl/sonra».

SCD II (nümunə):
sql
MERGE INTO dim. users_scd t
USING stage. users u
ON t. user_pseudo_id = u. user_pseudo_id AND t. is_current = TRUE
WHEN MATCHED AND (t. country <> u. country OR t. rg_status <> u. rg_status)
THEN UPDATE SET t. is_current = FALSE, t. valid_to = CURRENT_TIMESTAMP
WHEN NOT MATCHED
THEN INSERT (user_pseudo_id, country, rg_status, valid_from, valid_to, is_current)
VALUES (u. user_pseudo_id, u. country, u. rg_status, CURRENT_TIMESTAMP, NULL, TRUE);

6) Backfill и Reprocessing

Backfill: ilkin doldurma/tarixi yükləmə.
Reprocessing: məntiq/data düzəlişlərindən sonra vitrinlərin yenidən hesablanması.

Prinsiplər:
  • İdempotentlik (MERGE/upsert), Bronze dəyişməzliyi, məntiq versiyası.
  • Təkrar qaçışlar üçün Time-travel; metadata snapshot.
  • Guardrails: diapazonları, kvotaları və rəqabətli jobları məhdudlaşdırın.
  • Sənədləşmə: runbook addımlar və tamamlama meyarları ilə.

7) Qatların modelləşdirilməsi

Bronze:
  • Append-only, partiyalar 'event _ date', 'jurisdiction', 'tenant'.
  • Orijinal payload (forensika üçün) saxlayırıq, 'ingested _ at' yazırıq.
Silver:
  • Normallaşma və standartlaşdırma: FK/kataloqlar, dedup, FX/taymzonlar.
  • Fakt/Ölçmə cədvəlləri (3NF/BCNF), əsas ölçmələr üçün SCD.
Gold:
  • BI/tənzimləyici/maliyyə altında denoralize vitrinlər, SLA hazırlıq.
  • Aqreqatların materiallaşdırılması; dəyişməz ixrac artefaktları (hash + WORM).

8) Məlumat keyfiyyəti (DQ-kod kimi)

Silver üçün YAML qaydalarının nümunəsi:
yaml table: silver. payments slo:
freshness_minutes: 15 completeness_percent: 99. 5 rules:
- name: amount_positive type: range column: amount_base min: 0. 01 severity: critical
- name: currency_whitelist type: in_set column: currency set: [EUR,USD,GBP,TRY,BRL]
severity: major
- name: unique_tx type: unique columns: [transaction_id]
severity: critical
- name: fk_user type: foreign_key column: user_pseudo_id ref_table: dim. users_scd severity: critical

Reaksiya siyasəti: critical → fail job + DLQ; major/minor → tag + hesabat.

9) Semantik təbəqə və hesabat

Semantic-layer/metrics-store-da metriklərin vahid tərifləri (GGR/NGR, ARPPU, Retention).
Metrik versiyası; BI/ixrac paketləri ilə inteqrasiya.
Hesabatlar: CSV/JSON/PDF + sha256, boşaltma jurnalı və lazım olduqda Legal Hold.

10) Gizlilik, rezidentlik, təhlükəsizlik

PII-minimallaşdırma: istifadəçilərin təxəllüsləşdirilməsi; mapping - ayrıca qorunan konturda.
Data residency: EEA/UK/BR ilə ayrı kataloqlar/açarlar; hüquqi əsas olmadan cross-regional join 'oların qadağan.
Şifrələmə: TLS in-tranzit; KMS/CMK at-rest; ixraca nəzarət.
DSAR/RTBF: hesablanabilir proyeksiyalar, seçici redaktələr; giriş auditi.
Legal Hold: tənzimləyici artefaktlar üçün WORM arxivləri.

11) Performans və dəyəri

Tarix/bazar/tenant üzrə partizanlaşdırma; Tez-tez predikatlar üçün Z-order/cluster.
Formatlar: Parquet + ACID cədvəlləri; sıxılma/statistika, OPTIMIZE/VACUUM.
Materiallaşma: Gold-da sabit aqreqasiya; «monolit» joblardan qaçın.
Kvotalar/büdcələr: komandalar üçün chargeback; backfill limitləri/ağır sorğular.
Planlaşdırma: aşağı yük pəncərələri (gecə/həftə sonu), növbə prioritetləri.

12) Müşahidə və nəzarət

Payplaynlərin metrikası: duration, success rate, retries, rows processed, cost/query.
DQ metrikası: completeness, validity, uniqueness, FK səhvləri, drift.
Freshness heatmap: domenlər və bazarlarda; SLA daşbordları.
Lineage: Bronze-dən hesabatlara; dəyişikliklər əvvəl impact-analiz.
Alertlər: SLO büdcələri, DQ deqradasiyaları, gecikmələr, dəyər artımı.

13) SQL/model nümunələri

Valyutaların normallaşması (Silver):
sql
CREATE OR REPLACE TABLE silver. payments AS
SELECT p. transaction_id,
p. user_pseudo_id,
p. currency,
p. amount_orig,
r. rate AS fx_rate_used,
p. amount_orig r. rate AS amount_base,
p. market,
CAST(p. event_time AS TIMESTAMP) AS event_time
FROM bronze. payment_events p
JOIN dim. fx_rates r
ON r. date = DATE(p. event_time)
AND r. ccy_from = p. currency AND r. ccy_to = 'EUR';
GGR gündəlik vitrin (Gold):
sql
CREATE OR REPLACE VIEW gold. ggr_daily AS
SELECT
DATE(b. event_time) AS event_date,
b. market,
g. provider_id,
SUM(b. stake_base) AS stakes_eur,
SUM(p. amount_base) AS payouts_eur,
SUM(b. stake_base) - SUM(p. amount_base) AS ggr_eur
FROM silver. fact_bets b
LEFT JOIN silver. fact_payouts p
ON p. user_pseudo_id = b. user_pseudo_id
AND p. game_id = b. game_id
AND DATE(p. event_time) = DATE(b. event_time)
JOIN dim. games g ON g. game_id = b. game_id
GROUP BY 1,2,3;
Tam nəzarət (DQ SQL):
sql
SELECT market, event_date, COUNT() AS n
FROM silver. fact_bets
GROUP BY market, DATE(event_time) AS event_date
HAVING n = 0;

14) Proseslər və RACI

R (Responsible): Data Engineering (DAG 'i, Silver/Gold modelləri), Data Platform (infra, sxem registri, DQ).
A (Accountable): Head of Data / Chief Data Officer.
C (Consulted): Compliance/Legal/DPO (PII/retention), Finance (FX/GGR), Risk (RG/AML), SRE (SLO/стоимость).
I (Informed): BI/Məhsul/Marketinq/Əməliyyatlar.

15) Tətbiqi yol xəritəsi

MVP (4-6 həftə):

1. Lakehouse Bronze/Silver (ACID formatı), CDC/2-3 domen üçün inkrementlər.

2. DQ-kimi kod: Payments/Gameplay + CI-validasiya üçün 10-15 qaydaları.

3. SLA ilə ilk Gold vitrin (GGR Daily) 06:00; hesabat ixracı + hash.

4. Daşbordlar Freshness/Completeness/Cost, baza riskləri.

Faza 2 (6-12 həftə):
  • SCD II для users/games/providers; domenlərin genişləndirilməsi.
  • Metriklərin semantik təbəqəsi; OLTP/provayderləri ilə yoxlama (accuracy).
  • Backfill/reprocessing, lineage və impact-analizi, regionlaşdırma (EEA/UK) prosedurları.
Faza 3 (12 + həftə):
  • Avtomatik dəyişiklik simulyasiyası (dry-run), büdcələr/kvotalar, chargeback.
  • Avtomatik sənədləşdirmə (data product pages), DR-təlimlər və time-travel-bərpa.
  • Qiymətin optimallaşdırılması (klasterləşdirmə, materiallaşdırma, TTL, vakuum).

16) Satış öncəsi yoxlama siyahısı

  • Registry-də müqavilələr və sxemlər, uyğunluq testləri yaşıl.
  • Artımlı downloads/CDC çalışır, MERGE idempotentdir.
  • DQ qaydaları aktivdir; critical → fail + DLQ; pozuntular haqqında hesabat.
  • SLA/təravət/dolğunluq daşbordları; alertlər qurulmuşdur.
  • PII/DSAR/RTBF/Legal Hold siyasətləri Qanuni/DPO tərəfindən təsdiqlənmişdir.
  • Runbook 'və backfill/reprocessing/DR test edilmişdir.
  • Nəzarət altında qiymət (cost/query, cost/GB, kvotalar).

17) Anti-nümunələr və necə qarşısını almaq olar

Monolit gecə jobları: müstəqil addımlara parçalayın, partizanlara paralel olun.
ehtiyac olmadan Full-reload: Inkrements/CDC/merji istifadə edin.
Analitikada PII qarışdırma: mappinqləri ayrıca saxlayın, CLS/RLS tətbiq edin.
DQ/lineage yoxdur: DQ kodunu daxil edin və mənşəyini izləyin.
«Əl» backfill 'lər: avtomatlaşdırın və sənədləşdirin, diapazonları məhdudlaşdırın.
İdarə olunmayan dəyər: klasterləşdirmə, materiallaşdırma, retenşn siyasəti.

18) Lüğət (qısa)

CDC - ALTP-dən dəyişikliklərin tutulması.
SCD - yavaş dəyişən ölçülər (I/II/III).
Lakehouse - data lake + ACID cədvəlləri.
MERGE/Upsert - idempotent yeniləmə əməliyyatları.
Time-travel - cədvəllərin tarixi versiyalarını oxumaq.
WORM - artefaktların dəyişməz saxlanması.

19) Yekun

Paket emalı proqnozlaşdırıla bilən, təkrar edilə bilən və komplayent konveyerlərin intizamıdır. Schema-first, increments/CDC, SCD-tarixləşdirmə, DQ-kimi-kod, müşahidə və şüurlu iqtisadiyyat prinsiplərinə əməl edərək, siz stabil Gold vitrinləri və hər an yoxlanılan və audit üçün hazır hesabatlar alacaqsınız.

Contact

Bizimlə əlaqə

Hər hansı sualınız və ya dəstək ehtiyacınız varsa — bizimlə əlaqə saxlayın.Həmişə köməyə hazırıq!

İnteqrasiyaya başla

Email — məcburidir. Telegram və ya WhatsApp — istəyə bağlıdır.

Adınız istəyə bağlı
Email istəyə bağlı
Mövzu istəyə bağlı
Mesaj istəyə bağlı
Telegram istəyə bağlı
@
Əgər Telegram daxil etsəniz — Email ilə yanaşı orada da cavab verəcəyik.
WhatsApp istəyə bağlı
Format: ölkə kodu + nömrə (məsələn, +994XXXXXXXXX).

Düyməyə basmaqla məlumatların işlənməsinə razılıq vermiş olursunuz.