Casino üçün Data Lake və DWH: sxemlər, SLA downloads
Məqalənin tam mətni
1) Niyə Data Lake Casino və DWH
Hesabat və uyğunluq: tənzimləyici boşaltmalar (GGR/NGR, KYC/AML, RG), pul auditi.
Məhsul/marketinq: LTV/retention, seqmentasiya, A/B, tövsiyələr.
Əməliyyatlar: provayderlərin monitorinqi, PSP, SLA canlı oyunlar və kassalar.
Məlumat həlləri: ucuz uzunmüddətli saxlama (Lake) üzərində sürətli vitrinlər (DWH).
Nəticə: Lake xam və təmizlənmiş təbəqələri saxlayır, DWH sürətli sorğular və idarə olunan modellər verir.
2) Referens-memarlıq (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).
Fayllar: Parquet + ZSTD/Snappy, hədəf ~ 128-512 MB; «kiçik fayllar» kompaksiyası.
Kataloq: Hive/Unity/Iceberg Catalog; per region/tenant baketlərində 'bronze/silver/gold' zonaları.
3) Domen sxemləri (konseptual)
3. 1 Cüzdan/Mühasibat
3. 2 Bahislər/quraşdırma (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 Ödənişlər (kassa/PSP/kripto)
`payment_intent`: `intent_id`, `player_id`, `method`, `status`, `amount`, `currency`, `psp`, `created_at`.
'capture/refund/chargeback': 'intent _ id', 'psp _ ref', səbəb kodları olan ayrı-ayrı cədvəllər.
Крипто: `txid`, `network`, `confirmations`, `finalized_at`.
3. 4 Bonuslar/Yayımcı/Jackpotlar
`bonus_grant`, `bonus_progress (wager)`, `jackpot_contribution`, `jackpot_payout`.
3. 5 Referanslar və ölçülər
'dim _ player' (psevdo-ID, geo, kanallar, RG statusları - analitikada PII olmadan), 'dim _ game', 'dim _ provider', 'dim _ psp', 'dim _ brand', 'dim _ region', təqvim ölçmələri.
Açarlar və uyğunluq: Silver/Gold modellərində - sabit biznes açarları ('bet _ id', 'round _ id', 'payout _ id', 'intent _ id') və «idempotent» hadisələrinin semantikası.
4) Yükləmə axınları: axın + mikrobatçı
Streaming (Kafka/Pulsar → Bronze): OLTP və vebhuk hadisələri, outbox/CDC, Silver-da duplication ilə «ən azı bir dəfə» zəmanət.
CDC (Debezium/log replikasiyası): ALTP cədvəllərinin (wallet/payments) → Bronze dəyişdirilməsi.
Mikrobatçi: PSP/bank/kastodi (SFTP/API) → Bronze Raw Files → normallaşma hesabatları.
Silver-da MERGE: 'idempotency _ key/event _ id' dedupu, gecikmiş ('watermark') aradan qaldırılması, ölçmələrdə SCD2.
5) SLA downloads və gecikmə pəncərəsi (watermarks)
5. 1 Tipik SLA
Wallet/ledger events: Bronze ≤ 1-2 dəq, Silver ≤ 5-10 dəq, Gold marts ≤ 15 dəq.
Bets/settlements: Bronze ≤ 1-2 dəq, Silver ≤ 10 dəq, Gold ≤ 30 dəq.
Payments (PSP webhooks): Bronze ≤ 5 dəq, Silver ≤ 15 dəq, Gold ≤ 30-60 dəq.
Kriptovalyutası: şəbəkədən asılıdır; lag N təsdiq ilə vitrinlər.
PSP/bankların gündəlik hesabatları: T + 1 regionun yerli vaxtı ilə 09: 00-dək.
5. 2 Gecikmə pəncərələri
Hadisə vaxtı ilə Watermark ('occurred _ at') + tolerantlar:- cüzdan/dərəcələr: 24-48 saat, ödənişlər/PSP: 72 saat (retro-vebhuk var), kriptovalyutası: nadir reorqlar üçün 24 saata qədər.
- Sonrakı reprocess hadisələri: Gold incremental vitrinlərin yenidən hesablanması (MERGE), düzəlişlər jurnalı.
5. 3 SLA kommunikasiyası
Məlumat kataloqunda SLA atributları var: 'freshness _ target', 'freshness _ status', 'expected _ lag _ p95', 'watermark'.
Pozulduqda alertlərlə «təravət» daşbordları.
6) Məlumat keyfiyyəti (DQ) və müqavilələr
Hər mövzu üçün Data Contracts: Avro/JSON sxemləri, semver, məcburi sahələr, biznes invariantları (məsələn, 'win _ minor ≥ 0', 'currency ∈ ISO-4217').
DQ Silver yoxlamaları: açarların unikallığı, istinad bütövlüyü, balans yoxlaması (cüzdan yoxlaması), PSP kodlarının etibarlılığı/səbəbləri, tarix diapazonları.
Severity: 'ERROR', 'WARN', 'INFO'.
Monitorinq:% pozuntular, ən yaxşı səbəblər, avtomatik biletlər.
Sampling & replay: təkrar emal üçün xam bronze saxlamaq.
7) PII, rezidentlik və təhlükəsizlik
PII vitrin analitikadan ayrılır: Silver/Gold - təxəllüs, maskalanma/xeşi, tokenizasiya.
Data residency: EU/UK/BR və s. - fiziki ayrı baketlər/kataloqlar; razılığı və proksi olmadan heç bir cross-regional oxu.
Доступ: RBAC/ABAC (Lake/DWH), row-level security по `tenant/brand/region`.
Şifrələmə: at-rest (KMS) və in-transit, per region/brand açarları, WORM giriş auditi və siyasət dəyişiklikləri.
Unudulmaq hüququ: maliyyə qeydlərini silmədən oyun məlumatlarının lokallaşdırılması mexanizmi (de-identifikasiya).
8) Gold vitrin modelləşdirilməsi (ulduz)
8. 1 Fakt cədvəlləri
'fact _ bets', 'fact _ wallet _ entries', 'fact _ payments', 'fact _ bonus _ wager', 'fact _ jackpot'.
8. 2 Ölçülər
`dim_date/time`, `dim_player` (pseudonymous), `dim_game`, `dim_provider`, `dim_psp`, `dim_brand`, `dim_region`, `dim_currency`.
8. 3 Metriklər və hesablamalar
GGR/NGR, saxlama/tezlik, RTP (oyun/provayder/region üzrə), depozit konvertasiyası, settle lag, success-rate PSP, cost-per-success, FX-PnL, jackpot contributions/payouts.
9) Performans və dəyəri
Partizanlaşdırma: 'occurred _ date' + 'region/tenant', bəzən 'game _ id' Gold aqreqatları üçün.
Klaster/Z-Order: 'player _ id', 'game _ id', 'psp', 'currency'.
Kompaksiya və vakuum: planlı 'OPTIMIZE/COMPACT', «asma» versiyaların aradan qaldırılması (hüquqi retenşenlər nəzərə alınmaqla).
Caches: result-cache/warehouse cache, qaynar panellər üçün materialized views.
DWH indeksləri: klaster/seqment (Snowflake clustering keys, BigQuery partition + cluster).
Qiymət: obyekt anbarında soyuq Bronze, DWH-də isti Gold/mart-aqreqatları; avto-park/avto-skayl.
10) Linedge, kataloqlar və sənədlər
Data Catalog (OpenMetadata/Amundsen/Collibra): cədvəllərin təsviri, sahibi, SLA, PII sahələri, giriş siyasəti.
Linedge: mənbədən (hadisə/CDC) vitrin və hesabata qədər; təhlükəsiz dəyişikliklər üçün asılılıq görünürlük.
Changelog sxemləri: semver və deprekeyt jurnalı; CI payplaynlarda uyğunluq testləri.
11) Reconciliation (məlumatların yoxlanılması)
Gündəlik:- 'wallet _ entry' yekun balansları (yığım snapshot), ödənişlər: PSP/bankların hesabatları 'fact _ payments', kripto: 'txid/network' 'fact _ payments'.
- Категории: `match`, `timing`, `missing_source`, `missing_platform`, `amount_mismatch`.
- Alertlər: pay 'mismatch'> eşik; aging etibarsız> N gün.
12) Nümunə SLA cədvəlləri (nümunə)
13) Payplaynlar: nədən yığırıq
Ingestion: Kafka Connect/Debezium, bulud ingestion xidmətləri, SFTP pullers.
ETL/ELT: Orkestr üçün Spark/DBT/Trino/Beam/Flink (Silver Streaming), Airflow/Argo.
Keyfiyyət: Great Expectations/Deequ/dbt tests.
Monitorinq: OpenTelemetry + Lake/DWH metrikası (freshness delay, job latency, cost).
Qəzalar və təkrar: Bronze reprocess, deadup açarları, version payplayns.
14) Çek vərəqləri
Memarlıq və təhlükəsizlik
- ACID və time travel ilə Lakehouse formatı (Delta/Iceberg/Hudi).
- Ayrılma 'bronze/silver/gold', outbox/CDC əsas mənbələr kimi.
- PII-izolyasiya, tokenizasiya, RLS 'tenant/brand/region'.
- Baket/kataloq səviyyəsində rezidentlik, açarları/sirləri per region.
- WORM-audit sxem/siyasət/giriş qaydaları dəyişiklik.
Keyfiyyət və SLA
- Data Contracts və semver sxemləri; uyğunluq testləri.
- Watermarks və reprocess, vitrinlər artımlı MERGE.
- Dashbord təravət və SLA-alert; hər cədvəldə owner.
- cüzdan/ödənişlər/kripto Reconciliation.
Performans və qiymət
- Partizanlaşdırma və klasterləşdirmə; «kiçik fayllar» kompaksiyası.
- Əsas hesabatlar altında materiallaşdırılmış vitrinlər.
- Avtoskeyl/avtoparkinq, retenshen və arxiv siyasəti.
15) Qırmızı bayraqlar (anti-nümunələr)
BI və tənzimləyici hesabatlar birbaşa OLTP-ni vurur.
Bronze «yenidən yazılır» və xam məlumatları itirir.
Heç bir watermarks, gec hadisələr «kəsilir».
'idempotency _ key '/' event _ id' → Gold-da dublikatın olmaması.
PII və müxtəlif bölgələrin pulları RLS və rezidentlik olmadan birlikdə saxlanılır.
Sxemlər «sakit» (semver/müqavilələr olmadan), vitrinləri sındırır.
kompaksiya olmadan milyonlarla kiçik Parquet faylları → bahalı sorğular.
Heç bir SLA/dashboard təravət; rüblük hesabatda «sürprizlər».
16) Nəticə
iGaming-də Data Lake + DWH yalnız saxlama deyil, nəzarət olunan ekosistemdir: standartlaşdırılmış sxemlər və müqavilələr, ACID-lakehouse, aydın SLA təzəlik və gecikmə pəncərələri, keyfiyyət və cizgi, PII təhlükəsizliyi və rezidentlik. reconciliation və partizan/kompaksiyalara qənaət əlavə edin - və siz gecə miqrasiya və «əl Excel» olmadan hesabat, ərzaq həlləri və biznes miqyası üçün təməl olacaq.
