GH GambleHub

Хранилища данных

1) Назначение и роль DWH в iGaming

DWH — центральный слой консолидации и сервинга данных для отчетности, аналитики, комплаенса и ML. Он обеспечивает:
  • Единые определения метрик (GGR/NGR, ARPPU, Retention, Churn).
  • Репродуцируемые отчеты для регуляторов и внутренних стейкхолдеров.
  • Быстрые витрины для BI/операционных панелей и источники для моделей.
  • Контроль качества, lineage и безопасность на уровне платформы.

2) Архитектурные варианты

2.1 Classic DWH

ETL → DWH (звезда/снежинка) → BI.
Плюсы: управляемые модели, сильная консистентность.
Минусы: дорогие загрузки, сложный backfill, ограниченная гибкость.

2.2 Lakehouse DWH

Bronze/Silver/Gold на ACID-таблицах (Delta/Iceberg/Hudi) + движок SQL/MPP.
Плюсы: единый сторедж, time-travel, простой reprocessing.
Минусы: требует дисциплины слоев и DQ, зрелой оркестрации.

2.3 Гибрид

Lakehouse как «источник истины» (Bronze/Silver), DWH-март в MPP (ClickHouse/Pinot/Druid/Cloud DWH) для высокоскоростного чтения.
Плюсы: баланс стоимости и производительности, гибкие витрины.
Минусы: двойная поддержка схем и катала, нужна синхронизация.

Рекомендация: для iGaming — Lakehouse + DWH-март (гибрид). Bronze/Silver — стандартизуют, Gold/Real-time marts — обслуживают нагрузки чтения.

3) Моделирование данных

3.1 Звезда и Снежинка

Факт-таблицы: узкие, событийные: `fact_bets`, `fact_payouts`, `fact_payments`.
Измерения: `dim_users` (SCD), `dim_games`, `dim_providers`, `dim_markets`.
Снежинка уместна в Silver (нормализация), Звезда — в Gold (чтение).

3.2 Data Vault 2.0 (ядро интеграции)

Hubs (бизнес-ключи), Links (отношения), Satellites (контекст/история).
Применять в Silver для долгоживущих интеграций провайдеров/PSP.

3.3 SCD I/II/III

SCD II для RG/KYC/каналов и игровых атрибутов (RTP/волатильность).
Строгие интервалы `valid_from/valid_to`, корректные join-ы по времени.

4) Загрузка: ETL/ELT, CDC и инкременты

ELT-подход: загрузка в Silver → трансформации в DWH.
CDC: Debezium/лог-репликация из OLTP; мержи идемпотентны.
Инкременты: по воде времени (`updated_at > max_loaded_ts`) и/или хэш-делта.
Backfill/Reprocessing: time-travel, диапазоны, квоты, dry-run сравнения.

MERGE (пример):
sql
MERGE INTO silver. payments s
USING stage. payments_delta d
ON s. transaction_id = d. transaction_id
WHEN MATCHED THEN UPDATE SET
WHEN NOT MATCHED THEN INSERT;

5) Семантический слой и метрики

Metrics Store/Semantic Layer: единые формулы GGR/NGR/Conversion/LTV.
Версионирование метрик и «as-of» вычисления для воспроизводимости.
Соглашения: имена метрик, единицы измерения, валюта (base EUR) и `fx_source`.

6) Витрины и сервинг

Gold-витрины: денормализованные, SLA готовности (например, до 06:00 лок.).
Оперативные марты: ClickHouse/Pinot/Druid для 1–5-минутных панелей.
Экспорт: CSV/JSON/PDF + hash; неизменяемые пакеты (WORM) для регуляторов.

