GH GambleHub

Maglumatlary bukjada gaýtadan işlemek

1) Maksady we gymmaty

Batch konweýerleri aşakdakylar üçin ygtybarly gündelik/sagatlyk penjireleri emele getirýär:
  • Kadalaşdyryjy we maliýe hasabatlylygy (GGR/NGR, salgytlar, RG/AML sanawlary).
  • BI we azyk analitikleri (kogortlar, LTV, konwersiýa hunileri).
  • Takyklyk barlagy (OLTP, DWH, üpjün edijiler/PSP), taryhlandyryş (SCD).
  • ML üçin şekilleri we okuw toplumlaryny taýýarlamak.

Esasy häsiýetleri: öňünden aýdylýanlygy, dolulygy, köpeldilmegi, maglumatlar birligi üçin arzan bahasy.

2) Binagärlik (salgylanma)

1. Ingest (raw capture): HTTP/gRPC, ALTP-den CDC, üpjün ediji ýüklemeleri → Bronze.
2. Lakehouse: Bronze (raw, append-only) → Silver (clean/conform) → Gold (serve).
3. Orkestr: Airflow/Dagster/Prefect (DAG 'i, endikler, retralar, SLA).
4. Gaýtadan işlemek: Spark/Trino/DBT/SQL hereketlendirijileri; partiýa ýerleşdirmek we ACID formatlary (Delta/Iceberg/Hudi).
5. DQ we Şertnamalar: Schema Registry, DQ-düzgünler (YAML/SQL), consumer-tests.
6. Hyzmat: BI/semantik gatlak, hasabat eksportlary (CSV/PDF/JSON + hash), API/GraphQL.
7. Syn edilişi: paýlaýynlaryň metrikleri, lineage, logi, bahasy (cost/GB, cost/query).

3) Ýygylyklar we SLAs

Gündelik (D + 1 06:00 lok.) : GGR hasabatlary, düzgünleşdiriji düşürmeler, deňeşdirmeler.
Sagatlyk/kwazirealtaim: Ops/Maliýe üçin iş panelleri.
Hepdelik/aýlyk: maliýe konsolidasiýasy, modeller we retro-prosessler.

Maslahat berilýän SLO:
  • Gold-gündelik penjireler ýerli wagt bilen 06: 00-a çenli taýýar.
  • Freshness Silver p95 ≤ mikrobatçalar üçin 15 minut/gündizleri üçin 2 sagat ≤.
  • Completeness ≥ 99. 5%, Hakykylyk (shema) ≥ 99. 9%.

4) Içerki ýüklemeler we CDC

Çemeleşmeler:
  • CDC (Change Data Capture): Debezium/log-replikasiýa → Bronze → Silver.
  • Watermark wagty: 'updated _ at> max_loaded_ts'.
  • Hash-deňeşdirme: 'md5 (row)' üýtgetmek üçin.
  • Upsert/Merge: Silver/Gold.
MERGE (Delta/Iceberg) mysaly:
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çegleriň taryhy)

SCD I: täzeden ýazmak (orfografiýa, minor düzedişler).
SCD II: Doly işleýän hekaýa ('valid _ from/valid _ to/is _ current').
SCD III: gysgaça deňeşdirmeler üçin "öň/soň".

SCD II (mysal):
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: ilkinji doldurmak/taryhy goşmaça ýüklemek.
Reprocessing: logika/maglumatlar düzedilenden soň penjireleri gaýtadan hasaplamak.

Ýörelgeler:
  • Idempotentlik (MERGE/upsert), Bronze üýtgewsizligi, logikanyň wersiýalanmagy.
  • Gaýtadan geçmek üçin Time-travel; meta-maglumatlaryň snapshotlary.
  • Guardrails: diapazonlary, kwotalary we bäsdeşlik joblaryny çäklendirmek.
  • Resminamalar: ädimler we tamamlanma ölçegleri bilen runbook.

7) Gatlaklary modellemek

Bronze:
  • Append-only, partiýa 'event _ date', 'jurisdiction', 'tenant'.
  • Asyl payload (forensika üçin) saklaýarys, 'ingested _ at' ýazýarys.
Silver:
  • Kadalaşmak we standartlaşdyrmak: FK/maglumat kitaplary, dedup, FX/taýmzonlar.
  • Faktlaryň/ölçegleriň tablisalary (3NF/BCNF), esasy ölçegler üçin SCD.
Gold:
  • BI/düzgünleşdiriji/maliýe, taýýar SLA üçin denormallaşdyrylan penjireler.
  • Agregatlaryň materiallaşdyrylmagy; üýtgewsiz eksport artefaktlary (hash + WORM).

8) Maglumatlaryň hili (DQ-kod)

Kümüş üçin YAML düzgünleriniň mysaly:
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

Reaksiýa syýasaty: critical → fail job + DLQ; major/minor → tag + hasabat.

9) Semantiki gatlak we hasabat

Semantic-layer/metrics-store-da metrikleriň (GGR/NGR, ARPPU, Retention) birmeňzeş kesgitlemeleri.
Metrleriň wersiýasy; BI/eksport bukjalary bilen integrasiýa.
Hasabatlar: CSV/JSON/PDF + sha256, düşüriş magazineurnaly we zerur bolan halatynda Legal Hold.

10) Gizlinlik, rezidentlik, howpsuzlyk

