Audyt i weryfikacja danych
1) Dlaczego go potrzebujesz
Audyt i wersioning tworzą odtwarzalność: można wyjaśnić dowolną postać, powtórzyć obliczenia i bezpiecznie rozwijać modele/prezentacje. W iGaming ma to kluczowe znaczenie dla finansów (GGR/NET), płatności, KYC/AML, odpowiedzialnego gier i sprawozdawczości regulacyjnej.
Cele:- Śledzenie: kto zmienił dane/schemat/logikę i dlaczego.
- Odtwarzalność: Która wersja danych/kodu/modelu wygenerowała raport.
- Bezpieczeństwo zwolnienia: rolka i przewidywalność zmian.
- Zgodność: sprawdzalne dzienniki dla regulatorów i audytów wewnętrznych.
2) Koncepcje i poziomy wersji
1. Wersja schematu - pole/typ/ewolucja semantyczna (SEMVER).
2. Dataset Version-Snapshot/slice w czasie „true” do raportu/szkolenia.
3. Wersja produktu danych: formuły, filtry, agregacje.
4. Funkcja ML/wersja modelu: data/code/hyperparameters/feature/data (end-to-end).
5. Wersja rurociągu: kod transformacji, konfiguracje, zależności.
6. Wersja umowy o dane: wymagania producenta/konsumenta (system, SLA, jakość).
3) Audyt: co zalogować
Kto: temat (użytkownik/usługa), rola/atrybuty (RBAC/ABAC).
Co: Tabela/Showcase/Model/Scheme/Contract.
Kiedy: dokładny czas, tz, identyfikator korelacji.
Dlaczego: link do zadania/bilet/komunikat o zwolnieniu, powód.
Niż: kod/wersja modelu, commit hash, obraz kontenera.
Jak to się zmieniło: przed/po (diff), objętość wiersza (dotknięte wiersze), kontrola integralności (hash/signature).
Kontekst: środowisko (prod/stage), domena, czułość danych (klasa).
Dzienniki audytu są tylko załączone/WORM, podpisane i dostępne w SIEM.
4) Polityka weryfikacyjna (zalecenia)
"MAJOR. DROBNE. PATCH "
MAJOR - niezgodne zmiany schematu/semantyki.
MINOR - odwracalnie kompatybilne dodatki (nowe pola/kolumny z nullable, nowe prezentacje vNext).
PATCH - poprawki bez zmiany umowy (jakość-fix, backfill).
Procedura odchylenia: okno przestarzałości, ostrzeżenia w katalogu/CI, data odłączenia.
Uwagi do wydania: jedna strona na wydanie: co, dlaczego, ryzyko, plan zwrotu.
5) Techniki przechowywania i strumieni
Czas podróży/migawki: przechowywanie wersji tabeli; możliwość wykonania zapytania „tak jak było” T-0.
SCD (powoli zmieniające się wymiary): typy 1/2/3 dla wymiarów (gry, dostawcy, gracze).
CDC/CDF (Change Data/Capture & Feed): przyrostowe zmiany dla faktów (stawki, płatności, KYC).
Audyt Fakt-Oddzielna tabela faktów z edycją/dodawaniem/usuwaniem zdarzeń.
Kontrola integralności: hasła partii/pliku, podpisy pakietów, uzgodnienia zbiorcze.
6) Ewolucja obwodów i umów o dane
Zamówienie jako kod: schemat, typy, obowiązkowe pola, dozwolone wartości, świeżość SLA, zasady DQ.
Kompatybilność: dodano → pole MINOR; zmienił typ/semantykę → MAJOR z migracją i podwójnym zapisem.
Bramka CI: Program zmian PR jest zablokowany, jeśli kompatybilność jest uszkodzona lub nie ma Notatek Release.
Katalog/Rejestr: przechowuje aktywne/przestarzałe wersje i właścicieli.
7) Wersioning w BI i miernikach
Certyfikowane „złote” prezentacje: stałe semantyki KPI (GGR, ARPPU, retencja).
Dual-run: nowa wersja prezentacji jest zbudowana równolegle (v2), porównanie metryk (pasma tolerancji).
Report Commit - Każdy eksport/deska rozdzielcza odnosi się do 'dataset _ version' i 'definition _ version'.
Sekcje kalendarza: „dey-kat”, „month-to-date” - są ustalone w wersji danych.
8) Wersioning w ML/MLOp
Rejestr modelu: model, data, wskaźniki jakości, dane szkoleniowe (dataset_version), wersje funkcji (feature_set_version).
Sklep z funkcjami: wersjonowane grupy funkcji; zakaz „gorących” pól bez wyraźnej wersji.
Zestaw Repro: kod treningowy (commit), środowisko (Docker/conda lock), sid.
Champion-Challenger: równoległe wersje sprzedaży, raporty dotyczące jakości, uczciwości i prywatności.
Rollback: szybki zwrot do poprzedniego stabilnego modelu i zestawu funkcji.
9) Rolka, zasypka i poprawki
Plan zwrotu: dla każdej wersji MAJOR/MINOR - przezroczyste kroki zwrotne.
Backfill playbook: source of truth, date range, order of recalculation, checksums, labels „recomputed = true”.
Edycja widoczności: v2 zastępuje v1 dopiero po porównaniu; wszystkie „historyczne” raporty nadal odnoszą się do ich wersji.
10) Bezpieczeństwo i zgodność w audycie
Podpisywanie imprezy/pakietu: znaki producenta, sprawdza konsument.
Sprzęt sanitarny PII: audyt przechowuje tokeny, które nie są surowe PII.
Wstrzymanie prawne: Brak usunięcia wersji/dzienników na czas trwania dochodzenia.
DSAR: wersje znaleźć i przesłać rekordy tematu przez token; historyczne migawki są brane pod uwagę.
11) Metryka i SLO
Repro Rate jest procentem raportów odtwarzanych z wersji/kodu danych ≥ progu docelowego.
Zasięg:% tabel z włączonym dziennikiem podróży/audytu.
Schemat zgodności Pass: szybkość udanych kontroli zgodności w CI.
Podwójna delta: wariancja v1/v2 w zakresie tolerancji.
Rollback MTTR: średni czas zwrotu wersji.
Integralność audytu - odsetek podpisanych i zweryfikowanych wydarzeń.
Sukces zasypki - odsetek przeliczonych poprawnie.
12) Wzorce iGaming (przypadki)
Korekta GGR z mocą wsteczną: dostawca ponownie obliczył RTP - dokonujemy zasypki faktów za okres, naprawić 'recomputed _ at', opublikować Uwagi do wydania, porównać v1/v2; nie przepisujemy raportów za ostatnie miesiące, ale zaznaczamy „poprawiona wersja jest dostępna”.
Zasady przeciwdziałania oszustwom: zmieniamy semantykę funkcji - MAJOR, podwójne modele i prezentacje, odwrót do mistrza podczas regeneracji.
KYC/AML: dodane nowe statusy dostawcy - MINOR z nullable; zawierać testy zgodności w umowach.
Sygnały RG: wyjaśnienie logiki "serii strat' - MINOR + Uwagi do wydania i monitorowanie wpływu.
13) Narzędzia i artefakty (kategorie)
Katalog/Lineage/Rejestr: zestaw/schemat/wersje sklepowe, właściciele, połączenia, umowy.
Orchestrator & CI/CD: bramki kompatybilności, dual-run, wydawnictwo notatek.
Przechowywanie z podróżą w czasie: przechowywanie migawek/dzienników.
Podpisywanie i sprawdzanie: podpis partii, kontrolki partii.
Model/Rejestr funkcji: funkcja/wersje modelu, raporty champion-challenger.
14) Szablony (gotowe do użycia)
14. 1 Uwagi do wydania
Wersja: 'payments _ gold v2. 1. 0`
Typ: MINOR (nowe pola 'psp _ country', 'method _ group')
Powód: ujednolicenie sprawozdawczości PSP/kraju
Ryzyko: Wpływ na wyświetlacz „risk _ signals”
Walidacja: dual run 14 dni, delta ≤ 0. 2% GGR
Rollback: przełączyć na 'v2. 0. 3 'za pośrednictwem flagi orkiestry
Data wdrożenia/właściciel/bilet
14. 2 Zestaw paszportu wersji
Zestaw danych: 'game _ rounds _ silver'
Wersja: '2025-11-01T00: 00: 00Z' (migawka id)
Schemat: 'schema @ 1. 7. 0 "(odniesienie do umowy)
Źródło: Provider Feeds A/B (commit...)
Kontrolka integralności podpisany manifest
DQ: Kompletność 99. 9%, świeżość ≤ 15 min
Używa: 'games _ perf _ gold v3. x ',' rg _ signals v1. x "
14. 3 Raport z audytu zmian
Zdarzenie: aktualizacja schematu 'kyc _ status' → 'kyc _ status, v2'
rola użytkownika/usługi, „Data-Engineer”
Kiedy: „2025-11-01 09:32:10 + 02”
Dlaczego: Bilet # 3421 (nowe statusy dostawcy)
Diff: + 'status _ reason' (nullable), enum extended
Kontrole: przepustka CI semver, umowa MINOR
Podpis: 'sig =...', hash diff: 'sha256 =...'
14. 4 Polityka weryfikacyjna (fragment)
MAJOR: zerwanie kompatybilności; podwójny zapis ≥ 30 dni; obowiązkowy plan wsteczny.
MINOR: odwracalnie kompatybilny; Ostrzeżenia w katalogu A/B sklepów 7-14 dni.
PATCH: poprawki jakości/ponowne obliczenia; Wymagane informacje o wydaniu.
Archiwizacja: przechowujemy migawki do regulacji ≥ N miesięcy; WORM do audytu.
15) Procesy (od końca do końca)
1. Inicjatywa: zmiana biletu + wynik uderzenia linedge.
2. Kontrakt inżynierski/aktualizacja schematu + Uwagi do wydania.
3. Walidacja: sprawdzenie zgodności CI, testy DQ, podwójne działanie.
4. Rozmieszczenie: według flagi, kanarka; Publikacja wersji do katalogu.
5. Monitorowanie: delta v1/v2, KPI, skargi.
6. Backfill: Przez regresję playbook.
7. pośmiertnie: w razie incydentu zaktualizuj politykę/testy.
16) RACI (przykład)
Polityki i standardy: CDO (A), Rada ds. Zarządzania Danymi (R/A), DPO/Sec (C).
Umowy/programy: właściciele domen (A), stewardowie danych (R), platforma/inż. (C).
Orkiestra/Przechowywanie: Platforma/Eng (R), SRE (C).
BI/Metrics: Analytics Lead (R), Product/Finance (C).
Wersje ML: ML Lead (A), DS (R), Platform (C).
Audyt/dzienniki: SecOp (R), Audyt wewnętrzny (C).
17) Plan działania w zakresie wdrażania
0-30 dni (MVP)
Włącz czas podróży/migawki dla tabel krytycznych (płatności, game_rounds, kyc).
Uruchom niezmienne dzienniki audytu i podpis pakietów spożywania.
Akceptuj zasady SEMVER i szablon Notatki wydania.
Katalog: dodaj 'właściciela', 'schema _ version', 'dataset _ version' do górnych prezentacji.
30-90 dni
Wprowadź dual-run dla wszystkich MINOR/MAJOR; automatyczne porównanie v1/v2.
Powiązać kontrakty z kompatybilnością i DQ CI bramy.
Regulacja zasypki/wstecznej; drużyny pociągów.
Model/Funkcja rejestru z pełnym zestawem dannyye → fichi → model → inferens linki.
3-6 miesięcy
Pełny zakres dziennika audytu, magazynowanie WORM, raporty dla organów regulacyjnych.
Zautomatyzowane notatki o zwolnieniu z różnicy + lineage.
Raporty Repro Rate/Schema Kompatybilność/Rollback MTTR w deskach rozdzielczych.
Kwartalne recenzje wersji KPI i „zamrażanie” definicji.
18) Anty-wzory
Zmiana semantyki KPI bez nowej wersji/notatki.
Ponowne obliczenia „cicho” bez planu zasypki i 'skomponowane' znaki.
Przechowywanie surowego PII w dziennikach kontroli.
Brak podwójnego uruchomienia i natychmiastowej wymiany okna.
„Wieczne” modele/prezentacje bez podania wersji i źródeł.
19) Sekcje powiązane
Zarządzanie danymi, pochodzenie danych i ścieżka, kontrola dostępu, tokenizacja, bezpieczeństwo i szyfrowanie, monitorowanie modelu, etyka i DSAR, uczenie się w sposób federalny, poufny ML.
Wynik
Audyt i wersioning przekształca dane i modele w niezawodny produkt: każda zmiana jest przejrzysta, odtwarzalna i odwracalna. Dla iGaming jest to podstawa zaufania do KPI, trwałości zgodności i szybkości bezpiecznych wydań.