Казино үшін Data Lake және DWH: схемалар, SLA жүктеулер
Мақаланың толық мәтіні
1) Неліктен Data Lake және DWH казино
Есеп беру және комплаенс: реттеуші түсіру (GGR/NGR, KYC/AML, RG), ақша аудиті.
Өнім/маркетинг: LTV/retention, сегментация, A/B, ұсынымдар.
Операциялар: провайдерлер, PSP, SLA live-ойындар мен кассалар мониторингі.
Деректер бойынша шешімдер: арзан ұзақ мерзімді сақтау үстіндегі жылдам сөрелер (DWH) (Lake).
Қорытынды: 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).
Файлдар: Parquet + ZSTD/Snappy, таргет ~ 128-512 МБ; «ұсақ файлдар» компакциясы.
Каталог: Hive/Unity/Iceberg Catalog; per region/tenant бакеттеріндегі 'bronze/silver/gold' аймақтары.
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 Бонустар/вэйджер/джекпоттар
`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) Жүктеу ағындары: стриминг + микробатчи
Стриминг (Kafka/Pulsar → Bronze): OLTP және вебхук оқиғалары, outbox/CDC, Silver-да дедупликациямен «кем дегенде бір рет» кепілдіктері.
CDC (Debezium/репликация журналы): ALTP-кестелердің өзгеруі (wallet/payments) → Bronze.
Микробатчилер: PSP/банк/кастоди есептері (SFTP/API) → Bronze Raw Files → қалыпқа келтіру.
MERGE в Silver: дедуп бойынша 'idempotency _ key/event _ id', кешіггендерді жою ('watermark'), өлшемдерде SCD2.
5) SLA жүктеулер және кешігу терезесі (watermarks)
5. 1 Типтік SLA (бағдарлар)
Wallet/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 сағат (ретро-вебхактар болады), крипто: сирек реоргаларға 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`.
Шифрлау: at-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', «аспалы» нұсқаларды жою (құқықтық ретеншендерді ескере отырып).
Кэштер: result-cache/warehouse cache, ыстық панельдер үшін materialized views.
DWH-дегі индекстер: кластерлік/сегменттік (Snowflake clustering keys, BigQuery partition + cluster).
Құны: объекті қоймасында суық Bronze, ыстық Gold/наурыз-агрегаттар - DWH; авто-паркинг/авто-скейл.
10) Линейдж, каталогтар және құжаттама
Data Catalog (OpenMetadata/Amundsen/Collibra): кестелердің сипаттамасы, иесі, SLA, PII өрістері, кіру саясаты.
Сызықтық: көзінен (оқиға/CDC) витринаға және есепке дейін; қауіпсіз өзгерістер үшін тәуелділіктердің көрінуі.
Changelog схемалары: semver және депрекейт журналы; CI пайплайндарындағы сыйысымдылық тестілері.
11) Reconciliation (деректерді салыстыру)
Күн сайын:- 'wallet _ entry' қорытынды баланстар (жинақтау снапшот), төлемдер: PSP/банктердің есептері 'fact _ payments', крипто: 'txid/network' 'fact _ payments'.
- Категории: `match`, `timing`, `missing_source`, `missing_platform`, `amount_mismatch`.
- Алерталар: '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 және time travel.
- Негізгі көздер ретінде 'bronze/silver/gold', outbox/CDC бөлуі.
- PII-оқшаулау, токенизация, RLS бойынша 'tenant/brand/region'.
- Бакеттер/каталогтар деңгейіндегі резиденттік, кілттер/құпиялар per region.
- WORM-аудит схемаларын/саясаттарын/қатынау ережелерін өзгерту.
Сапа және SLA
- Data Contracts және semver-схемалар; сыйысымдылық тестілері.
- Watermarks және reprocess, MERGE инкременталды витриналар.
- Дашбордтар және SLA-алерталар; әрбір кестеде owner.
- Reconciliation әмиян/төлемдер/крипто бойынша.
Өнімділік және құн
- Партияландыру және кластерлеу; «ұсақ файлдар» компакциясы.
- Негізгі есептерге арналған материалданған сөрелер.
- Автоскейл/автопаркинг, ретеншен және мұрағат саясаты.
15) Қызыл жалаулар (қарсы үлгілер)
BI және реттеуші есептер OLTP-ға тікелей соққы береді.
Bronze «көшіріледі» және шикі деректерін жоғалтады.
watermarks жоқ, кеш оқиғалар «кесіледі».
'idempotency _ key '/' event _ id' → Gold.
PII және әр түрлі өңірлердің ақшасы RLS және резиденттіксіз бірге сақталады.
Схемалар «тыныш» (semver/келісімшарттарсыз), сынған сөрелер өзгереді.
Компакциясыз миллиондаған ұсақ Parquet файлдары → қымбат сұраулар.
Жас SLA/дашбордтар жоқ; тоқсандық есептіліктегі «тосын сый».
16) Қорытынды
iGaming-тегі Data Lake + DWH жай ғана қойма емес, бақыланатын экожүйе: стандартталған схемалар мен келісімшарттар, ACID-lakehouse, таза SLA және кешігу терезелері, сапа және сызықтық, PII қауіпсіздігі және резиденттік. reconciliation және партияландыру/компакцияға үнемдеу қосыңыз - және сіз есеп беру, азық-түлік шешімдері және түнгі көші-қонсыз және «қолмен Excel» бизнесті масштабтау үшін негіз болады.
