GH GambleHub

Αποθήκες δεδομένων

1) Σκοπός και ρόλος του DWH στο iGaming

DWH είναι το κεντρικό επίπεδο ενοποίησης δεδομένων και εξυπηρέτησης για την υποβολή εκθέσεων, την ανάλυση, τη συμμόρφωση και τη ML. Προβλέπει:
  • Κοινοί μετρικοί ορισμοί (GGR/NGR, ARPPU, Reservation, Churn).
  • Αναπαραγώγιμες εκθέσεις για τις ρυθμιστικές αρχές και τους εσωτερικούς ενδιαφερομένους.
  • Ταχείες αποθήκες για πίνακες ΔΙ/λειτουργίας και πηγές για μοντέλα.
  • Ποιοτικός έλεγχος σε επίπεδο πλατφόρμας, γενεαλογία και ασφάλεια.

2) Αρχιτεκτονικές επιλογές

2. 1 Κλασικό DWH

ETL → DWH → BI.
Πλεονεκτήματα: Διαχειρίσιμα μοντέλα, ισχυρή συνέπεια.
Κατά: ακριβά downloads, σύνθετη backfill, περιορισμένη ευελιξία.

2. 2 Lakehouse DWH

Bronze/Silver/Gold on ACID tables (Delta/Iceberg/Hudi) + SQL/MPP κινητήρας.
Επαγγελματίες: ενοποιημένη αποθήκευση, χρονοδιαδρόμιο, απλή επανεπεξεργασία.
Cons: απαιτεί πειθαρχία των στρωμάτων και DQ, ώριμη ενορχήστρωση.

2. 3 Υβρίδιο

Lakehouse ως «πηγή αλήθειας» (Bronze/Silver), DWH-March in MPP (ClickHouse/Pinot/Druid/Cloud DWH) για ανάγνωση υψηλής ταχύτητας.
Πλεονεκτήματα: ισορροπία κόστους και απόδοσης, ευέλικτες αποθήκες.
Cons: απαιτείται διπλή υποστήριξη για κυκλώματα και πατινάζ.

Σύσταση: για το iGaming - Lakehouse + DWH-Μάρτιος (υβριδικό). Το χάλκινο/ασήμι - τυποποιήστε, χρυσό/σε πραγματικό χρόνο - σερβίρει φορτία ανάγνωσης.

3) Μοντελοποίηση δεδομένων

3. 1 Αστέρι και νιφάδα χιονιού

Πίνακες στοιχείων: στενοί, βασισμένοι σε γεγονότα: "fact _ bet ," fact _ pays "," fact _ payments ".
Διαστάσεις: 'dim _ users' (SCD), 'dim _ games', 'dim _ providers', 'dim _ markets'.
Η νιφάδα χιονιού είναι κατάλληλη στο Silver (ομαλοποίηση), Star - in Gold (ανάγνωση).

3. 2 Θησαυροφυλάκιο δεδομένων 2. 0 (πυρήνας ολοκλήρωσης)

Κόμβοι (κλειδιά επιχειρήσεων), Σύνδεσμοι (σχέσεις), Δορυφόροι (πλαίσιο/ιστορία).
Εφαρμόστε στο ασήμι για μακρόβιες ενοποιήσεις παρόχου/PSP.

3. 3 SCD I/II/III

SCD II για RG/KYC/κανάλια και χαρακτηριστικά παιχνιδιών (RTP/μεταβλητότητα).
Αυστηρά διαστήματα 'έγκυρα _ από/έγκυρα _ σε', σωστή σύνδεση στο χρόνο.

4) Φορτίο: ETL/ELT, CDC και προσαυξήσεις

Προσέγγιση ELT: φόρτωση σε μετασχηματισμό Silver → σε DWH.
CDC: Αντιγραφή Debezium/log από OLTP. merzhi είναι idempotent.
Προσαυξήσεις: ανά ώρα νερού ('update _ at> max_loaded_ts') ή/και δέλτα χασίς.
Backfill/Επανεπεξεργασία: χρονοδιάδρομος, κλίμακες, ποσοστώσεις, συγκρίσεις ξηράς λειτουργίας.

ΣΥΓΧΩΝΕΥΣΗ (παράδειγμα):
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.
Μετρήσεις έκδοσης και υπολογισμός της αναπαραγωγιμότητας.
Οι συμβάσεις είναι μετρικές ονομασίες, μονάδες, νόμισμα (βάση EUR) και «fx _ source».

6) Καταστήματα και σερβίρισμα

Χρυσές επιδείξεις: απομαλοποιημένες, έτοιμες για SLA (για παράδειγμα, μέχρι τις 06:00 κλειδαριά) .
Λειτουργικό Marts: ClickHouse/Pinot/Druid για πάνελ 1-5 λεπτών.
Εξαγωγή: CSV/JSON/PDF + hash. αμετάβλητα πακέτα (WORM) για τις ρυθμιστικές αρχές.

GGR Καθημερινό παράδειγμα:
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) και συμβάσεις

