GH GambleHub

Architektura przepływu danych

1) Cel i zasady

Cele: dostarczanie poprawnych, terminowych i zgodnych z wymaganiami danych w zakresie analizy, sprawozdawczości, zwalczania nadużyć finansowych, personalizacji i ML.

Zasady:
  • Dane jako produkt: jasne właścicieli, kontrakty, SLO i wersioning.
  • Schemat pierwszy: wymagane są programy; ewolucja według zasad.
  • Privacy-by-Design: minimalizacja PII, aliasing, kontrola dostępu.
  • Obserwacja domyślnie: ślady, mierniki, rodowód, profile jakości.
  • Świadomość kosztów: magazynowanie wielopoziomowe, próbkowanie hałaśliwych zdarzeń, kompresja.

2) Źródło i krajobraz wydarzeń

Transakcja: depozyty/wypłaty, zakłady/wypłaty, bonusy, obciążenie zwrotne.
Użytkownik: sesje, kliknięcia, konwersje, limity RG, statusy KYC.
Działanie: dzienniki aplikacji, wskaźniki wydajności, wpisy.
Dostawcy: PSP/KYC/sankcje/studia gier (agregatory).
Odniesienie: katalogi gier, katalogi krajów/walut, taryfy/podatki.

Typowanie zdarzeń (przykład):
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) Architektura referencyjna wysokiego poziomu

1. Warstwa do spożycia

Bramki (HTTP/gRPC), złącza CDC (z OLTP), kolejki/autobusy (Kafka/Redpanda), kolektory telemetryczne.
Walidacja, normalizacja, wydanie PII na wejściu, egzekwowanie umów.

2. Warstwa strumieniowa

Strumień jabs (Flink/Iskra Structured Streaming/Beam) z deduplication, znak wodny, kruszywa stanowe.
Fan-out to storage and online services (fichestore, anti-fraud).

3. Warstwa wsadowa

Orkiestra (Airflow/Dagster), dodatkowe pliki do pobrania, backtests i retroprocesses, typy SCD.

4. Magazynowanie (Lakehouse)

Brąz: surowe zdarzenia (tylko dodatek, niezmienne).
Srebro: oczyszczone, zgodne stoły z jakością i deduplikacją.
Złoto: gabloty/marty do konkretnych przypadków (BI/regulator/ML).
Formaty stołowe z ACID (Delta/Iceberg/Hudi), warstwa gorąca/ciepła/zimna.

5. Obsługa i dostęp

BI/SQL (Trino/Presto/DuckDB), warstwa semantyczna (warstwa metryczna), API/GraphQL, Sklep funkcyjny dla konsystencji online/offline.

6. Zarządzanie i bezpieczeństwo

Katalog/linia, zasady DQ, silnik dostępu politycznego (RBAC/ABAC), maskowanie/tokenizacja, archiwum WORM do raportów.

4) Umowy i systemy

Umowy o dane: OpenAPI/AsyncAPI/JSON Schema/Avro.
Ewolucja: wersje semantyczne; zmiany kompatybilne wstecz - dodawanie pól nieważnych; przerwanie - tylko przy „/v2 ”i podwójnym wpisie w okresie migracji.
Rejestry: Rejestr schematu, katalog domeny (Płatności, Gameplay, Marketing).

5) Wzorce integracji

CDC (Change Data Capture): z OLTP do bus (Debezium), partytura klucza domeny.
Skrzynka odbiorcza/skrzynka odbiorcza: gwarantowana dostawa zdarzeń logicznych domeny.
Exactly-Once/Effective-Once: transakcje w stanie, idempotent sink, klucze deduplicacji.
Późne dane i znaki wodne: obsługa późnych zdarzeń; okna z dozwolonym opóźnieniem.
Ponowne przetwarzanie: rurociągi idempotentne, podróże w czasie, poprawki migawkowe.

6) Model Lakehouse: brąz/srebro/złoto

Brąz (surowy):
  • Strony czasu (event_date) i rynku (jurysdykcja).
  • Tylko dodatek; przechowywanie oryginalnego ładunku do kryminalistyki.
