Kazino üçin Data Lake we DWH: shemalar, SLA ýüklemeler
Makalanyň doly teksti
1) Näme üçin Data Lake we DWH kazinolary?
Hasabat we laýyklyk: düzgünleşdiriji düşürmeler (GGR/NGR, KYC/AML, RG), pul barlagy.
Önüm/marketing: LTV/retention, segmentasiýa, A/B, teklipler.
Amallar: üpjün edijilere, PSP, SLA live-oýunlara we kassalara gözegçilik etmek.
Maglumatlar boýunça çözgütler: arzan uzak möhletli saklamagyň üstündäki çalt penjireler (DWH) (Lake).
Netije: Lake çig we arassalanan gatlaklary saklaýar, DWH çalt soraglary we dolandyrylýan modelleri berýär.
2) Salgylanma-arhitektura (lakehouse)
Sources (OLTP, Kafka, Webhooks, CDC)
│
├─Bronze (raw, append-only; Parquet/Delta/Iceberg)
│   ingestion_time, source_metadata, no schema changes in place
├─Silver (cleaned, conformed; dedup, PII masking, SCD2)
│   business keys, constraints, quality checks
└─Gold (marts; star/snowflake; cube tables, aggregates)
└─DWH/Query Engines (Snowflake/BigQuery/Trino/Spark SQL)Форматы: Delta Lake / Apache Iceberg / Hudi (ACID в lake, time travel, MERGE).
Faýllar: Parquet + ZSTD/Snappy, nyşan ~ 128-512 MB; "ownuk faýllaryň" jemlenmegi.
Katalog: Hive/Unity/Iceberg Catalog; baketlerde 'bronze/silver/gold' zonalary per region/tenant.
3) Domen shemalary (konseptual taýdan)
3. 1 Gapjyk/buhgalteriýa
3. 2 Nyrhlar/kesgitleme (RGS/live)
`bet`: `bet_id`, `round_id`, `player_id`, `game_id`, `stake_minor`, `currency`, `placed_at`, `brand/region`, `provider_id`, `in_bonus`.
`settlement`: `settlement_id`, `bet_id`, `round_id`, `win_minor`, `settled_at`, `jackpot_hit`, `bonus_state`.
3. 3 Tölegler (kassa/PSP/kripto)
`payment_intent`: `intent_id`, `player_id`, `method`, `status`, `amount`, `currency`, `psp`, `created_at`.
'capture/refund/chargeback': 'intent _ id', 'psp _ ref', sebäpler kody bolan aýratyn tablisalar.
Крипто: `txid`, `network`, `confirmations`, `finalized_at`.
3. 4 Bonuslar/weýjer/jekpotlar
`bonus_grant`, `bonus_progress (wager)`, `jackpot_contribution`, `jackpot_payout`.
3. 5 Gollanmalar we ölçegler
'dim _ player' (psevdo-ID, geo, kanallar, RG statuslary - analitikada PII-siz), 'dim _ game', 'dim _ provider', 'dim _ psp', 'dim _ brand', 'dim _ region', senenama ölçegleri.
Açarlar we laýyklyk: Silver/Gold modellerinde - durnukly iş açarlary ('bet _ id', 'round _ id', 'payout _ id', 'intent _ id') we "dempotent" wakalaryň semantikasy.
4) Ýüklemek akymlary: akym + mikrobatçi
Akym (Kafka/Pulsar → Bronze): OLTP we webhook wakalary, outbox/CDC, Silver-da duplikasiýa bilen "azyndan bir gezek" kepillikler.
CDC (Debezium/log replikasiýa): ALTP tablisalarynyň üýtgemegi (wallet/payments) → Bronze.
Mikrobatçi: PSP/bank/kastodi (SFTP/API) → Bronze Raw Files → kadalaşma hasabatlary.
MERGE in Silver: 'idempotency _ key/event _ id' dedup, giç bolanlary ýok etmek ('watermark'), ölçeglerde SCD2.
5) SLA ýüklemek we gijä galmak penjiresi (watermarks)
5. 1 SLA (görkezmeler)
Wallet/ledger events: Bronze ≤ 1-2 minut, Silver ≤ 5-10 minut, Gold marts ≤ 15 minut.
Bets/settlements: Bronze ≤ 1-2 min, Silver ≤ 10 min, Gold ≤ 30 min.
Payments (PSP webhooks): Bronze ≤ 5 minut, Kümüş ≤ 15 minut, Gold ≤ 30-60 minut.
Kripto gutarnykly: tora bagly; lag N tassyklamaly penjireler.
PSP/banklaryň gündelik hasabatlary: T + 1 sebitiň ýerli wagty bilen 09: 00-a çenli.
5. 2 Gijä galmak penjireleri
Wakanyň wagty boýunça Watermark ('occurred _ at') + toleranslar:- gapjyk/stawkalar: 24-48 sagat, tölegler/PSP: 72 sagat (retro-webhuklar bolýar), kripto: seýrek reorglar üçin 24 sagada çenli.
- Soňky reprocess wakalary: Gold penjirelerini inkremental hasaplamak (MERGE), düzediş magazineurnaly.
5. 3 SLA aragatnaşygy
Maglumat katalogynda SLA atributlary bar: 'freshness _ target', 'freshness _ status', 'expected _ lag _ p95', 'watermark'.
Bozulan halatynda alertler bilen "täzelik" daşbordlary.
6) Maglumatlaryň hili (DQ) we şertnamalar
Her mowzuk üçin "Data Contracts": Euro/JSON shemalary, semver, hökmany meýdanlar, iş üýtgemeleri (mysal üçin 'win _ minor ≥ 0', 'currency ∈ ISO-4217').
DQ-barlaglar Kümüş: açarlaryň özboluşlylygy, salgylanma bitewiligi, balans barlagy (gapjygyň barlagy), PSP kodlarynyň dogrulygy/sebäpleri, seneleriň diapazony.
Severity: 'ERROR' (bloklaýjy), 'WARN' (belleýäris), 'INFO'.
Monitoring:% bozmalar, esasy sebäpler, awtomatiki biletler.
Sampling & replay: gaýtadan işlemek üçin çig Bronze saklamak.
7) PII, rezidentlik we howpsuzlyk
PII-vitrin analitikadan aýrylýar: Silver/Gold-da - lakam, gizlemek/kesmek, tokenizasiýa.
Data residency: EU/UK/BR we ş.m. - fiziki taýdan aýratyn baketler/kataloglar; razylygy we proksi bolmazdan sebitleýin okamak ýok.
Доступ: RBAC/ABAC (Lake/DWH), row-level security по `tenant/brand/region`.
Şifrlemek: at-rest (KMS) we in-transit, per region/brand açarlary, WORM giriş barlagy we syýasatlardaky üýtgeşmeler.
Ýatdan çykarmak hukugy: maliýe ýazgylaryny aýyrmazdan oýun maglumatlaryny lokallaşdyrmagyň mehanizmi (de-identifikasiýa).
8) Vitrinleri modellemek Gold (ýyldyz)
8. 1 Faktiki tablisalar
'fact _ bets' (setire stawka we settlment/ýa-da iki tablisa), 'fact _ wallet _ entries', 'fact _ payments' (depozitler/nagt pullar/yzyna gaýtarmalar), 'fact _ bonus _ wager', 'fact _ jackpot'.
8. 2 Ölçegler
`dim_date/time`, `dim_player` (pseudonymous), `dim_game`, `dim_provider`, `dim_psp`, `dim_brand`, `dim_region`, `dim_currency`.
8. 3 Metrikler we hasaplamalar
GGR/NGR, saklamak/ýygylyk, RTP (oýun/üpjün ediji/sebit boýunça), goýum konwersiýasy, settle lag, success-rate PSP, cost-per-success, FX-PnL, jackpot contributions/payouts.
9) Öndürijiligi we bahasy
Partiýa: 'occurred _ date' + 'region/tenant', käwagt 'game _ id' Gold-agregatlar üçin.
Klaster/Z-Order: 'player _ id', 'game _ id', 'psp', 'currency'.
Kompaksiýa we boşluk: meýilleşdirilen 'OPTIMIZE/COMPACT', "asylan" wersiýalary aýyrmak (kanuny retenşenleri göz öňünde tutup).
Gutular: result-cache/warehouse cache, gyzgyn paneller üçin materialized views.
DWH indeksleri: klaster/segment indeksleri (Snowflake clustering keys, BigQuery partition + cluster).
Bahasy: obýekt ammarynda sowuk Bronze, DWH-de gyzgyn Altyn/mart-agregatlar; awto-awtoulag duralgasy/awto-skeýl.
10) Çyzgylar, kataloglar we resminamalar
Data Catalog (OpenMetadata/Amundsen/Collibra): tablisalaryň beýany, eýesi, SLA, PII meýdanlary, giriş syýasaty.
Çyzgy: çeşmeden (waka/CDC) penjirä we hasabata çenli; howpsuz üýtgeşmeler üçin endikleriň görünmegi.
Changelog shemalary: semver we deprequeit magazineurnaly; CI paýlaýynlarynda laýyklyk synaglary.
11) Reconciliation (maglumatlary barlamak)
Her gün:- "wallet _ entry" jemleýji balanslar (toplamak snapshot), tölegler: PSP/banklaryň hasabatlary 'fact _ payments', kripto: 'txid/network' 'fact _ payments'.
- Категории: `match`, `timing`, `missing_source`, `missing_platform`, `amount_mismatch`.
- Alertler: çäk 'mismatch'> paýy; aging näbelli> N gün.
12) Nusgalaýyn SLA-tablisalar (mysal)
13) Paýlaýynlar: nämeden ýygnaýarys
Ingestion: Kafka Connect/Debezium, bulut ingestion-hyzmatlary, SFTP pullers.
ETL/ELT: Orkestr üçin Spark/DBT/Trino/Beam/Flink (akym Silver), Airflow/Argo.
Hil: Great Expectations/Deequ/dbt tests.
Gözegçilik: OpenTelemetry + metrika Lake/DWH (freshness delay, job latency, cost).
Betbagtçylyklar we gaýtalanmalar: Bronzadan reprocess, açarlar bilen dedup, wersiýaly paýlaýnlar.
14) Çek-listler
Arhitektura we howpsuzlyk
- ACID we time travel bilen Lakehouse formaty (Delta/Iceberg/Hudi).
- Bölmek 'bronze/silver/gold', outbox/CDC esasy çeşmeler hökmünde.
- PII-izolýasiýa, tokenizasiýa, RLS po 'tenant/brand/region'.
- Bagetler/kataloglar derejesinde rezidentlik, açarlar/syrlar per region.
- Giriş shemalarynyň/syýasatlarynyň/düzgünleriniň WORM-barlagy.
Hil we SLA
- Data Contracts we semver-shemalar; laýyklyk synaglary.
- Watermarks we reprocess, penjireler içerki MERGE.
- Tazelik we SLA-alertleri; Her tablisada owner.
- Gapjyk/töleg/kripto boýunça reconciliation.
Öndürijilik we çykdajy
- Partiýalaşdyrmak we toplamak; "ownuk faýllaryň" jemlenmegi.
- Esasy hasabatlar üçin materiallaşdyrylan penjireler.
- Awtoskeýl/awtoulag duralgasy, retenşen we arhiw syýasaty.
15) Gyzyl baýdaklar (anti-patternler)
BI we kadalaşdyryjy hasabatlar OLTP-e gönüden-göni urýarlar.
Bronze "täzeden ýazylýar" we çig maglumatlary ýitirýär.
Watermarks ýok, giç wakalar "kesilýär".
"Gold" -da 'idempotency _ key '/' event _ id' → dublikat babyň ýoklugy.
PII we dürli sebitleriň pullary RLS we rezidentlik bolmazdan bilelikde saklanylýar.
Shemalar "ýuwaş" (semver/şertnamasyz) üýtgeýär, penjireleri döwýär.
Kompaksiýasyz millionlarça ownuk Parquet faýllary → gymmat soraglar.
SLA/dashbordlar ýok; çärýekleýin hasabatda "garaşylmadyk ýagdaýlar".
16) Netijenama
iGaming-de Data Lake + DWH diňe bir ammar däl, eýsem gözegçilik edilýän ekosistema: standartlaşdyrylan shemalar we şertnamalar, ACID-lakehouse, arassa SLA we gijä galmak penjireleri, hil we çyzgy, PII howpsuzlygy we rezidentlik. Reconciliation we partiýa/kompaksiýa tygşytlamak goşuň - size hasabat bermek, azyk çözgütleri we gijeki migrasiýa we "el Excel" bolmazdan işewürligi giňeltmek üçin esas bolar.
