GH GambleHub

Maglumat kölleri we akym agregasiýasy

1) Maksady we gymmaty

Data Lake/Lakehouse - uzak möhletli saklamagyň we uly göwrümli okamagyň esasy gatlagy, bu ýerde:
  • Önümleriň/oýunlaryň/tölegleriň akymlary Bronze "bolşy ýaly" gonýar.
  • "Silver" ylalaşylan açarlary we hilini üpjün edip, kadalaşdyrýar we baýlaşdyrýar.
  • Gold - BI, sazlaýjy, antifrod/RG üçin jemlenen penjireler (şol sanda real-/near-real-time).

Lakehouse akymlaryny jemlemek: hasabatlaryň pes gijikdirilmegini, öňünden aýdyp boljak bahany, köpeldijiligi we forensikany berýär.

2) Salgylanma arhitekturasy

1. Ingest/Edge: HTTP/gRPC, OTel, batch endpoints → шина (Kafka/Redpanda).
2. Bronze (append-only): obýekt ammary + ACID-tablisalar (Delta/Iceberg/Hudi), partiýa by date/market/tenant; asyl tölegini saklamak.
3. Stream Compute: Flink/Spark/Beam - penjire agregatlary, CEP, dedup, online-lookups.
4. Kümüş (clean/conform): walýuta/taýmzon, FK/kataloglar, ölçeg üçin SCD.
5. Serving/OLAP: ClickHouse/Pinot/Druid - paneller üçin materiallaşdyrylan minut/sekunt agregatlary.
6. Gold (serve): gündiz/sagat penjireleri, düzgünleşdiriji bölekler, üýtgewsiz eksport paketleri (WORM).
7. Dolandyryş konturlary: Schema Registry, DQ-kod, lineage, kataloglar, syrlar/KMS, RBAC/ABAC.

3) Şertnamalar we shemalar

Schema-first: JSON/Avro/Protobuf; Hökmany meýdanlar: 'event _ time (UTC)', 'event _ id', 'trace _ id', 'user _ pseudo _ id', 'market', 'schema _ version'.
Ewolýusiýa: back-compatible → nullable goşmak; breaking → '/v2 '+ goşa ýazgy.
Katalog: domeniň beýany, eýesi, tazelik SLA, DQ düzgünleri, lineage.

4) Köle akymlaryň gonmagy

Aşakda exactly-once: at-least-once neşir etmek + idempotent sink (MERGE/upsert 'event _ id').
Dedup: akymdaky stateful + Silver-daky özboluşlylyk.
Faýllary ýygnamak: small files → okamak we çykdajy üçin yzygiderli OPTIMIZE/VACUUM.
Time-travel: düzedişi, belligi we auditi öz içine alýar.

"Iceberg" partizanlaşdyryş mysaly (DDL pikiri):
sql
CREATE TABLE bronze. payment_events (
event_id STRING, user_pseudo_id STRING, currency STRING,
amount DECIMAL(18,2), market STRING, event_time TIMESTAMP, payload STRING
)
PARTITIONED BY (days(event_time), market);

5) Akym agregasiýasy: penjireler we watermarks

Penjireler:
  • Tumbling - durnukly paneller üçin kesgitlenen (mysal üçin 1 min/5 min).
  • Hopping - "tekiz" metrikler üçin örtülen ädim (ädim
  • Session - hereketsizlik boýunça özüni alyp barş boşluklary.
  • Watermarks: late data dolandyryşy (adatça 2-5 minut), goşmaça emissiýa/düzediş düzgünleri.
Flink SQL - bazarlar boýunça 1 minutlyk goýumlar:
sql
SELECT market,
TUMBLE_START(event_time, INTERVAL '1' MINUTE) AS ts_min,
COUNT() AS deposits_1m,
SUM(amount_base) AS sum_1m
FROM silver. payments
GROUP BY market, TUMBLE(event_time, INTERVAL '1' MINUTE);

6) Agregatlaryň materiallaşdyrylmagy

OLAP hereketlendirijisi (ClickHouse/Pinot/Druid): Dashbordlar we operatiw analitikler üçin minut/sekunt agregatlaryny saklaýar.
Lakehouse Gold: Hasabat bermek we deňeşdirmek üçin gündelik/sagat böleklerini saklaýar.