Srebro (czyste):
  • Typy znormalizowane, księgi referencyjne, deduplikowanie przez '(event_id, event_time)'.
  • Weryfikacja FK, standaryzacja waluty/timezon, wzbogacanie.
Złoto (służyć):
  • Denormalizowane prezentacje (GGR, RG, LTV, stoły kohortowe).
  • SLA do aktualizacji, agregaty dla BI i sprawozdawczości.

7) Jakość danych

Zasady: walidacja obwodu, zakresy, wyjątkowość, kompletność, integralność odniesienia.
Profilowanie: dystrybucja, kardynalność, „dryfowanie” znaków.
Monitorowanie: opóźnienie rurociągu p50/p95, spadek, budżet błędu.
Polityka degradacji: automatyczny upadek (ostatni migawka), alerty i t-testy dla mierników.

Przykład umowy 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) Prywatność i zgodność

Minimalizacja i maskowanie PII: przechowywać pseudo-ID, oddzielne mapy wyszukiwania.
Regionalizacja: wiadra geo-lokalne/katalogi (EOG/UK/BR), „rezydencja danych”.
Operacje prawne: DSAR/RTBF (obliczeniowe projekcje i selektywne edycje), Legal Hold, niezmienne archiwum raportów.
Rejestrowanie dostępu: audyt odczytuje „wrażliwe” tabele, break-glass i dostęp JIT.

9) Obserwowalność i zarządzanie

Linege-Automatycznie śledzi zależności od źródła do sklepu.
Metryka rurociągu: przepustowość, opóźnienie, awaria, koszt/GB, koszt/zapytanie.
Ślad (OTel): 'trace _ id' z aplikacji jest wrzucany do zdarzeń → budujemy ścieżkę żądań typu end-to-end.
Wpisy: budżety SLO, anomalie świeżości/objętości/kardynalności.

10) Model dostępu i bezpieczeństwa

Kategorie danych: publiczne/wewnętrzne/poufne/ograniczone.
Zasady: bezpieczeństwo na poziomie wiersza/kolumny; maskowanie dynamiczne (PAN/IBAN/email).
Zarządzanie kluczami: KMS/CMK, szyfrowanie podczas odpoczynku/tranzytu, rotacja.
Segregacja obowiązków: osobne role prod/analyst/admin/reviewer.

11) Siatka danych i podejście do produktu

Довена: Płatności, Gameplay, Marketing, Ryzyko, Zgodność.
Produkt danych: właściciel, świeżość SLA, słownik terenowy, testy, wersje, metryka zużycia.
Umowy między domenami: testy wersjonowane, wsteczne, konsumenckie.

12) Strumienie Fichestor i ML

Rejestr funkcji: opis funkcji, źródła, transformacje, SLO.
Spójność online/offline: jeden kod transformacji, opóźnienie materializacji online ≤ 200-500 ms.
Monitorowanie dryfu: PSI/KS, automatyczne wpisy i rolki modelu, sterowanie PII.
Dziennik eksperymentów: metadane, wersje, odtwarzalność, mapy modelowe.

13) Finmodel i optymalizacja kosztów

Partycjonowanie i Z-order/Cluster według częstych predykatów.
Chłodnia i TTL dla nieużywanych tabel, VACUUM.
Zmaterializowane widoki tylko dla stabilnych wzorów zapytań.
kwoty i budżety na ciężkie miejsca pracy; obciążenie zwrotne przez zespół.

14) Topologia regionalna i wieloosobowa

Multi-region active-active: replikacja tematów i tabel, niezależne obwody rurociągu.
Awaria/DR: cele RPO/RTO, migawki metadanych orkiestrowych, kontrola odzyskiwania.
Wielopoziomowość: katalog/klucz/izolacja kwot, oznaczenie tenant_id.

15) Procesy i RACI (w skrócie)

R: Platforma danych (połknięcie, przechowywanie, orkiestra), Inżynieria danych (transformacja).
A: szef danych/główny inspektor danych.
C: Zgodność/Prawny/Inspektor Ochrony Danych, Architektura, SRE.
I: BI/Analytics, Produkt, Marketing, Finanse.

16) SLO/SLI dla przepływów