Пример GGR Daily:
sql
CREATE OR REPLACE VIEW gold. ggr_daily AS
SELECT
DATE(b. event_time) AS event_date,
b. market,
g. provider_id,
SUM(b. stake_base) AS stakes_eur,
SUM(p. amount_base) AS payouts_eur,
SUM(b. stake_base) - SUM(p. amount_base) AS ggr_eur
FROM silver. fact_bets b
LEFT JOIN silver. fact_payouts p
ON p. user_pseudo_id = b. user_pseudo_id
AND p. game_id = b. game_id
AND DATE(p. event_time) = DATE(b. event_time)
JOIN dim. games g ON g. game_id = b. game_id
GROUP BY 1,2,3;

7) Качество данных (DQ) и контракты

Schema-first: JSON/Avro registry + тесты совместимости (consumer-driven).
DQ-как-код: completeness/validity/uniqueness/FK/range/temporal.
Политики реакции: critical → fail + DLQ; major/minor → тег и отчет.
Наблюдаемость DQ: дашборды Freshness/Completeness/Validity, воронка потерянных записей.

8) Безопасность, приватность и резидентность

PII-минимизация: пользователи через псевдо-ID; маппинги отдельно.
RLS/CLS: доступ построчно/постолбцово по ролям и юрисдикциям.
Шифрование: TLS in-transit; at-rest — KMS/CMK с ротацией.
Data Residency: отдельные каталоги и ключи для EEA/UK/BR; запрет кросс-региональных join’ов без оснований.
DSAR/RTBF: вычислимые проекции и селективные редактирования; Legal Hold на отчетные артефакты.

9) Производительность и стоимость (Cost Engineering)

Партиционирование: по дате/рынку/тенанту; кластеризация/Z-order по `market`, `provider_id`, `game_id`, `user_pseudo_id`.
Форматы: Parquet + статистики и компрессия; OPTIMIZE/VACUUM по расписанию.
Материализация: стабильные агрегаты и summary-таблицы; избегайте «толстых» join’ов на лету.
Квоты/Chargeback: бюджеты на тяжелые запросы/реплеи; отчеты cost/query, cost/GB.
Tiered storage: hot/warm/cold; четкие SLA восстановления.

10) Наблюдаемость и управление

Метрики пайплайнов: длительность, объемы, ретраи, лаги, отказоустойчивость.
Метрики DWH: время ответов/конкурентность/кэш-хиты/стоимость.
Lineage: граф от источников до отчетов; impact-анализ при изменениях.
SLO: Freshness Silver p95 ≤ 15 мин; Gold daily — готово до 06:00; Validity ≥ 99.9%; Completeness ≥ 99.5%; доступность ≥ 99.9%.

11) Мультитенантность и доменная изоляция

Разделение по schema/database/catalog на тенант/рынок.
Квоты и resource groups; ограничение «шумных соседей».
Политики экспорта/импорта между тенантами, стандартизованные контракты.

12) Реестр данных и документация

Data Catalog: owner, SLA, схема, примеры, DQ-правила, lineage.
Метрики/дашборды: карточки с формулами и ответственными.
Change Log: версии логики, миграции, влияние (impact).

13) Процессы и RACI

R (Responsible): Data Engineering (модели Silver/Gold, DAG’и), Data Platform (инфра, registry, DQ).
A (Accountable): Head of Data/CDO.
C (Consulted): Compliance/Legal/DPO, Finance (FX/GGR), Risk (RG/AML), SRE (SLO/стоимость).
I (Informed): BI, Продукт, Маркетинг, Операции.

14) Дорожная карта внедрения

MVP (4–6 недель):

1. Lakehouse Bronze/Silver (ACID-таблицы), CDC/инкременты для Payments/Gameplay.

2. Первые Gold-витрины (GGR Daily, конверсия), SLA до 06:00.

3. DQ-как-код (10–15 правил) + дашборды Freshness/Completeness.

4. Каталог данных и базовый семантический слой метрик.

Фаза 2 (6–12 недель):
  • SCD II для users/games/providers; расширение доменов.
  • Оперативные марты (ClickHouse/Pinot) для real-time/near-real-time панелей.
  • Lineage/impact-анализ, DSAR/RTBF процедуры, регионализация (EEA/UK).
