GH GambleHub

Архітектура потоку даних

1) Призначення та принципи

Цілі: доставляти коректні, своєчасні та комплаєнтні дані для аналітики, звітності, антифроду, персоналізації та ML.

Принципи:
  • Data as a Product: чіткі власники, контракти, SLO і версіонування.
  • Schema-first: схеми обов'язкові; Еволюція за правилами.
  • Privacy-by-Design: мінімізація PII, псевдонімізація, управління доступом.
  • Observability-by-Default: трасування, метрики, lineage, профілі якості.
  • Cost-aware: tiered-storage, семплювання гучних подій, компресія.

2) Ландшафт джерел і подій

Транзакційні: депозити/висновки, ставки/виплати, бонуси, chargeback.
Користувацькі: сесії, кліки, конверсії, RG-ліміти, KYC статуси.
Операційні: логи додатків, метрики продуктивності, алерти.
Провайдери: PSP/KYC/санкції/ігрові студії (агрегатори).
Референсні: каталоги ігор, довідники країн/валют, тарифи/податки.

Типізація подій (приклад):
json
{
"event_time":"2025-10-31T19:20:11Z",
"event_type":"payment. deposit",
"schema_version":"1. 3. 0",
"user":{"id":"U-123","country":"EE","age_band":"18-24"},
"payment":{"amount":200. 00,"currency":"EUR","method":"card","psp_ref":"PSP-222"},
"ctx":{"ip":"198. 51. 100. 10","session_id":"s-2233","trace_id":"f4c2..."}
}

3) Еталонна архітектура (high-level)

1. Ingest шар

Шлюзи (HTTP/gRPC), конектори CDC (з OLTP), черги/шини (Kafka/Redpanda), колектори телеметрії.
Валідація, нормалізація, PII-редакція на вході, contract enforcement.

2. Streaming шар

Потокові джоби (Flink/Spark Structured Streaming/Beam) з дедуплікацією, watermark, stateful агрегатами.
Фан-аут в сховища і онлайн-сервіси (фічестор, антифрод).

3. Batch шар

Оркестрація (Airflow/Dagster), інкрементальні завантаження, бектести і ретропроцеси, SCD типи.

4. Зберігання (Lakehouse)

Bronze: сирі події (append-only, immutable).
Silver: очищені, конформні таблиці з якістю і дедупом.
Gold: вітрини/марти під конкретні кейси (BI/регуляторка/ML).
Табличні формати з ACID (Delta/Iceberg/Hudi), рознесення по гарячих/теплих/холодних шарах.

5. Сервінг і доступ

BI/SQL (Trino/Presto/DuckDB), семантичний шар (metrics layer), API/GraphQL, Feature Store для онлайн/офлайн узгодженості.

6. Говернанс і безпека

Каталог/лінедж, DQ-правила, політичний рушій доступу (RBAC/ABAC), маскування/Tokenization, WORM-архів для звітів.

4) Контракти та схеми

Контракти даних: OpenAPI/AsyncAPI/JSON Schema/Avro.
Еволюція: семантичні версії; backward-compatible зміни - додавання nullable полів; breaking - тільки з '/v2'і подвійний запис на період міграції.
Регістри: Schema Registry, каталог доменів (Payments, Gameplay, Marketing).

5) Патерни інтеграції

CDC (Change Data Capture): з OLTP в шину (Debezium), партіонування по ключах домену.
Outbox/Inbox: гарантована доставка подій доменної логіки.
Exactly-Once/Effectively-Once: транзакції в стейті, ідемпотентні sink'і, ключі дедуплікації.
Late Data & Watermarks: обробка запізнюючих подій; вікна з allowed lateness.
Reprocessing: ідемпотентні пайплайни, time-travel, snapshot-виправлення.

6) Модель Lakehouse: bronze/silver/gold

Bronze (raw):
  • Партії за часом (event_date) та ринком (jurisdiction).
  • Тільки додавання; зберігання вихідного payload для форензики.
Silver (clean):
  • Нормалізовані типи, довідники, дедуплікація по'( event_id, event_time)'.
  • Верифікація FK, стандартизація валют/таймзон, збагачення.