ClickHouse - materialized view (her minutda GGR):
sql
CREATE MATERIALIZED VIEW mv_ggr_1m
ENGINE = AggregatingMergeTree()
PARTITION BY toDate(event_time)
ORDER BY (toStartOfMinute(event_time), market, provider_id) AS
SELECT toStartOfMinute(event_time) AS ts_min,
market,
provider_id,
sumState(stake_base) AS s_stake,
sumState(payout_base) AS s_payout
FROM stream. game_events
GROUP BY ts_min, market, provider_id;
Gold - Gün dilimi (Lakehouse):
sql
CREATE OR REPLACE VIEW gold. ggr_daily AS
SELECT
DATE(event_time) AS event_date,
market, provider_id,
SUM(stake_base) AS stakes_eur,
SUM(payout_base) AS payouts_eur,
SUM(stake_base) - SUM(payout_base) AS ggr_eur
FROM silver. fact_game_financials
GROUP BY 1,2,3;

7) Kümüş: kadalaşmak we utgaşdyrmak

Wagt we walýuta: 'event _ time (UTC)', 'amount _ base', 'fx _ rate _ used', 'fx _ source'.
Açarlar/gollanmalar: 'user _ pseudo _ id', 'game _ id', 'provider _ id', 'market'.
SCD II: ölçegleriň taryhy (users/games/providers/RG/KYC).
DQ düzgünleri: açarlaryň özboluşlylygy, gollanmalar, jemleriň diapazony, temporal-ygtybarlylygy.

8) Agregatlaryň sanawy we "dogry" kesgitlemeler

Semantic Layer: GGR/NGR, stawkalar/ýeňişler, öwrülişik, ARPPU, latency p95.
Metrikleriň wersiýasy: 'metric _ version' we 'as-of' hasaplamalar.
Dok kartoçkalary: owner, formula, çeşmeler, taýynlyk SLA.

9) Exactly-once/idempotentlik we tertip

Teker: at-least-once + partiýa ýerleşdirmek (ýerli tertip).
Gaýtadan işlemek: 'event _ id' (TTL 24-72h), SER/düzedişler bilen penjire operatorlary.
Sink: geleşik komissiýalary ýa-da idempotent upsert/merge.
Outbox/Inbox: kepillik bilen ALTP-den domen wakalaryny çap etmek.

10) Late data we düzedişler

Allowed lateness: iş vitrinleri üçin 2-5 minut; Gold üçin gündelik gaýtadan ýygnamak.
Düzedişler: OLAP-a goşmaça emissiýalar we Gold (idempotent) -y gaýtadan saýlamak.
Baýdaklar: 'late = true', 'correction _ of = <event _ id>' audit üçin.

11) Gözegçilik we DQ

SLI/SLO (görkezmeler):
  • p95 ingest → 1-minutlyk vitrin ≤ 2-5 s; Gold daily 06: 00-a çenli taýýar.
  • Completeness ≥ 99. 5%; Schema validity ≥ 99. 9%; Trace coverage ≥ 98%.
  • Paypline metrikleri: lag/throughput/busy time/state size, late-ratio, dup-rate.
  • DQ-daşbordlar: Freshness/Completeness/Validity, ýitgiler hunisi, "gyzgyn" açarlar kartasy.
  • Lineage: Bronzadan Gold/eksporta barýan ýol; üýtgeşmeler ýüze çykanda impact-analiz.

12) Gizlinlik, rezidentlik, howpsuzlyk

PII-minimallaşdyrmak: lakamlaşdyrmak, aýratyn goralýan mapping.
Residency: EEA/UK/BR - aýry-aýry kataloglar we şifrlemek açarlary; esassyz sebitleýin join 'olaryň gadagan edilmegi.
Şifrlemek: TLS in-transit; KMS/CMK at-rest; düzgünleşdirijide eksport gollary + WORM.
DSAR/RTBF/Legal Hold: saýlama redaktirlemeler, pozulmalary doňdurmak, diňlenilýän elýeterlilik.

13) Öndürijiligi we bahasy

Partiýa ýerleşdirilmegi: senesi/bazary/tenanty boýunça; klaster/Z-order ýygy-ýygydan süzülýän atributlar boýunça.
Kompaksiýa: small files-i ýok etmek, yzygiderli OPTIMIZE/VACUUM.
Materializasiýa: minut/sekunt - OLAP-da; gün/sagat - Gold.
Tiered storage: hot/warm/cold, SLA recovery, chargeback by command (cost/GB, cost/query).
Deslapky agregasiýa/eskizler: HyperLogLog/approx-distinct kabul ederlikli ýerlerde.

14) Mysallar (bölekler)

