GH GambleHub

Επεξεργασία παρτίδων

1) Σκοπός και αξία

Οι μεταφορείς παρτίδας σχηματίζουν αξιόπιστα κιβώτια ημερήσιας/ωριαίας απεικόνισης για:
  • Υποβολή ρυθμιστικών και χρηματοοικονομικών εκθέσεων (GGR/NGR, φόροι, μητρώα RG/AML).
  • BI και αναλυτική προϊόντων (ομάδες, LTV, χοάνες μετατροπής).
  • Επαλήθευση ακρίβειας (OLTP↔DWH, πάροχοι/PSP), ιστορικοποίηση (SCD).
  • Προετοιμασία χαρακτηριστικών και συνόλων κατάρτισης για ML.

Βασικές ιδιότητες: προβλεψιμότητα, πληρότητα, αναπαραγωγιμότητα, χαμηλό κόστος ανά μονάδα δεδομένων.

2) Αρχιτεκτονική (παραπομπή)

1. Κατάποση (ακατέργαστη δέσμευση): HTTP/gRPC, CDC από OLTP, προμηθευτής uploads → Bronze.
2. Lakehouse: Χάλκινο (ακατέργαστο, μόνο προσθήκη) → Ασήμι (καθαρό/σύμφωνο) → Χρυσό (σερβίρισμα).
3. Ενορχήστρωση: Airflow/Dagster/Premect (DAG 'και εξαρτήσεις, retrays, SLA).
4. Επεξεργασία: κινητήρες σπινθήρα/Trino/DBT/SQL. μορφότυποι διαχωρισμού και όξινου οξέος (Delta/Iceberg/Hudi).
5. DQ και συμβάσεις: Schema Registry, DQ rules (YAML/SQL), consumer-tests.
6. Σερβίροντας: BI/σημασιολογικό στρώμα, δηλώσιμες εξαγωγές (CSV/PDF/JSON + hash), API/GraphQL.
7. Παρατηρησιμότητα: μετρήσεις αγωγών, γενεαλογία, κορμοτεμάχια, κόστος (κόστος/GB, κόστος/ερώτημα).

3) Συχνότητες και SLA

Ημερησίως (κλειδαριά D + 1 έως 06:00) : εκθέσεις GGR, ρυθμιστικά φορτία, συμφωνίες.
Ωριαία/οιονεί ώρα: επιχειρησιακές επιτροπές για τις Επιχειρήσεις/Χρηματοδότηση.
Εβδομαδιαία/μηνιαία: finconsolidation, μοντέλα και αναδρομές.

Συνιστώμενες SLO:
  • Οι χρυσές καθημερινές επιδείξεις είναι έτοιμες μέχρι τις 06:00 τοπική ώρα.
  • Φρεσκάδα Silver p95 ≤ 15 λεπτά για τα μικρόβια/ ≤ 2 ώρες για την ημέρα.
  • Πληρότητα ≥ 99. 5%, ισχύς (καθεστώς) ≥ 99. 9%.

4) Προσαυξημένες λήψεις και CDC

Προσεγγίσεις:
  • CDC (Change Data Capture): Debezium/log replication → Bronze → adments in Silver.
  • Υδατογράφημα ανά ώρα: 'update _ at> max_loaded_ts'.
  • Σύγκριση Hash: 'md5 (σειρά)' για ανίχνευση αλλαγής.
  • Upsert/Συγχώνευση: Idempotent Silver/Gold ενημερώσεις.
Παράδειγμα MERGE (Δέλτα/Iceberg):
sql
MERGE INTO silver. payments AS s
USING staging. payments_delta AS d
ON s. transaction_id = d. transaction_id
WHEN MATCHED THEN UPDATE SET
WHEN NOT MATCHED THEN INSERT;

5) SCD (ιστορικό μέτρησης)

SCD I: αντικατάσταση (ορθογραφία, μικρές διορθώσεις).
SCD II: πλήρες ιστορικό ('έγκυρο _ από/έγκυρο _ έως/είναι _ τρέχον').
SCD III: «πριν/μετά» για σύντομες συγκρίσεις.

SCD II (παράδειγμα):
sql
MERGE INTO dim. users_scd t
USING stage. users u
ON t. user_pseudo_id = u. user_pseudo_id AND t. is_current = TRUE
WHEN MATCHED AND (t. country <> u. country OR t. rg_status <> u. rg_status)
THEN UPDATE SET t. is_current = FALSE, t. valid_to = CURRENT_TIMESTAMP
WHEN NOT MATCHED
THEN INSERT (user_pseudo_id, country, rg_status, valid_from, valid_to, is_current)
VALUES (u. user_pseudo_id, u. country, u. rg_status, CURRENT_TIMESTAMP, NULL, TRUE);