Gold (serve):
  • Денормалізовані вітрини (GGR, RG-скоринг, LTV, когортні таблиці).
  • SLA на оновлення, агрегати під BI і звітність.

7) Якість даних (Data Quality)

Правила: схемна валідація, діапазони, унікальність, повнота, referential integrity.
Профілювання: дистрибуції, кардинальність, «дрейф» ознак.
Моніторинг: p50/p95 затримка пайплайна, drop-rate, error budget.
Degradation policy: автоматичний фоллбек (останній снепшот), алерти і t-тести на метрики.

Приклад DQ-контракту (YAML):
yaml table: silver. payments rules:
- name: amount_positive type: range column: amount min: 0. 01
- name: currency_valid type: in_set column: currency set: [EUR,USD,GBP,TRY,BRL]
- name: unique_tx type: unique columns: [transaction_id]
slo:
freshness_minutes: 15 completeness_percent: 99. 5

8) Приватність і комплаєнс

PII-мінімізація та маскування: зберігати псевдо-ID, відокремлювати look-up маппінги.
Регіоналізація: гео-локальні бакети/каталоги (EEA/UK/BR), «data residency».
Правові операції: DSAR/RTBF (обчислювані проекції та селективні редагування), Legal Hold, незмінні архіви звітів.
Логування доступу: аудит читань «чутливих» таблиць, break-glass і JIT-доступ.

9) Спостережуваність і управління

Лінедж: автоматичне трасування залежностей від джерела до вітрини.
Метрики пайплайнів: throughput, lag, failure-rate, cost/GB, cost/query.
Трасування (OTel): 'trace _ id'з додатків прокидається в події → будуємо наскрізний шлях запиту.
Алерти: SLO-бюджети, аномалії свіжості/обсягу/кардинальності.

10) Доступ і модель безпеки

Категорії даних: public / internal / confidential / restricted.
Політики: row/column-level security; динамічне маскування (PAN/IBAN/email).
Керування ключами: KMS/CMK, шифрування at-rest/in-transit, ротація.
Сегрегація обов'язків: роздільні ролі прод/аналітика/адмін/рев'юер.

11) Data Mesh і продуктовий підхід

Домени: Payments, Gameplay, Marketing, Risk, Compliance.
Data Product: власник, SLA свіжості, словник полів, тести, версії, метрика споживання.
Контракти між доменами: версіоновані, з backward-сумісністю, тести-споживачі (consumer-driven).

12) Фічестор і ML-потоки

Feature registry: опис ознак, джерела, трансформації, SLO.
Онлайн/офлайн узгодженість: один код трансформації, затримка онлайн-матеріалізації ≤ 200-500 мс.
Моніторинг дрейфу: PSI/KS, автоалерти і відкати моделей, контроль PII.
Журнал експериментів: метадані, версії, reproducibility, модельні карти.

13) Фінмодель і cost-оптимізація

Партіонування і Z-order/Cluster за частими предикатами.
Холодне зберігання і TTL для невикористовуваних таблиць, VACUUM.
Materialized views тільки під стійкі патерни запитів.
Квоти і бюджети для важких джобів; chargeback за командами.

14) Регіональна та мульти-тенантна топологія

Multi-region active-active: реплікації тем і таблиць, незалежні pipeline-периметри.
Failover/DR: RPO/RTO цілі, снапшоти метаданих оркестратора, перевірка відновлення.
Мульти-тенантність: ізоляція каталогів/ключів/квот, маркування tenant_id.

15) Процеси і RACI (коротко)

R: Data Platform (інгест, зберігання, оркестрація), Data Engineering (трансформації).
A: Head of Data / Chief Data Officer.
C: Compliance/Legal/DPO, Архітектура, SRE.
I: BI/Аналітика, Продукт, Маркетинг, Фінанси.

16) SLO/SLI для потоків

Свіжість (freshness): p95 затримка Silver ≤ 15 хв, Gold (daily) готове ≤ 06:00 лок. часу.
Повнота: ≥ 99. 5% подій за вікно T.
Достовірність: error-rate перевірок DQ <0. 5% від обсягу.
Доступність сервінгу: ≥ 99. 9% для BI/Feature API.