Фаза 3 (12+ недель):
  • Автосимуляция изменений (dry-run), реплей и сравнение метрик.
  • Chargeback/квоты, cost-дашборды; DR-учения и time-travel восстановления.
  • Автогенерация документации витрин и карточек метрик.

15) Примеры SQL-шаблонов

Факт ставок (Silver, 3НФ):
sql
CREATE TABLE silver. fact_bets (
bet_id STRING PRIMARY KEY,
user_pseudo_id STRING NOT NULL,
game_id STRING NOT NULL,
stake_ccy DECIMAL(18,2) NOT NULL,
currency CHAR(3) NOT NULL,
stake_base DECIMAL(18,2) NOT NULL,
market CHAR(2) NOT NULL,
event_time TIMESTAMP NOT NULL
);
Соединение с SCD II (получить RG-статус на момент ставки):
sql
SELECT b. bet_id, u. rg_status
FROM silver. fact_bets b
JOIN dim. users_scd u
ON u. user_pseudo_id = b. user_pseudo_id
AND b. event_time >= u. valid_from
AND (u. valid_to IS NULL OR b. event_time < u. valid_to);
Контроль полноты по рынкам:
sql
SELECT market, DATE(event_time) d, COUNT() n
FROM silver. fact_bets
GROUP BY market, DATE(event_time)
HAVING n = 0;

16) Чек-лист перед продом

  • Схемы и контракты в реестре, тесты совместимости зеленые.
  • CDC/инкременты и MERGE-процедуры идемпотентны.
  • Gold-витрины имеют SLA, зафиксированы формулы метрик.
  • DQ-правила активны (critical → fail + DLQ), дашборды Freshness/Completeness.
  • RBAC/ABAC, шифрование, резидентность по регионам, журналы доступа.
  • Lineage/impact включены; time-travel/backup/DR проверены.
  • Стоимость под контролем: партиции, кластеризация, материализация, квоты.

17) Анти-паттерны и риски

«Один жирный DWH без слоев»: смесь сырых и отчетных данных → хаос и дорогие исправления.
Full reload ежедневно без нужды: используйте инкременты/CDC.
Gold без владельца и формул: отсутствие единой версии правды → споры и регрессы.
PII в аналитических слоях: держите маппинги отдельно, CLS/RLS.
Отсутствие DQ/lineage: нет доказуемости для регуляторов/аудита.
Неуправляемая стоимость: нет партиций/оптимизаций/квот.

18) Глоссарий (кратко)

DWH — хранилище данных для консолидации и аналитики.
Lakehouse — data lake + ACID-таблицы и SQL-движок.
CDC — захват изменений из OLTP.
SCD — медленно меняющиеся измерения (I/II/III).
Gold-витрина — готовая к потреблению отчетная таблица/представление.
Semantic Layer — единые определения метрик и атрибутов.

19) Итог

Современный DWH для iGaming — это не «большая таблица», а управляемая платформа: слои Bronze/Silver/Gold, строгие контракты и DQ, единые метрики и lineage, приватность и резидентность, производительность и экономичность. Выстроив гибрид Lakehouse + DWH-март, вы получите быстрое и проверяемое принятие решений, готовое к аудиту, масштабам и новым рынкам.

Contact

Свяжитесь с нами

Обращайтесь по любым вопросам или за поддержкой.Мы всегда готовы помочь!

Telegram
@Gamble_GC
Начать интеграцию

Email — обязателен. Telegram или WhatsApp — по желанию.

Ваше имя необязательно
Email необязательно
Тема необязательно
Сообщение необязательно
Telegram необязательно
@
Если укажете Telegram — мы ответим и там, в дополнение к Email.
WhatsApp необязательно
Формат: +код страны и номер (например, +380XXXXXXXXX).

Нажимая кнопку, вы соглашаетесь на обработку данных.