6) Οπισθοπλήρωση - Επανεπεξεργασία

Backfill: Αρχική πλήρωση/ιστορική πλήρωση.
Επανεπεξεργασία: επανυπολογισμός παραθύρων καταστημάτων μετά την επεξεργασία λογικών/διορθωτικών δεδομένων.

Αρχές:
  • Idempotency (MERGE/upsert), Bronze αμετάβλητη, λογική έκδοση.
  • Time-travel για επαναλαμβανόμενα στιγμιότυπα μεταδεδομένων.
  • Guardrails: Περιορισμός του εύρους, των ποσοστώσεων και των ανταγωνιστικών θέσεων εργασίας.
  • Τεκμηρίωση: εγχειρίδιο με βήματα και κριτήρια ολοκλήρωσης.

7) Μοντελοποίηση στρώματος

Χάλκινο:
  • Μόνο ως παράρτημα, «event _ date», «δικαιοδοσία», «ενοικιαστής».
  • Αποθηκεύουμε το αρχικό ωφέλιμο φορτίο (για εγκληματολογία), φτιάχνουμε το 'ingested _ a .
άργυρος:
  • Κανονικοποίηση και τυποποίηση: FK/καταλόγους, dedup, FX/timezones.
  • Πίνακες γεγονότων/διαστάσεων (3NF/BCNF), SCD για βασικές διαστάσεις.
Χρυσός:
  • Απομαλοποιημένα καταστήματα για ΔΙ/ρυθμιστικά/οικονομικά, ετοιμότητα SLA.
  • Υλοποίηση συγκεντρωτικών μεγεθών. αμετάβλητα τεχνουργήματα εξαγωγής (hash + WORM).

8) Ποιότητα δεδομένων (DQ-as-code)

Παράδειγμα κανόνων YAML για το Silver:
yaml table: silver. payments slo:
freshness_minutes: 15 completeness_percent: 99. 5 rules:
- name: amount_positive type: range column: amount_base min: 0. 01 severity: critical
- name: currency_whitelist type: in_set column: currency set: [EUR,USD,GBP,TRY,BRL]
severity: major
- name: unique_tx type: unique columns: [transaction_id]
severity: critical
- name: fk_user type: foreign_key column: user_pseudo_id ref_table: dim. users_scd severity: critical

Πολιτικές αντίδρασης: κρίσιμη → αποτυχημένη εργασία + DLQ· major/minor → tag + report.

9) Σημασιολογικό επίπεδο και υποβολή εκθέσεων

Ενοποιημένοι ορισμοί των μετρήσεων (GGR/NGR, ARPPU, κατακράτηση) στο σημασιολογικό επίπεδο/κατάστημα μετρήσεων.

Μετρήσεις εκδόσεων. Ενσωμάτωση με πακέτα ΔΠ/εξαγωγών

Εκθέσεις: CSV/JSON/PDF + sha256, download log και Legal Hold, εάν είναι απαραίτητο.

10) Προστασία της ιδιωτικής ζωής, διαμονή, ασφάλεια

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

11) Επιδόσεις και κόστος

Κατάτμηση ανά ημερομηνία/αγορά/ενοικιαστή· Z-order/cluster με συχνές κατηγορίες.
Μορφότυποι: πίνακες Parquet + ACID. συμπίεση/στατιστικές, ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ/ΚΕΝΟ.
Υλοποίηση: σταθερές συγκεντρώσεις σε χρυσό. αποφυγή «μονολιθικών» θέσεων εργασίας.
Ποσοστώσεις/προϋπολογισμοί: χρέωση ανά ομάδα Όρια οπισθοπλήρωσης/βαριές αιτήσεις.
Προγραμματισμός: παράθυρα χαμηλού φορτίου (νύχτα/Σαββατοκύριακο), προτεραιότητες αναμονής.

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

Μετρήσεις αγωγών: διάρκεια, ποσοστό επιτυχίας, επαναλήψεις, επεξεργασμένες σειρές, κόστος/ερώτηση.
Μετρήσεις DQ: πληρότητα, εγκυρότητα, μοναδικότητα, σφάλματα FK, μετατόπιση.
Χάρτης θερμότητας φρεσκάδας: ανά τομέα και αγορά. Ταμπλό SLA.
Καταγωγή από χαλκό σε αναφορές. ανάλυση επιπτώσεων πριν από τις αλλαγές.
Προειδοποιήσεις: προϋπολογισμοί SLO, υποβάθμιση DQ, καθυστερήσεις, αύξηση του κόστους.