17) Шаблони таблиць і партіонування

sql
-- Bronze: Deposit events
CREATE TABLE bronze. payment_deposits (
event_time TIMESTAMP,
event_id STRING,
user_pseudo_id STRING,
amount DECIMAL(18,2),
currency STRING,
psp_ref STRING,
payload VARIANT
)
PARTITION BY DATE(event_time)
CLUSTER BY (currency);

-- Silver: normalized model
CREATE TABLE silver. payments AS
SELECT event_id,
CAST(event_time AS TIMESTAMP) AS ts,
user_pseudo_id,
amount,
currency,
psp_ref
FROM bronze. payment_deposits
QUALIFY ROW_NUMBER() OVER (PARTITION BY event_id ORDER BY ts) = 1;

18) Оркестрація і DevX

Infra-as-Code: репозиторії пайплайнів, тести, рев'ю, GitOps.
Data Contracts CI: лінтери схем, DQ-тести до деплоя.
Backfill-фреймворк: безпечні ретропроцеси з обмеженням R/W і idempotency.
Каталоги та шаблони: генератори пайплайнів (cookie-cutter), best-practices.

19) Дорожня карта впровадження

MVP (4-6 тижнів):

1. Шина подій + ingest з 2-3 ключових джерел (OLTP CDC, API-шлюз).

2. Lakehouse Bronze/Silver, формат з ACID, каталог і базові DQ-правила.

3. 1-2 Gold-вітрини (щоденний GGR і конверсійна воронка).

4. Метрики lag/completeness, базовий lineage, RBAC і маскування PII.

Фаза 2 (6-12 тижнів):
  • Streaming-агрегати (p95 latency ≤ 5 хв), Feature Store, RG/AML вітрини.
  • Семантичний шар метрик, SLA на звітність; cost-дешборди.
  • Регіоналізація (EEA/UK), DSAR/RTBF процедури, Legal Hold для артефактів.
Фаза 3 (12 + тижнів):
  • Data Mesh: продуктові домени, consumer-driven contracts.
  • ML-операції з моніторингом дрейфу, автоузгодження онлайн/офлайн.
  • Автоматичні симуляції змін схем (impact analysis) і «what-if» за вартістю.

20) Часті помилки і як їх уникати

Сирі payload'и без схем: впровадити schema-first, регістр і CI-валідацію.
Відсутність дедуплікації: ключі подій і idempotent-синк в Silver.
Змішування PII з аналітикою: відокремлювати маппінги і маскувати поля.
Gold без власника: призначити owner, SLO і метрики споживання.
Немає reprocessing-стратегії: time-travel, версіонування логіки, контроль «подвійного обліку».
Некерована вартість: партії, компресія, TTL, спостережуваність вартості.

21) Глосарій (коротко)

CDC - захоплення змін з OLTP.
Outbox - публікуємо доменні події транзакційно.
Watermark - оцінка повноти потоку для вікон.
Lakehouse - data lake + ACID-таблиці.
Data Product - продуктова одиниця даних з власником і SLO.
Feature Store - узгоджена роздача ознак ML.

22) Підсумок

Архітектура потоку даних - це керована система домовленостей: чіткі контракти, спостережуваність, безпека і вартість під контролем. Слідуючи описаним патернам (schema-first, bronze/silver/gold, CDC + Outbox, DQ і lineage, privacy-by-design), платформа надійно постачає бізнес, комплаєнс і ML якісними даними з передбачуваними SLO і зрозумілою вартістю володіння.

Contact

Зв’яжіться з нами

Звертайтеся з будь-яких питань або за підтримкою.Ми завжди готові допомогти!

Telegram
@Gamble_GC
Розпочати інтеграцію

Email — обов’язковий. Telegram або WhatsApp — за бажанням.

Ваше ім’я необов’язково
Email необов’язково
Тема необов’язково
Повідомлення необов’язково
Telegram необов’язково
@
Якщо ви вкажете Telegram — ми відповімо й там, додатково до Email.
WhatsApp необов’язково
Формат: +код країни та номер (наприклад, +380XXXXXXXXX).

Натискаючи кнопку, ви погоджуєтесь на обробку даних.