Flink CEP - goýumlaryň gurluşy (10 minut):
python if count_deposits(window=10MIN) >= 3 \
and sum_deposits(window=10MIN) > THRESH \
and all(d. amount < REPORTING_LIMIT for d in window_events):
emit_alert("AML_STRUCTURING", user_id, snapshot())
SQL:
sql
CREATE TABLE silver. payments AS
SELECT EXCEPT(rn) FROM (
SELECT p., ROW_NUMBER() OVER (PARTITION BY event_id ORDER BY event_time) rn
FROM bronze. payment_events p
) WHERE rn = 1;
Iceberg/Delta - MERGE idempotent:
sql
MERGE INTO silver. fact_bets s
USING stage. fact_bets_delta d
ON s. bet_id = d. bet_id
WHEN MATCHED THEN UPDATE SET
WHEN NOT MATCHED THEN INSERT;

15) Amallar we RACI

R (Responsible):
  • Data Platform (Lakehouse/katalog/ACID, kompaksiýa),
  • Akym (agregatlar/CEP/dedup),
  • Domain Analytics (metrikler/Gold).
  • A (Accountable): Head of Data/CDO.
  • C (Consulted): Compliance/Legal/DPO (PII/residency/Legal Hold), Finance (FX/GGR), SRE (SLO/стоимость), Security.
  • I (Informed): BI/Önüm/Marketing/Amallar.

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

MVP (3-5 hepde):

1. Lakehouse Bronze/Silver (ACID-tablisalar), Kafkadan ingest, shemalaryň sanawy.

2. OLAP-da esasy akym agregatlary (1-5 minut); Gold penjiresi. ggr_daily (D + 1 - 06:00).

3. "Payments/Gameplay" üçin DQ-kod, "Freshness/Completeness" dashbordlary.

4. Kompaksiýa/OPTIMIZE, minimal cost-metrikler we lag/late/dup alertleri.

2-nji faza (5-10 hepde):
  • Silver giňeltmek (users/games/providers üçin SCD II), lineage we impact-analiz.
  • Asinhron lookups (RG/KYC/ASN/BIN), late-düzedişleri dolandyrmak.
  • Metrikleriň semantik gatlagy, eksport düzgüni (WORM/gollar).
3-nji faza (10-16 hepde):
  • Köp sebit, DR/simulýator, awto-tuning penjireleri we watermarks.
  • Cost-dashbordlar, chargeback/kwotalar, tiered storage we arhiw.
  • Penjireleriň we metrik kartoçkalaryň resminamalarynyň awtogenerasiýasy.

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

  • Sanawdaky shemalar we şertnamalar; back-compat synaglary ýaşyl.
  • Dedup, watermark/allowed lateness, DLQ goşuldy.
  • Kompaksiýa/OPTIMIZE/VACUUM meýilnamalaşdyryldy.
  • SLO: p95 ingest→minute-view, Gold до 06:00; alertler lag/late/dup/state size.
  • DQ düzgünleri işjeň; lineage Bronzadan eksporta çenli görünýär.
  • RBAC/ABAC и KMS; rezidentlik we DSAR/RTBF/Legal Hold synagdan geçirildi.
  • Gözegçilik astynda bahasy (cost/GB, cost/query, cold paýy), repleýlere çäklendirmeler.

18) Anti-patternler we töwekgelçilikler

Çig we hasabat maglumatlarynyň bir tablisada garyşdyrylmagy: reproducibility bozulýar.
Kompaksiýanyň ýoklugy: small files → gymmat soraglar.
FX-ni "yza" hasaplamak: taryhy we hasabatlary bozýar.
Watermarks/late syýasaty ýok: penjireler we alertler "ýüzýär".
Doly reload gerek däl :/MERGE inkrementlerini we düzedişlerini ulanyň.
Analitikada PII: mappingleri aýratyn saklaň, CLS/RLS-i açyň.

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

Lakehouse - data lake + ACID tablisalary we SQL hereketlendirijisi.
Bronze/Kümüş/Gold - çig/kadaly/hyzmat gatlaklary.
Watermark - penjireleriň taýynlyk çägi.
Materialized View - çalt okamak üçin öňünden bellenen vitrin.
Time-travel - tablisalaryň taryhy wersiýalaryny okamak.
WORM - eksport artefaktlaryny üýtgewsiz saklamak.

20) Jemleýji

Dogry akym agregasiýasy bolan maglumatlar köli - bu gatlaklaryň we şertnamalaryň düzgüni: Bronze "bolşy ýaly", kadalaşmak we hil üçin Kümüş, minutlyk paneller üçin OLAP, gaýtalanýan hasabatlar üçin Gold. Penjireleri we watermarks, dedup we kompaksiýa, gizlinlik we baha dolandyryp, önüm, complayens we operasiýa dolandyryşy üçin çalt, barlanylýan we doldurylan penjireleri 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.

Telegram
@Gamble_GC
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.