świeżość: p95 opóźnienie Srebro ≤ 15 min, Złoto (dziennie) gotowe ≤ 06:00 zamek. czas.
Kompletność: ≥ 99. 5% zdarzeń na okno T.
Ważność: wskaźnik błędów w kontrolach DQ <0. 5% objętości.
Dostępność porcji: ≥ 99. 9% dla interfejsu API BI/Feature.

17) Szablony tabeli i podziału

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) Orkiestra i DevX

Infra-as-Code: repozytoria rurociągów, testy, recenzje, GitOps.
Umowy o dane CI: lintery obwodów, testy DQ przed wdrożeniem.
Ramy zasypki: bezpieczne procesy retro z ograniczeniami R/W i idempotencji.
Katalogi i szablony: generatory plików cookie-cutter, najlepsze praktyki.

19) Plan działania w zakresie wdrażania

MVP (4-6 tygodni):

1. Autobus imprezowy + połknięcie 2-3 kluczowych źródeł (OLTP CDC, brama API).

2. Lakehouse Bronze/Silver, ACID format, katalog i podstawowe zasady DQ.

3. 1-2 Złote skrzynki (codziennie GGR i lejek konwersji).

4. Mierniki lag/kompletności, rodowód podstawowy, RBAC i maskowanie PII.

Faza 2 (6-12 tygodni):
  • Jednostki przesyłania strumieniowego (opóźnienie p95 ≤ 5 min), sklep funkcyjny, prezentacje RG/AML.
  • warstwa semantyczna mierników, SLA do sprawozdawczości; deski rozdzielcze.
  • Regionalizacja (EOG/Wielka Brytania), procedury DSAR/RTBF, przechowywanie artefaktów.
Faza 3 (12 + tygodnie):
  • Siatka danych: domeny produktów, umowy konsumenckie.
  • Operacje ML z monitorowaniem dryfów, automatyczne negocjacje online/offline.
  • Automatyczna symulacja zmian schematu (analiza wpływu) i „co-jeśli” według kosztów.

20) Częste błędy i jak ich uniknąć

Surowe ładunki użytkowe bez schematów: wdrożyć schemat-pierwszy, rejestr i walidację CI.
Brak deduplikacji - klawisze zdarzeń i synchronizacje idempotentne w Silver.
Wymieszaj PII z analityką - Oddzielne mapowania i pola maski.
Złoto bez właściciela: przypisać właściciela, SLO i metryki konsumpcji.
Nie ma strategii regeneracji: podróże w czasie, wersioning logiczny, kontrola „podwójnego liczenia”.
Wartość niemożliwa do opanowania: partie, kompresja, TTL, obserwowalność wartości.

21) Słownik (krótki)

CDC - Przechwytywanie zmian z OLTP.
Outbox - publikujemy zdarzenia domeny transakcyjnie.
Znak wodny - ocena kompletności przepływu dla okien.
Lakehouse - jezioro danych + tablice ACID.
Data Product - jednostka produktowa danych z właścicielem i SLO.
Funkcja Sklep - spójna dystrybucja funkcji ML.

22) Linia dolna

Architektura przepływu danych jest zarządzalnym systemem aranżacji: jasnych umów, obserwowalności, bezpieczeństwa i kosztów pod kontrolą. Zgodnie z opisanymi wzorami (schemat-first, brąz/srebro/złoto, CDC + Outbox, DQ i lineage, prywatność-by-design) platforma niezawodnie dostarcza biznesu, zgodności i ML z danymi jakościowymi z przewidywalnymi SLO i zrozumiałym kosztem własności.

Contact

Skontaktuj się z nami

Napisz do nas w każdej sprawie — pytania, wsparcie, konsultacje.Zawsze jesteśmy gotowi pomóc!

Telegram
@Gamble_GC
Rozpocznij integrację

Email jest wymagany. Telegram lub WhatsApp są opcjonalne.

Twoje imię opcjonalne
Email opcjonalne
Temat opcjonalne
Wiadomość opcjonalne
Telegram opcjonalne
@
Jeśli podasz Telegram — odpowiemy także tam, oprócz emaila.
WhatsApp opcjonalne
Format: kod kraju i numer (np. +48XXXXXXXXX).

Klikając przycisk, wyrażasz zgodę na przetwarzanie swoich danych.