13) SQL/Παραδείγματα μοντέλων

Ομαλοποίηση νομίσματος (Silver):
sql
CREATE OR REPLACE TABLE silver. payments AS
SELECT p. transaction_id,
p. user_pseudo_id,
p. currency,
p. amount_orig,
r. rate AS fx_rate_used,
p. amount_orig r. rate AS amount_base,
p. market,
CAST(p. event_time AS TIMESTAMP) AS event_time
FROM bronze. payment_events p
JOIN dim. fx_rates r
ON r. date = DATE(p. event_time)
AND r. ccy_from = p. currency AND r. ccy_to = 'EUR';
GGR Daily Showcase (Χρυσός):
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;
Έλεγχος πληρότητας (DQ SQL):
sql
SELECT market, event_date, COUNT() AS n
FROM silver. fact_bets
GROUP BY market, DATE(event_time) AS event_date
HAVING n = 0;

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

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

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

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

1. Lakehouse Bronze/Silver (μορφή ACID), CDC/προσαυξήσεις για 2-3 τομείς.

2. DQ-παρόμοιος κωδικός: 10-15 κανόνες για πληρωμές/gameplay + επικύρωση CI.

3. First Gold Showcase (GGR Daily) με SLA έως τις 06:00; αναφερθείσα εξαγωγή + χασίς.

4. Φρεσκάδα/πληρότητα/ταμπλό κόστους, βασικές προειδοποιήσεις.

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

16) Κατάλογος επιλογών πριν από την πώληση

  • Συμβάσεις και σχήματα στο μητρώο, οι δοκιμές συμβατότητας είναι πράσινες.
  • Επιπρόσθετες λήψεις/εργασίες CDC, η MERGE είναι ταυτόσημη.
  • Οι κανόνες DQ είναι ενεργοί. κρίσιμη βλάβη → + DLQ· έκθεση σχετικά με τις παραβιάσεις.
  • ταμπλό SLA/φρεσκάδας/πληρότητας· έχουν συσταθεί καταχωρίσεις.
  • PII/DSAR/RTBF/Legal Hold Policies επιβεβαιωμένες από το Legal/DPO.
  • Runbook 'και backfill/επανεπεξεργασία/DR που υποβλήθηκαν σε δοκιμή.
  • Κόστος υπό έλεγχο (κόστος/ερώτηση, κόστος/GB, ποσοστώσεις).

17) Αντι-πρότυπα και τρόπος αποφυγής

Μονολιθικά νυχτερινά χτυπήματα: χωρίζονται σε ανεξάρτητα βήματα, παράλληλα από τα κόμματα.
Πλήρης επαναφόρτωση χωρίς λόγο: χρήση αυξήσεων/CDC/συγχώνευση.
Ανάμειξη PII στην ανάλυση: διατήρηση χωριστών χαρτογραφήσεων, εφαρμογή CLS/RLS.
No DQ/γενεαλογία: Εισάγετε DQ-as-code και ιχνοστοιχεία προέλευσης.
«Χειροκίνητα» backfills: αυτοματοποίηση και τεκμηρίωση, οριακές κλίμακες.
Μη διαχειρίσιμο κόστος: ομαδοποίηση, υλοποίηση, πολιτικές διατήρησης.

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

CDC - Αλλαγές δέσμευσης από το OLTP.
SCD - βραδέως μεταβαλλόμενες μετρήσεις (I/II/III).
Lakehouse - data lake + ACID tables.
MERGE/Upsert - idempotent update operations.
Time-travel - ανάγνωση ιστορικών εκδόσεων πινάκων.
WORM - αμετάβλητη αποθήκευση αντικειμένων.

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

Η επεξεργασία παρτίδων είναι ένας κλάδος προβλέψιμων, αναπαραγώγιμων και συμπληρωματικών αγωγών. Ακολουθώντας τις αρχές του σχήματος-πρώτα, προσαυξήσεις/CDC, ιστορικοποίηση SCD, DQ-as-code, παρατηρησιμότητα και συνειδητά οικονομικά, θα λάβετε σταθερές Χρυσές εκθέσεις και εκθέσεις, επαληθευμένες από λάμψεις και έτοιμες για έλεγχο ανά πάσα στιγμή.

Contact

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

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

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

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

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

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