Πρώτο σχήμα: μητρώο JSON/Avro + δοκιμές συμβατότητας (με γνώμονα τον καταναλωτή).
DQ- как - код: πληρότητα/εγκυρότητα/μοναδικότητα/FK/εύρος/χρονική περίοδος.
Πολιτικές αντίδρασης: κρίσιμη αποτυχία → + DLQ· ετικέτα και αναφορά μείζονος/ελάσσονος σημασίας →.
Παρατηρησιμότητα DQ: φρεσκάδα/πληρότητα/ταμπλό ισχύος, χαμένη χοάνη εγγραφής.

8) Ασφάλεια, ιδιωτική ζωή και διαμονή

ελαχιστοποίηση PII: χρήστες μέσω ψευδο-ID· χαρτογραφήσεις χωριστά.
RLS/CLS: Πρόσβαση ανά γραμμή/μετά τον πίνακα ανά ρόλο και δικαιοδοσία.
Κρυπτογράφηση: TLS κατά τη διαμετακόμιση. σε κατάσταση ηρεμίας - KMS/CMK με περιστροφή.
Κατοικία δεδομένων: χωριστοί κατάλογοι και κλειδιά για ΕΟΧ/ΗΒ/BR· η απαγόρευση των διαπεριφερειακών ενώσεων χωρίς λόγο.
DSAR/RTBF: υπολογίσιμες προβολές και επιλεκτικές επεξεργασίες· Νομικό εμπόδιο για την αναφορά αντικειμένων.

9) Απόδοση και κόστος (Μηχανική κόστους)

Κατάτμηση: ανά ημερομηνία/αγορά/ενοικιαστή· clustering/Z-order by 'market', 'provider _ i ,' game _ id ',' user _ pseudo _ id '.
Μορφότυποι: Parquet + στατιστικές και συμπίεση. ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ/ΚΕΝΟ σύμφωνα με το πρόγραμμα.
Υλοποίηση: σταθερά συγκεντρωτικά στοιχεία και συνοπτικοί πίνακες. να αποφεύγεται η ένωση «λίπους» στη μύγα.
Ποσοστώσεις/Χρέωση: προϋπολογισμοί για μεγάλες αιτήσεις/επαναλήψεις· εκθέσεις κόστους/ερωτήματος, κόστος/GB.
Κλιμακωτή αποθήκευση: ζεστό/ζεστό/κρύο. σαφείς SLA αποκατάστασης.

10) Παρατηρησιμότητα και διαχείριση

Μετρήσεις αγωγών: διάρκεια, όγκοι, retrays, υστερήσεις, ανοχή βλάβης.
Μετρήσεις DWH: χρόνος απόκρισης/ανταγωνιστικότητα/επιτυχίες/τιμή μνήμης.
Γραμμή: γράφημα από πηγές σε εκθέσεις. ανάλυση επιπτώσεων στις αλλαγές.
SLO: Freshness Silver p95 ≤ 15 мин. Χρυσός ημερησίως - έτοιμος έως τις 06:00; Ισχύς ≥ 99. 9%; Πληρότητα ≥ 99. 5%; διαθεσιμότητα 99 ευρώ. 9%.

11) Πολυπλοκότητα και απομόνωση τομέα

Διαίρεση ανά σχήμα/βάση δεδομένων/κατάλογο σε ενοικιαστή/αγορά.
Ποσοστώσεις και ομάδες πόρων περιορισμός των «θορυβωδών γειτόνων».
Πολιτικές εξαγωγών/εισαγωγών μεταξύ ενοικιαστών, τυποποιημένες συμβάσεις.

12) Μητρώο δεδομένων και τεκμηρίωση

Κατάλογος δεδομένων: ιδιοκτήτης, SLA, σχήμα, παραδείγματα, κανόνες DQ, γενεαλογία.
Μετρικά/ταμπλό: κάρτες με τύπους και υπεύθυνες.
Αλλαγή καταγραφής: εκδόσεις της λογικής, μεταναστεύσεις, επιπτώσεις.

13) Διαδικασίες και RACI

R (Υπεύθυνη): Μηχανική Δεδομένων (μοντέλα Silver/Gold, DAG 'i), Πλατφόρμα Δεδομένων (infra, registry, DQ).
A (υπόλογος): Προϊστάμενος δεδομένων/CDO.
C (Ζητήθηκε η γνώμη): Συμμόρφωση/Νομικός/ΥΠΔ, Finance (FX/GGR), Κίνδυνος (RG/AML), SRE (SLO/стоимость).
I (Informed): BI, Product, Marketing, Operations.

14) Χάρτης πορείας για την εφαρμογή

MVP (4- 6 εβδομάδες):

1. Lakehouse Bronze/Silver (πίνακες ACID), CDC/προσαυξήσεις για πληρωμές/Gameplay.

2. First Gold showcases (GGR Daily, μετατροπή), SLA έως τις 06:00.

3. DQ-like-code (10-15 κανόνες) + Freshness/Completeness dashboards.