PII-minimallaşdyrmak: ulanyjylaryň lakamlaşdyrylmagy; mapping - aýratyn goralýan konturda.
Data residency: EEA/UK/BR boýunça aýratyn kataloglar/açarlar; hukuk esassyz sebitleýin join 'olary gadagan etmek.
Şifrlemek: TLS in-transit; KMS/CMK at-rest; eksportlara gözegçilik.
DSAR/RTBF: hasaplanyp bilinýän proýeksiýalar, saýlama redaktirlemeler; giriş auditi.
Legal Hold: Düzgünleşdiriji artefaktlar üçin WORM arhiwleri.

11) Öndürijiligi we bahasy

Senesi/bazary/tenanty boýunça partiýa ýerleşdirmek; Z-order/cluster ýygy-ýygydan predikatlar boýunça.
Formatlar: Parquet + ACID tablisalary; gysyş/statistika, OPTIMIZE/VACUUM.
Materializasiýa: Gold-da durnukly agregasiýa; "monolit" joblardan gaça durmak.
Kwotalar/býudjetler: toparlar boýunça chargeback; backfill/agyr soraglara çäklendirmeler.
Meýilnamalaşdyrmak: pes ýükli penjireler (gije/dynç günleri), nobatlaryň ileri tutulýan ugurlary.

12) Gözegçilik we dolandyryş

Paýlaýynlaryň metrikleri: duration, success rate, retries, rows processed, cost/query.
DQ-metrikler: completeness, validity, uniqueness, FK-ýalňyşlyklar, drift.
Freshness heatmap: domenler we bazarlar boýunça; SLA dashbordlary.
Lineage: Bronzadan hasabatlara çenli; üýtgemezden öň impact-analiz.
Alertler: SLO-býudjetleri, DQ zaýalanmalary, gijikdirmeler, çykdajylaryň ýokarlanmagy.

13) SQL/modelleriň mysallary

Walýuta kadalaşmagy (Kümüş):
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 (Gold) gündelik penjiresi:
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;
Doly gözegçilik (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) Amallar we RACI

R (Responsible): Data Engineering (DAG 'i, Silver/Gold modelleri), Data Platform (infra, shema registrleri, 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/Önüm/Marketing/Amallar.

15) Durmuşa geçirmegiň ýol kartasy

MVP (4-6 hepde):

1. Lakehouse Bronze/Silver (ACID formaty), CDC/2-3 domen üçin inkrementler.

2. DQ-kod hökmünde: Payments/Gameplay + CI-tassyklamak üçin 10-15 düzgün.

3. SLA-dan 06: 00-a çenli ilkinji Gold-vitrin (GGR Daily); Hasabat eksporty + hash.

4. Daşbordlar Freshness/Completeness/Cost, esasy alertler.

2-nji faza (6-12 hepde):
  • SCD II для users/games/providers; Domenleri giňeltmek.
  • Metrikleriň semantik gatlagy; OLTP/üpjün edijiler bilen barlagy (accuracy).
  • Backfill/reprocessing, lineage we impact-analiz, sebitleşdirmek amallary (EEA/UK).
3-nji faza (12 hepde):
  • Üýtgeşmeleriň awtosimulýasiýasy (dry-run), býudjetler/kwotalar, chargeback.
  • Awtomatiki resminamalar (data product pages), DR-maşklar we time-travel-dikeldiş.
  • Gymmaty optimizirlemek (toparlaşdyrmak, materiallaşdyrmak, TTL, vakuum).

16) Azyk önüminden öň çek-sanawy

  • Registriýadaky şertnamalar we shemalar, laýyklyk synaglary ýaşyl.
  • Içerki ýüklemeler/CDC işleýär, MERGE idempotentdir.
  • DQ düzgünleri işjeň; critical → fail + DLQ; düzgün bozmalar barada hasabat.
  • SLA/tazelik/doly dashbordlary; aldawlar.
  • PII/DSAR/RTBF/Legal Hold syýasaty Kanuny/DPO tarapyndan tassyklandy.
  • Runbook 'we backfill/reprocessing/DR synagdan geçirildi.
  • Gözegçilik astynda bahasy (cost/query, cost/GB, kwoutlar).

17) Anti-pattern we nädip öňüni almaly

Monolit gijeki joblar: garaşsyz ädimlere bölüň, partiýalara paralel.
Doly-reload gerek däl :/CDC/merji inkrementlerini ulanyň.
Analitikada PII garyşdyrma: mappingleri aýratyn saklaň, CLS/RLS ulanyň.
DQ/lineage ýoklugy: DQ-kody giriziň we gelip çykyşyny yzarlaň.
"El" backfill's: aralyklary çäklendirmek, awtomatlaşdyrmak we resminamalaşdyrmak.
Dolandyrylmaýan gymmaty: toparlaşdyrmak, materiallaşdyrmak, retenşn syýasaty.

18) Sözlük (gysgaça)

CDC - ALTP-den üýtgeşmeleri ele almak.
SCD - haýal üýtgeýän ölçegler (I/II/III).
Lakehouse - data lake + ACID tablisalary.
MERGE/Upsert - indempotent täzeleniş amallary.
Time-travel - tablisalaryň taryhy wersiýalaryny okamak.
WORM - artefaktlary üýtgewsiz saklamak.

19) Jemleýji

Paketleýin gaýtadan işlemek - öňünden aýdyp boljak, köpeldilýän we jemleýji konweýerleriň düzgün-nyzamydyr. Şema-first, inkrementler/CDC, SCD-taryhlandyryş, DQ-kod, gözegçilik we aňly ykdysadyýet ýörelgelerine eýerip, yşyklar tarapyndan barlanylýan we islendik pursatda audit üçin taýýar bolan durnukly Gold-vitrinleri we hasabatlary alarsyňyz.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.