Казино үчүн Data Lake жана DWH: схемалар, SLA жүктөмөлөр
Макаланын толук тексти
1) Эмне үчүн Data Lake Casino жана DWH
Отчеттуулук жана комплаенс: регулятивдик түшүүлөр (GGR/NGR, KYC/AML, RG), акча аудити.
Продукт/маркетинг: LTV/retention, сегментация, A/B, сунуштар.
Операциялар: провайдерлерге, PSP, SLA Live оюндарына жана кассаларга мониторинг жүргүзүү.
Маалыматтар боюнча чечимдер: арзан узак мөөнөттүү сактоо (Lake) үстүндөгү тез терезелер (DWH).
Жыйынтык: Lake чийки жана тазаланган катмарларды сактайт, DWH тез суроо-талаптарды жана башкарылуучу моделдерди берет.
2) Маалымат архитектурасы (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).
Files: Parquet + ZSTD/Snappy, максаттуу ~ 128-512 MB; "майда файлдардын" компакциясы.
Каталог: Hive/Unity/Iceberg Catalog; зоналар 'bronze/silver/gold' бакет per region/tenant.
3) Домендик схемалар (концептуалдык)
3. 1 Капчык/Бухгалтерия
3. 2 коюм/орнотуу (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 төлөмдөр (касса/PSP/крипто)
`payment_intent`: `intent_id`, `player_id`, `method`, `status`, `amount`, `currency`, `psp`, `created_at`.
'capture/refund/chargeback': 'intent _ id', 'psp _ ref', себептеринин коддору менен өзүнчө таблицалар.
Крипто: `txid`, `network`, `confirmations`, `finalized_at`.
3. 4 бонустар/Waiger/джекпот
`bonus_grant`, `bonus_progress (wager)`, `jackpot_contribution`, `jackpot_payout`.
3. 5 Колдонмолор жана өлчөө
'dim _ player' (псевдо-ID, гео, каналдар, RG статустары - аналитикада PII жок), 'dim _ game', 'dim _ provider', 'dim _ psp', 'dim _ brand', 'dim _ region', календардык өлчөмдөр.
Ачкычтар жана шайкештик: Silver/Gold моделдеринде - туруктуу бизнес ачкычтары ('bet _ id', 'round _ id', 'payout _ id', 'intent _ id') жана "демпотенттик" окуялардын семантикасы.
4) жүктөө агымдары: агымы + микробатчи
Striming (Kafka/Pulsar → Bronze): OLTP жана Webhook иш-чаралар, Outbox/CDC, Silver менен "жок дегенде бир жолу" деген кепилдик.
CDC (Debezium/репликация журналы): ALTP таблицаларын өзгөртүү (wallet/payments) → Bronze.
Микробатчилер: PSP/банк/кастоди отчеттору (SFTP/API) → Bronze Raw Files → нормалдаштыруу.
Silver боюнча MERGE: дедуп 'idempotency _ key/event _ id', кеч жок ('watermark'), өлчөө боюнча SCD2.
5) SLA жүктөмөлөр жана кечигүү терезе (watermarks)
5. 1 типтүү SLA (көрсөтмөлөр)
Кошелек/ledger events: Bronze ≤ 1-2 мин, Silver ≤ 5-10 мин, Gold marts ≤ 15 мин.
Bets/settlements: Bronze ≤ 1-2 мин, Silver ≤ 10 мин, Gold ≤ 30 мин.
Payments (PSP webhooks): Bronze ≤ 5 мин, Silver ≤ 15 мин, Gold ≤ 30-60 мин.
Крипто акыркы: тармагына көз каранды; lag N ырастоо менен терезелер.
PSP/банктардын күндөлүк отчеттору: T + 1 аймактын жергиликтүү убактысы боюнча саат 09: 00гө чейин.
5. 2 Кечигүү терезелери
Watermark окуя убактысы боюнча ('occurred _ at') + чектер:- капчык/чендер: 24-48 саат, төлөмдөр/PSP: 72 саат (retro-vebhuke бар), крипто: 24 саатка чейин сейрек реорги.
- Кеч окуялар reprocess: Gold инкременталдык (MERGE) терезелерди кайра эсептөө, оңдоо журналы.
5. 3 Байланыш SLA
Маалымат каталогу SLA атрибуттарын камтыйт: 'freshness _ target', 'freshness _ status', 'expected _ lag _ p95', 'watermark'.
Дашборддор "сергектик" бузулган учурда алерталар менен.
6) Маалымат сапаты (DQ) жана келишимдер
Ар бир тема үчүн Data Contracts: Euro/JSON схемалары, semver, милдеттүү талаалар, бизнес инварианттар (мисалы, 'win _ minor ≥ 0', 'currency ∈ ISO-4217').
DQ-текшерүү Silver: ачкычтардын уникалдуулугу, маалымдама бүтүндүгү, баланстык текшерүү (капчыкты салыштыруу), PSP коддорунун ырааттуулугу/себептери, даталар диапазондору.
Severity: 'ERROR' (бөгөттөөчү), 'WARN' (белгилөө), 'INFO'.
Мониторинг:% бузуулар, жогорку себептер, автоматтык билеттер.
Sampling & replay: кайра иштетүү үчүн чийки Bronze сактоо.
7) PII, резиденттик жана коопсуздук
PII-витрина аналитикадан бөлүнгөн: Silver/Gold - псевдоним, маскировка/хэши, токенизация.
Data residency: EU/UK/BR ж.б. - физикалык жактан өзүнчө бакеттер/каталогдор; эч кандай кросс-аймактык окуу макулдугусуз жана прокси.
Доступ: RBAC/ABAC (Lake/DWH), row-level security по `tenant/brand/region`.
Шифрлөө: ат-rest (KMS) жана in-transit, per region/brand ачкычтары, WORM кирүү аудити жана саясатты өзгөртүү.
Унутулуу укугу: финансылык жазууларды өчүрбөстөн оюн маалыматтарын локалдаштыруу механизми (де-идентификация).
8) Gold моделдөө (жылдыз)
8. 1 Факт-таблицалар
'fact _ bets' (саптагы коюм жана сеттлмент/же эки таблица), 'fact _ wallet _ entries', 'fact _ payments' (депозиттер/кэшауттар/кайтарымдар), 'fact _ bonus _ wager', 'fact _ jackpot'.
8. 2 өлчөмдөрү
`dim_date/time`, `dim_player` (pseudonymous), `dim_game`, `dim_provider`, `dim_psp`, `dim_brand`, `dim_region`, `dim_currency`.
8. 3 Метрика жана эсептөөлөр
GGR/NGR, кармап туруу/жыштык, RTP (оюн/провайдер/аймак боюнча), депозиттик конверсия, settle lag, success-rate PSP, cost-per-success, FX-PnL, jackpot contributions/payouts.
9) аткаруу жана наркы
Партиялаштыруу: 'occurred _ date' + 'region/tenant', кээде 'game _ id' Gold агрегаттары үчүн.
Кластерлештирүү/Z-Order: 'player _ id', 'game _ id', 'psp', 'currency'.
Компакция жана вакуум: пландаштырылган 'OPTIMIZE/COMPACT', "илинип турган" версияларды алып салуу (укуктук ретеншендерди эске алуу менен).
Cache: result-cache/warehouse cache, ысык панелдер үчүн materialized views.
DWH боюнча индекстер: кластердик/сегменттик (Snowflake clustering keys, BigQuery partition + cluster).
Баасы: объект сактоо муздак Bronze, ысык алтын/март-агрегаттар - DWH; авто-паркинг/авто-скейл.
10) Linedge, каталогдор жана документтер
Data Catalog (OpenMetadata/Amundsen/Collibra): таблицалардын сүрөттөлүшү, ээси, SLA, PII талаалары, кирүү саясаты.
Сызык: булактан (окуя/CDC) витринага жана отчетко чейин; коопсуз өзгөрүүлөр үчүн көз карандылыктын көрүнүшү.
Changelog схемалар: semver жана депрекейт журналы; ПиПлайн шайкештик тесттер.
11) Reconciliation (маалыматтарды салыштыруу)
Күн сайын:- 'wallet _ entry' жыйынтыктоочу баланстар (топтоо снапшот), төлөмдөр: PSP/банктардын отчеттору 'fact _ payments', крипто: 'txid/network' 'fact _ payments'.
- Категории: `match`, `timing`, `missing_source`, `missing_platform`, `amount_mismatch`.
- Alerty: үлүшү 'mismatch'> босого; aging берилбеген> N күн.
12) Үлгүлүү SLA таблицалар (мисал)
13) Пайплайндар: эмнеден чогултабыз
Ingestion: Kafka Connect/Debezium, булут ingestion кызматтары, SFTP pullers.
ETL/ELT: Spark/DBT/Trino/Beam/Flink (Striming Silver), Airflow/Argo үчүн оркестр.
Сапаты: Great Expectations/Deequ/dbt tests.
Мониторинг: OpenTelemetry + Lake/DWH метриктер (freshness delay, job latency, cost).
Кырсыктар жана кайталоо: Bronze тартып reprocess, Дедуп ачкычтар, Нускасы бөлүштүрүү.
14) Чек-баракчалар
Архитектура жана коопсуздук
- Lakehouse формат (Delta/Iceberg/Hudi) менен ACID жана убакыт саякат.
- бөлүү 'bronze/күмүш/алтын', outbox/CDC негизги булактары болуп саналат.
- PII-изоляция, токенизация, RLS 'tenant/brand/region'.
- Бакет/каталогдордун деъгээлинде жашаган, ачкычтары/per аймак сырлары.
- WORM-аудит схемалар/саясат/кирүү эрежелерин өзгөртүү.
Сапаты жана SLA
- Data Contracts жана semver схемалар; шайкештик тесттер.
- Watermarks жана reprocess, Vitrins инкременталдык MERGE.
- Дашборддор жана SLA-алерта; ар бир таблицада owner.
- Reconciliation капчык/төлөмдөр/крипто.
Аткаруу жана наркы
- Партиялаштыруу жана кластерлештирүү; "майда файлдардын" компакциясы.
- негизги отчеттор үчүн материалдык терезелер.
- Autoscale/автопаркинг, retenshen жана Archives саясаты.
15) Кызыл желектер (анти-үлгүлөрү)
BI жана жөнгө салуучу отчеттор түздөн-түз OLTP уруп.
Bronze "кайра" жана чийки маалыматтарды жоготот.
Жок watermarks, кеч окуялар "кесип".
'idempotency _ key '/' event _ id' → Gold боюнча чоң атасынын жоктугу.
PII жана ар кайсы аймактардын акча RLS жана резиденттик жок бирге сакталат.
Схемалар өзгөрөт "тынч" (semver/келишимдер жок), сынган терезелер.
Компакциясы жок миллиондогон майда Parquet файлдары → кымбат суроо-талаптар.
Жок SLA/дашборддор сергектик; чейректик отчетто "сюрприздер".
16) Корутунду
Data Lake + DWH in iGaming - бул жөн гана сактагыч эмес, башкарылуучу экосистема: стандартташтырылган схемалар жана келишимдер, ACID-lakehouse, так SLA сергектик жана кечигүү терезелери, сапат жана сызык, PII коопсуздугу жана резиденттик. reconciliation жана партиялаштыруу/компакция боюнча үнөмдөө кошуу - жана сиз отчеттуулук үчүн негиз болот, азык-түлүк чечимдери жана түнкү көчүрүү жана "кол Excel" жок бизнести масштабдоо.