4. Κατάλογος δεδομένων και βασικό σημασιολογικό στρώμα μετρήσεων.

Φάση 2 (6- 12 εβδομάδες):
  • SCD II - χρήστες/παιχνίδια/πάροχοι· επέκταση τομέα.
  • Online March (ClickHouse/Pinot) για πάνελ πραγματικού χρόνου/σχεδόν πραγματικού χρόνου.
  • Ανάλυση γενεαλογίας/επιπτώσεων, διαδικασίες DSAR/RTBF, περιφερειοποίηση (ΕΟΧ/ΗΒ).
Φάση 3 (12 + εβδομάδες):
  • Αυτόματη προσομοίωση αλλαγών (ξηρή), αναπαραγωγή και σύγκριση μετρήσεων.
  • Χρέωση/ποσοστώσεις, πίνακες κόστους-ταμπλό· Ασκήσεις DR και ανάκτηση χρόνου ταξιδιού.
  • Αυτόματη δημιουργία καρτών τεκμηρίωσης και μετρήσεων.

15) Παραδείγματα υποδειγμάτων SQL

Πραγματικές τιμές (Silver, 3NF):
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 είναι ταυτόσημες.
  • Οι χρυσές βιτρίνες έχουν SLA, οι μετρικοί τύποι είναι σταθεροί.
  • Οι κανόνες DQ είναι ενεργοί (κρίσιμης σημασίας → αποτυχία + DLQ), Freshness/Completeness dashboards.
  • RBAC/ABAC, κρυπτογράφηση, κατοικία ανά περιφέρεια, αρχεία καταγραφής πρόσβασης.
  • Ενεργοποιημένη γενεαλογία/πρόσκρουση· time-travel/backup/DR ελέγχθηκε.
  • Κόστος υπό έλεγχο: μέρη, ομαδοποίηση, υλοποίηση, ποσοστώσεις.

17) Αντισυμβαλλόμενοι και κίνδυνοι

«Ένα λίπος DWH χωρίς στρώματα»: μείγμα ακατέργαστων και αναφερόμενων δεδομένων → χάος και ακριβές διορθώσεις.
Πλήρης επαναφόρτωση καθημερινά χωρίς λόγο: χρήση αυξήσεων/CDC.
Χρυσός χωρίς ιδιοκτήτη και τύπους: έλλειψη μιας ενιαίας εκδοχής της αλήθειας → διαμάχες και οπισθοδρόμηση.
PII σε αναλυτικά στρώματα: διατήρηση χωριστών χαρτογραφήσεων, CLS/RLS.
Δεν υπάρχουν DQ/γενεαλογικά στοιχεία: δεν υπάρχουν αποδεικτικά στοιχεία για τις ρυθμιστικές αρχές/τον έλεγχο.
Μη διαχειρίσιμο κόστος: χωρίς παρτίδες/βελτιστοποιήσεις/ποσοστώσεις.

18) Γλωσσάριο (συνοπτικά)

Η DWH είναι μια αποθήκη δεδομένων για ενοποίηση και ανάλυση.
Lakehouse - data lake + ACID tables and SQL engine.
CDC - Αλλαγές δέσμευσης από το OLTP.
SCD - βραδέως μεταβαλλόμενες μετρήσεις (I/II/III).
Χρυσή βιτρίνα - έτοιμο προς κατανάλωση δελτίο έκθεσης/παρουσίαση.
Σημασιολογικό στρώμα - ομοιόμορφοι ορισμοί μετρήσεων και χαρακτηριστικών.

19) Η τελική γραμμή

Το σύγχρονο DWH για iGaming δεν είναι ένα «μεγάλο τραπέζι», αλλά μια διαχειρίσιμη πλατφόρμα: χάλκινα/ασημένια/χρυσά στρώματα, αυστηρές συμβάσεις και DQ, ομοιόμορφες μετρήσεις και γενεαλογία, ιδιωτικότητα και κατοικία, απόδοση και αποδοτικότητα. Κατασκευάζοντας ένα υβρίδιο Lakehouse + DWH-Μαρτίου, θα έχετε γρήγορη και επαληθεύσιμη λήψη αποφάσεων έτοιμη για έλεγχο, κλίμακα και νέες αγορές.

Contact

Επικοινωνήστε μαζί μας

Επικοινωνήστε για οποιαδήποτε βοήθεια ή πληροφορία.Είμαστε πάντα στη διάθεσή σας.

Telegram
@Gamble_GC
Έναρξη ολοκλήρωσης

Το Email είναι υποχρεωτικό. Telegram ή WhatsApp — προαιρετικά.

Το όνομά σας προαιρετικό
Email προαιρετικό
Θέμα προαιρετικό
Μήνυμα προαιρετικό
Telegram προαιρετικό
@
Αν εισαγάγετε Telegram — θα απαντήσουμε και εκεί.
WhatsApp προαιρετικό
Μορφή: κωδικός χώρας + αριθμός (π.χ. +30XXXXXXXXX).

Πατώντας «Αποστολή» συμφωνείτε με την επεξεργασία δεδομένων.