Σχήματα δεδομένων και εξέλιξή τους
1) Γιατί αυτό είναι μια πλατφόρμα iGaming
Αξιοπιστία - Οι αλλαγές στα δεδομένα δεν περιλαμβάνουν αναφορές διακοπής, API ή μοντέλα.
Ταχύτητα χαρακτηριστικού: προσθήκη πεδίων με ασφάλεια (KYC/RG/PSP) χωρίς διακοπή ροής.
Κανονιστική ρύθμιση: ιχνηλασιμότητα και αναπαραγωγιμότητα (έλεγχος/γενεαλογία, DSAR, νομικός περιορισμός).
Κόστος: ελαχιστοποίηση των «υπερχειλίσεων» και του χρόνου διακοπής των backfills.
2) Τύποι συστημάτων και τόπος διαμονής τους
Εκδηλώσεις (ροές): "πληρωμές. , 'παιχνίδι. .
OLTP/DDL: κανονικοποιημένοι πίνακες (KYC, λογαριασμοί, όρια).
DWH/storefronts (χρυσός): απομαλοποιημένα συγκεντρωτικά στοιχεία στο πλαίσιο BI/ML.
Feature Store: online/offline σύνολα χαρακτηριστικών με εγγυήσεις συνέπειας.
Συμβάσεις με εξωτερικούς εταίρους: PSP, πάροχοι παιχνιδιών, πηγές μάρκετινγκ.
Σημειώσεις: Avro/Protobuf (ρεύματα), JSON Schema (ενοποιήσεις), SQL DDL (DWH), Parquet schema (λίμνη).
3) Συμβατότητα (πυρήνας εξέλιξης)
Οπισθοδρομική συμβατότητα: νέοι παραγωγοί → παλαιοί καταναλωτές (προστέθηκε πεδίο γ εξ ορισμού/ακυρώσιμο).
Συμβατό προς το μέλλον: παλαιοί παραγωγοί → νέοι καταναλωτές (ο νέος αναγνώστης αγνοεί το περιττό).
Πλήρης συμβατότητα: αμφότερα (επιθυμητός στόχος εκδηλώσεων).
Αλλαγές θραύσης: μετονομασία/διαγραφή πεδίου, αλλαγή τύπου/σημασιολογίας, αλλαγή κλειδιού/κατάτμησης.
Κανόνας 1: τα γεγονότα εξελίσσονται μέσω προσθήκης, όχι μέσω αλλαγής.
Κανόνας 2: διαγραφή - μόνο στη μείζονα εκδοχή του συστήματος μετά την παρωχημένη περίοδο.
4) Σημασιολογικές εκδόσεις και πολιτικές
'MAJOR. MINOR. PATCH 'για κάθε σύστημα/βιτρίνα/σύνολο χαρακτηριστικών.
MAJOR - ασυμβίβαστο (νέο θέμα/πίνακας/σύνολο χαρακτηριστικών, διπλή εκτέλεση).
MINOR - συμβατό (νέα εκμηδενιζόμενα/προκαθορισμένα πεδία, νέες τιμές enum).
PATCH - επεξεργασία περιγραφών/ορίων/σχολίων.
Κύκλος ζωής πεδίου: «πειραματικός → ενεργός → υποβαθμισμένος → αφαιρούμενος» (με ημερομηνίες και ιδιοκτήτη).
5) Μητρώο συστημάτων και συμβάσεις δεδομένων
Schema Registry: αποθηκεύει εκδόσεις, συμβατότητα, εξέλιξη και ιδιοκτήτες.
Σύμβαση δεδομένων: καθορίζει το σύστημα + ποιότητα SLO + προστασία της ιδιωτικής ζωής (βλέπε τμήμα «Επικύρωση δεδομένων»).
json
{
"type":"record","name":"deposit_accepted","namespace":"payments",
"fields":[
{"name":"event_id","type":"string"},
{"name":"occurred_at","type":{"type":"long","logicalType":"timestamp-micros"}},
{"name":"user_id","type":"string"},
{"name":"brand","type":"string"},
{"name":"country","type":"string"},
{"name":"psp","type":"string"},
{"name":"method","type":"string"},
{"name":"amount","type":{"type":"bytes","logicalType":"decimal","precision":18,"scale":2}},
{"name":"currency","type":{"type":"enum","name":"Currency","symbols":["EUR","USD","TRY","BRL"]}},
{"name":"risk_score","type":["null","int"],"default":null}, // MINOR+
{"name":"kyc_level","type":["null",{"type":"enum","name":"Kyc","symbols":["L0","L1","L2","L3"]}],"default":null}
],
"compatibility":"FULL","owner":"team-payments"
}
6) Πρότυπα μετανάστευσης
6. 1 Γεγονότα (ρεύματα)
Προσθήκη πεδίων με προεπιλεγμένα/εκμηδενιζόμενα. Οι ηλικιωμένοι καταναλωτές δεν σπάνε.
Επεκτάσεις Enum: νέοι χαρακτήρες θεωρούνται MINOR, οι καταναλωτές υποχρεούνται να έχουν «άλλο/άγνωστο» υποκατάστημα.
ΜΕΊΖΟΝΑ ΜΕΤΑΝΑΣΤΕΥΣΗ: το νέο θέμα "πληρωμές. . v2 ', διπλή γραφή, σκιώδης ανάγνωση, στη συνέχεια αλλαγή καταναλωτή.
6. 2 DWH/καταστήματα
Blue-Green tables: 'gold. δίπλα στο «v1», υλοποιεί, επαληθεύει, αλλάζει BI.
Backfill: replay by snapshots + idempotent merge (από κλειδιά/εκδόσεις).
SCD: τύπος 2 για τα χαρακτηριστικά που αλλάζουν αργά (όρια, KYC, VIP status).
6. 3 Αποθήκευση χαρακτηριστικών
Διπλή εξυπηρέτηση: το παλιό σύνολο χαρακτηριστικών εξυπηρετείται παράλληλα με το νέο. το μοντέλο εξυπηρετείται μέσω δρομολογητή.
Χρονική συνέπεια: η εξέλιξη δεν πρέπει να σπάσει τις χαρές του PITA (η χρονοσφραγίδα/κοκκία παραμένουν αμετάβλητες στο MINOR).
7) Ταξινόμηση των μεταβολών (κατάλογος ελέγχου)
ΟΝΟΜΑΣΙΑ ΤΟΥ ΦΑΡΜΑΚΕΥΤΙΚΟΥ ΠΡΟΪ
προσθήκη πεδίου 'ακυρώσιμο/προεπιλεγμένο',
επέκταση του enum (με υποκατάστημα "unknow στον καταναλωτή)·
προσθήκη μη βασικού δείκτη/σχολίου/περιγραφής.
Υπό όρους ασφαλείς:- Μεταβολή κλίμακας/μονάδας (για παράδειγμα, ποσό σε λεπτά → βασικό νόμισμα) - Μόνο MAJOR
- μεταφορά αναφοράς/αναφοράς - μέσω του επιπέδου παρουσίασης.
- Μετονομασία/διαγραφή πεδίου
- Αλλαγή τύπου/μορφής/κλειδιού/κατάτμησης
- αλλαγή σημασιολογίας (για παράδειγμα, «bonus _ ποσό» από «δεδουλευμένη» → «διαγραφή»).
8) Linters κυκλωμάτων και δοκιμές συμβατότητας
Schema-lint: στυλ ονόματος ('snake _ case'), απαιτούμενες ετικέτες ('ιδιοκτήτης', 'do ,' pii '), μορφή ημερομηνίας/νομίσματος.
Δοκιμές Compat: έλεγχος της νέας έκδοσης σε σχέση με το μητρώο (οπισθοπορεία/εμπρός/πλήρης).
Δοκιμές καταναλωτικών συμβάσεων: κάθε υπηρεσία παρέχει ένα «δείγμα ωφέλιμου φορτίου» και προσδοκίες. εκτελείται με CI κατά την αλλαγή του συστήματος.
Χρυσά σύνολα δεδομένων: ένα σύνολο από πραγματικά και «κακά» παραδείγματα (νέα enum, κενά/καθυστερημένα πεδία, οριακές τιμές των αθροισμάτων).
9) Κατάλογοι, enum και τοπικοποίηση
στοιχεία αναφοράς (χώρες/νομίσματα/πάροχοι υπηρεσιών πληρωμών): μεμονωμένες εκδόσεις και ενημερώσεις SLA· δεν ράβονται στον κωδικό γεγονότος.
Τοπικές/χρονικές ζώνες: αποθήκευση UTC σε εκδηλώσεις + ρητή τοποθεσία για παρουσίαση.
Κανόνες δικαιοδοσίας: σημαίες ηλικίας, promo περιορισμοί - με τη μορφή καταλόγων με ημερομηνίες δράσης.
10) Πολυσήμαντο/Πολυλειτουργικό και PII
απομόνωση ενοικιαστών: «brand», «country», «license» - υποχρεωτικά πεδία με enum· δρομολόγηση τους.
Πολιτική PII σε επίπεδο σχήματος: σημειώστε τα πεδία 'pii = true', εφαρμόστε μάσκες/μαρκινοποίηση? σε γεγονότα, μόνο μάρκες.
DSAR: παρουσία 'source _ id/trace _ i for διαγραφή/ανάκτηση; Νόμιμη αναμονή για μείζονες μεταναστεύσεις.
11) Έκδοση DDL και λίμνης
Μετανάστευση DDL: δηλωτικές μεταναστεύσεις (Liquibase/Flyway/dbt), αποθήκευση σε VCS, επανεξέταση από τον ιδιοκτήτη τομέα.
Μορφότυποι στη λίμνη: Avro/Parquet - καταγραφή της εξέλιξης των πεδίων? σε MAJOR - νέος πίνακας/διαδρομή '.../v2/'.
Διαχωρισμός: μεταβαλλόμενα μέρη (π.χ. «date'→'date,brand») - μόνο μέσω MAJOR και διπλής εισόδου.
12) Παραδείγματα iGaming
12. 1 εκτεταμένες μέθοδοι PSP
Προστέθηκε 'μέθοδος = «MEFETE»' σε enum.
ΕΛΑΧΙΣΤΕΣ ΕΝΔΕΙΞΕΙΣ ΠΟΥ ΠΡΕΠΕΙ ΝΑ ΑΝΑΓΡΑΦΟΝΤΑΙ ΣΤΙΣ ΜΙΚΡΕΣ ΣΤΟΙΧΕΙΩΔΕΙΣ ΣΥΣΚΕΥΑΣΙΕΣ 8. 0`; Οι καταναλωτές που δεν γνωρίζουν το MEFETE στέλνουν ένα υποκατάστημα στην «άγνωστη _ μέθοδο».
12. 2 Πρόσθετες θέσεις παρόχου παιχνιδιών
V 'game. προστέθηκε 'jackpot _ i round_finished' (nullable).
Χρυσός βιτρίνας. λαμβάνει MINOR· παλιές εκθέσεις δουλεύουν, νέες μετράνε τζάκποτ.
12. 3 Χαρακτηριστικά RG
Μετάβαση από Boolean 'self _ exclused' σε status 'rg _ state ∈ {καμία, όριο, ψύξη, self_excluded}' - MAJOR, νέο θέμα + διπλή γραφή + μετάβαση εκθέσεων και μοντέλων.
13) Διαδικασία εξέλιξης (από ιδέα σε αλλαγή)
1. Πρόταση (ΕΕΔ): γιατί αλλαγή, είδος συμβατότητας, εκτίμηση κινδύνου και επηρεασμός των καταναλωτών
2. Σχεδιασμός και σύμβαση: σύστημα καταχώρισης, semper, πολιτική συμβατότητας.
3. Δοκιμές: χιτώνια, compat, καταναλωτικές συμβάσεις, αναπαραγωγή σε χρυσά σύνολα.
4. Εγκατάσταση: διπλή γραφή/μπλε-πράσινη/σκιώδης ανάγνωση. ειδοποιήσεις.
5. Συμφωνία: Επιχειρηματικά υπόλοιπα/αναλλοίωτες (βλέπε επικύρωση δεδομένων).
6. Αλλαγή: αλλαγή καταναλωτή/BI/χαρακτηριστικά.
7. Αποσαφήνιση: πάγωμα παλιών σχημάτων, περίοδος χάριτος, διαγραφή και αρχειοθέτηση.
14) Μετρήσεις και SLO της εξέλιξης
Ποσοστό επιτυχίας των μεταναστεύσεων, χρόνος διπλής πορείας, μερίδιο νέων εκδηλώσεων, όγκος οπισθοπλήρωσης, υστέρηση/φρεσκάδα.
Συμβάντα συμβατότητας (P1/P2), ποιότητα παραθύρου μετά τη μεταγωγή.
Κόστος: υπερχείλιση $/TB, διπλή γραφή $/ώρα, φορτίο διασποράς.
Συμμόρφωση: 0 διαρροές PII, SLA DSAR/Legal Hold.
15) Εργαλεία και τεχνουργήματα
15. 1 Πολιτική συμβατότητας (μητρώο)
yaml schema: payments. deposit_accepted compatibility: FULL default_nulls: true enums:
currency: {allow_new_symbols: true, require_consumer_unknown_branch: true}
pii: false owners: ["team-payments"]
reviewers: ["data-governance","security-dpo"]
15. 2 Διαβατήριο μετάβασης (υπόδειγμα)
yaml change_id: MIG-2025-041 scope: game. round_finished -> v3 type: MAJOR plan:
dual_write: true shadow_reads: consumers: ["gold-rounds","rg-models"]
backfill: {from: "2025-01-01", mode: "idempotent-merge"}
validation:
invariants: ["sum_bets = sum_wins + margin + bonuses"]
freshness_delta_p95_max: "PT5M"
switch_criteria:
error_rate_max: 0. 1%
kpi_diff_pp_max: 0. 5 deprecate_after: "2025-12-31"
15. 3 Προσθήκη ονομάτων και τύπων (κανόνες)
'sake _ case', χρονοσφραγίδες UTC, DECIMAL (18. 2) για τα ποσά, «χώρα» για το α-2 ISO-3166-1, «νόμισμα» ISO-4217.
No 'free _ tex for enum fields; βιβλία αναφοράς - εξωτερικά.
16) Χάρτης πορείας για την εφαρμογή
0- 30 ηµέρες (MVP)
1. Ενεργοποίηση του Schema Registry + πολιτική συμβατότητας για βασικά γεγονότα (πληρωμές, game_rounds, χρήστης).
2. Πτερύγια/δοκιμές compat σε CI. κατάλογο ιδιοκτητών και αξιολογήσεις SLA.
3. υποδείγματα ΕΕΔ και διαβατήριο μετάβασης· ΜΕΊΖΩΝ κατάλογος σημείων ελέγχου.
30- 90 ηµέρες
1. Γαλάζιο-πράσινο για χρυσοπωλεία· διπλή γραφή για κρίσιμα θέματα.
2. Δοκιμές καταναλωτικών συμβάσεων για βασικές υπηρεσίες. χρυσά σύνολα δεδομένων.
3. Αυτόματες αντιπαραβολές και προειδοποιήσεις κατά τη μεταγωγή. εκθέσεις κόστους.
3-6 μήνες
1. Ενιαία διαδικασία απομάκρυνσης/απομάκρυνσης με περίοδο χάριτος. αρχειοθέτηση και νόμιμη λαβή.
2. Συστήματα κρυπτογράφησης και κλειδιά ειδικά για τους μισθωτές. Παραλλαγές DP για ευαίσθητες αγορές.
3. Λεξικό δεδομένων και διαγράμματα ζωντανής γενεαλογίας.
17) RACI
Διακυβέρνηση δεδομένων (A/R): πρότυπα, μητρώο, επανεξέταση μετάβασης, αποδημοσίευση.
Ιδιοκτήτες τομέα (R): σημασία πεδίων, βιβλίων αναφοράς, επιχειρηματικών αναλλοίωτων.
Πλατφόρμα δεδομένων (R): εργαλεία μητρώου, δοκιμές συμπίεσης, διπλή εκτέλεση/backfills.
Security/DPO (A/R): πολιτικές PII, geo/ενοικιαστής, DSAR/Legal Hold.
SRE/Παρατηρησιμότητα (C): ειδοποιήσεις, SLO εξέλιξης, χωρητικότητα.
Προϊόν/Χρηματοδότηση (C): επικύρωση των KPI, εναλλαγή παραθύρων.
18) Αντι-μοτίβα
«Επεξεργαστείτε το πεδίο στη μύγα» χωρίς εκδόσεις και διπλή εκτέλεση.
Μετονομασία αντί προσθήκης νέου πεδίου → μαζικές αναλύσεις.
Hard enum without the 'unknow branch drop at new value.
Ενιαίος κατάλογος «σε κωδικό» για όλες τις δικαιοδοσίες.
Απόκρυψη χωρίς idempotent-συγχώνευση και έλεγχος ισοζυγίων.
Αρχεία καταγραφής με PII και χωρίς trace_id για αναζήτηση/DSAR.
19) Συναφή τμήματα
Επικύρωση δεδομένων, προέλευση δεδομένων και διαδρομή, πρακτικές DataOps, αναλυτική και μετρική API, έλεγχος και έκδοση, ασφάλεια και κρυπτογράφηση δεδομένων, έλεγχος πρόσβασης, MLOp: εκμετάλλευση μοντέλου.
Σύνολο
Η εξέλιξη των συστημάτων είναι μια διαδικασία, όχι μια εφάπαξ μετάβαση: μητρώο, εκδόσεις και διαλειτουργικότητα. διπλή και μπλε-πράσινη αντί για «διακόπτες τα μεσάνυχτα»· δοκιμές συμβατότητας και επιχειρηματικές ανισότητες αντί της τύχης. Έτσι τα δεδομένα παραμένουν σταθερά, τα μοντέλα είναι προβλέψιμα, οι αναφορές είναι σωστές και οι ρυθμιστικές αρχές είναι ήρεμες.