Logo GH

डेटा स्कीमा और उनका विकास

1) यह एक आईगेमिंग प्लेटफॉर्म क्यों है

विश्वसनीयता - डेटा में बदलाव रिपोर्ट, एपीआई या मॉडल को नहीं तोड़ ते हैं।

फ़ीचर गति: सुरक्षित रूप से फ़ील्ड जोड़ें (KYC/RG/PSP) बिना धाराओं को रोके।

नियामक: ट्रेसिबिलिटी और प्रजनन क्षमता (ऑडिट/वंश, डीएसएआर, कानूनी पकड़)।

लागत: "ओवरफ्लो" और बैकफिल के डाउनटाइम को कम करें।

2) योजनाओं के प्रकार और जहां वे रहते हैं

घटनाएँ (धाराएँ): 'भुगतान। deposit_accepted', 'खेल। round_finished'।

OLTP/DDL: सामान्यीकृत टेबल (KYC, खाते, सीमा)।

DWH/storefronts (गोल्ड): BI/ML के तहत सामान्यीकृत समुच्चय।

फ़ीचर स्टोर: स्थिरता गारंटी के साथ ऑनलाइन/ऑफ़लाइन फ़ीचर सेट।

बाहरी साझेदार अनुबंध: पीएसपी, खेल प्रदाता, विपणन स्रोत।

नोटेशन: एवरो/प्रोटोबुफ (धाराएँ), JSON स्कीमा (एकीकरण), SQL DDL (DWH), पर्केट स्कीमा (झील)।

3) संगतता (विकास का मूल)

पिछड़े-संगत: नए उत्पादक - पुराने उपभोक्ता (जोड़ाफ़ील्ड सी डिफ़ॉल्ट/शून्य)।

फॉरवर्ड-संगत: पुराने उत्पादक - नए उपभोक्ता (नए पाठक अनावश्यक उपेक्षा करते हैं)।

पूर्ण-संगत: दोनों (घटनाओं के लिए वांछनीय लक्ष्य)।

ब्रेकिंग-परिवर्तन: एक क्षेत्र का नाम बदलना/हटाना, प्रकार/शब्दार्थ बदलना ,/विभाजन कुंजी बदलना।

नियम 1: घटनाएं जोड़ के माध्यम से विकसित होती हैं, परिवर्तन के माध

नियम 2: डिलीट करें - केवल मूल्यह्रास अवधि के बाद योजना के मेजर संस्करण में।

4) शब्दार्थ संस्करण और नीतियां

'मेजर। माइनर। प्रत्येक योजना/शोकेस/फीचर सेट के लिए PATCH '।

मेजर - असंगत (नया विषय/टेबल/फीचर सेट, डुअल-रन)।

MINTER - संगत (नया शून्य/डिफ़ॉल्ट क्षेत्र, नया एनम मान)।

PATCH - विवरण/सीमा/टिप्पणियां संपादित करें।

क्षेत्र जीवन चक्र: 'प्रायोगिक → सक्रिय → पदावनत → हटा दिया' (तिथियों और मालिक के साथ)।

5) योजना रजिस्टर और डेटा अनुबंध

स्कीमा रजिस्ट्री: संस्करण, संगतता, विकास और मालिकों को संग्रहीत करता है।

डेटा अनुबंध: योजना + एसएलओ गुणवत्ता + गोपनीयता को ठीक करता है (अनुभाग "डेटा सत्यापन" देखें)।

उदाहरण (एवरो, भुगतान। deposit_accepted v1। 7. 0):
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 घटनाएँ (धाराएँ)

Additive-केवल: डिफ़ॉल्ट/nullable के साथ फ़ील्ड जोड़ें; पुराने उपभोक्ता नहीं तोड़ ते

Enum एक्सटेंशन: नए वर्णों को MINTER माना जाता है, उपभोक्ताओं को 'अन्य/अज्ञात' शाखा की आवश्यकता होती है।

मेजर माइग्रेशन: नया विषय 'भुगतान। deposit_accepted। v2 ', डुअल-राइट, शैडो-रीड, फिर उपभोक्ताओं को स्विच करना।

6. 2 DWH/स्टोरफ्रंट

ब्लू-ग्रीन टेबल: 'सोना। revenue_v2' 'v1' के बगल में; भौतिक, सत्यापित करें, BI स्विच करें।

बैकफिल: स्नैपशॉट + आइडेम्पोटेंट मर्ज (कुंजी/संस्करण द्वारा) द्वारा रीप्ले।

SCD: धीरे-धीरे बदलते गुणों (सीमा, KYC, VIP स्टेटस) के लिए टाइप 2।

6. 3 फीचर स्टोर

दोहरी सेवा: पुराने फीचर सेट को नए के समानांतर परोसा जाता है; मॉडल एक राउटर के माध्यम से सेवित है।

प्वाइंट-इन-टाइम स्थिरता: विकास को PITA खुशियों को नहीं तोड़ ना चाहिए (timestamp/granuality MINTER पर अपरिवर्तित हैं)।

7) परिवर्तनों की वर्गीकरण (चेकलिस्ट)

सुरक्षित (माइनर):
  • 'nullable/default' फ़ील्ड जोड़ ना;
  • enum विस्तार (उपभोक्ता पर एक 'अनजान' शाखा के साथ);
  • एक गैर-कुंजी सूचकांक/टिप्पणी/विवरण जोड़ रहा है।
सशर्त रूप से सुरक्षित:
  • स्केल/यूनिट परिवर्तन (उदाहरण के लिए, सेंट → बेस मुद्रा में राशि) - केवल मेजर
  • संदर्भ/संदर्भ हस्तांतरण - प्रस्तुति परत के माध्
ब्रेकिंग (मेजर):
  • क्षेत्र का नाम बदलें/मिटाएँ
  • प्रकार/प्रारूप/कुंजी/पार्टीशन बदलें
  • शब्दार्थ का परिवर्तन (उदाहरण के लिए, "अर्जित" → "लिखित" से 'बोनस _ राशि')।

8) सर्किट लिंटर्स और संगतता टेस्ट

स्कीमा-लिंट: नाम शैली ('स्नेक _ केस'), आवश्यक लेबल ('मालिक', 'डॉक', 'पिई'), दिनांक/मुद्रा प्रारूप।

कॉम्पैट-परीक्षण: रजिस्ट्री के खिलाफ नए संस्करण की जाँच (पीछे/आगे/पूर्ण)।

उपभोक्ता-अनुबंध-परीक्षण: प्रत्येक सेवा एक "नमूना पेलोड" और अपेक्षा प्रदान करती है योजना बदलते समय सीआई पर चलाएँ।

गोल्डन-डेटासेट: वास्तविक और "बुराई" उदाहरणों का एक सेट (नए एनम, खाली/देर से क्षेत्र, रकम के सीमा मूल्य)।

9) निर्देशिका, एनम और स्थानीयकरण

संदर्भ-डेटा (देश/मुद्राएं/पीएसपी/प्रदाता): व्यक्तिगत संस्करण और एसएलए अपडेट; घटना कोड में सिलाई न करें।

लोकेल/समय क्षेत्र: प्रस्तुति के लिए घटनाओं + स्पष्ट स्थान में यूटीसी संग्रहीत करें।

न्यायालयों के नियम: आयु झंडे, प्रोमो प्रतिबंध - कार्रवाई की तारीखों के साथ निर्देशिकाओं के रूप में।

10) मल्टी-ब्रांड/मल्टी-क्षेत्राधिकार और पीआईआई

किरायेदार अलगाव: 'ब्रांड', 'देश', 'लाइसेंस' - एनम के साथ अनिवार्य क्षेत्र; उन पर मार्ग।

स्कीमा स्तर पर पीआईआई नीति: क्षेत्रों को चिह्नित करें 'pii = true', मास्क/टोकन लागू करें; घटनाओं में, केवल टोकन।

DSAR: 'source _ id/trace _ id' for delection/रिट्रीवल की उपस्थिति; मेजर पलायन पर कानूनी पकड़।

11) डीडीएल और लेक वर्शनिंग

डीडीएल पलायन: घोषणात्मक प्रवासन (लिक्विबेस/फ्लाईवे/डीबीटी), वीसीएस में भंडारण, डोमेन मालिक द्वारा समीक्षा।

झील में प्रारूप: एवरो/पर्केट - खेतों के विकास को रिकॉर्ड करें; मेजर - नई तालिका/पथ '.../v2/' पर।

विभाजन: बदलते भागों (उदाहरण के लिए, 'date'→'date,brand') - केवल मेजर और डबल प्रविष्टि के माध्यम से।

12) iGaming के उदाहरण

12. 1 पीएसपी विस्तारित तरीके

एनम में 'विधि = "MEFETE" जोड़ा गया।

'deposit _ स्वीकृत v1 की माइनर रिलीज। 8. 0`; जो उपभोक्ता MEFETE नहीं जानते हैं, वे 'अज्ञात _ विधि' पर एक शाखा भेजते हैं।

12. 2 खेल प्रदाता ने पिचों को जोड़ा

V 'game। round_finished' जोड़ा 'जैकपॉट _ आईडी' (शून्य)।

शोकेस 'सोना। game_rounds_v3' माइनर प्राप्त करता है; पुरानी रिपोर्ट काम करती है, नए लोग जैकपॉट गिनते हैं।

12. 3 आरजी विशेषताएं

बूलियन 'स्वयं _ बहिष्कृत' से स्थिति 'rg _ state ∈ {कोई नहीं, सीमा, कूलडाउन, self_excluded}' - मेजर, नया विषय + डुअल-राइट + शोकेस और मॉडल का प्रवास।

13) एवोल्यूशन प्रक्रिया (विचार से स्विच करने के लि

1. प्रस्ताव (एडीआर): क्यों बदलें, संगतता का प्रकार, जोखिम मूल्यांकन और प्रभावित उपभोक्ता।

2. डिजाइन और अनुबंध: पंजीकरण, सेवर, संगतता नीति की योजना।

3. टेस्ट: लिंटर्स, कॉम्पैक्ट, उपभोक्ता-अनुबंध, गोल्डन-सेट पर रीप्ले।

4. तैनाती: डुअल-राइट/ब्लू-ग्रीन/शैडो-रीड; अलर्ट।

5. सुलह: व्यावसायिक संतुलन/अपरिवर्तनीय (डेटा सत्यापन देखें)।

6. स्विच: उपभोक्ताओं/बीआई/सुविधाओं को स्विच करें।

7. पदावनत: पुराने स्कीमा, अनुग्रह-अवधि, हटाओ और संग्रह को फ्रीज करें।

14) विकास के मेट्रिक्स और एसएलओ

प्रवास की सफलता-दर, दोहरे चलने का समय, नए प्रारूप की घटनाओं का हिस्सा, बैकफिल वॉल्यूम, अंतराल/ताजगी।

संगतता की घटनाएँ (P1/P2), स्विच करने के बाद विंडो की गुणवत्ता।

लागत: $/टीबी अतिप्रवाह, $/घंटे दोहरे-लेखन, क्लस्टर लोड।

अनुपालन: 0 पीआईआई लीक, एसएलए डीएसएआर/लीगल होल्ड मिला।

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 timestamps, DECIMAL (18) 2) रकम के लिए, अल्फा -2 के लिए 'देश', 'मुद्रा' फोर ।

No 'free _ text' for enum फ़ील्ड; संदर्भ पुस्तकें - बाहरी।

16) कार्यान्वयन रोडमैप

0-30 दिन (एमवीपी)

1. कुंजी घटनाओं (भुगतान, game_rounds, उपयोगकर्ता) के लिए स्कीमा रजिस्ट्री + संगतता नीति सक्षम करें।

2. सीआई में लिंटर्स/कॉम्पैट परीक्षण; मालिक निर्देशिका और एसएलए समीक्षा।

3. एडीआर टेम्प्लेट और माइग्रेशन पासपोर्ट; मेजर चेकलिस्ट।

30-90 दिन

1. गोल्ड स्टोरफ्रंट के लिए ब्लू-ग्रीन; महत्वपूर्ण विषयों के लिए दोहरी लिखें।

2. बुनियादी सेवाओं के लिए उपभोक्ता-अनुबंध-परीक गोल्डन-डेटासेट।

3. स्विच करते समय स्वचालित डिफ-सामंजस्य और अलर्ट; लागत रिपोर्ट।

3-6 महीने

1. अनुग्रह-अवधि के साथ एकल पदावनत/हटाने की प्रक्रिया; संग्रह और कानूनी पकड़।

2. भू/किरायेदार-विशिष्ट एन्क्रिप्शन योजनाएं और कुंजियाँ; संवेदनशील बाजारों के लिए डीपी वेरिएंट।

3. डेटा शब्दकोश और लाइव वंश चार्ट।

17) आरएसीआई

डेटा गवर्नेंस (ए/आर): मानक, रजिस्ट्री, प्रवासन समीक्षा, डी-प्रकाशन।

डोमेन ओनर्स (आर): क्षेत्रों का अर्थ, संदर्भ पुस्तकें, व्यवसाय अपरिवर्तनीय।

डेटा प्लेटफ़ॉर्म (आर): रजिस्ट्री टूल, कॉम्पैट टेस्ट, डुअल-रन/बैकफिल।

सुरक्षा/डीपीओ (ए/आर): पीआईआई नीतियां, भू/किरायेदार, डीएसएआर/कानूनी पकड़।

SRE/ऑब्जर्वेबिलिटी (C): अलर्ट, एवोल्यूशन SLO, क्षमता।

उत्पाद/वित्त (C): केपीआई का सत्यापन, विंडो स्विचिंग।

18) एंटी-पैटर्न

संस्करणों और दोहरे रन के बिना "मक्खी पर क्षेत्र संपादित करें"।

एक नया क्षेत्र जोड़ ने के बजाय नाम बदलना - बड़े पैमाने पर टूटना।

'अनजान' शाखा के बिना हार्ड एनम - नए मूल्यों पर छोड़ दें।

सभी न्यायालयों के लिए एकल निर्देशिका "कोड में"।

idempotent-merge के बिना बैकफिल और संतुलन की जाँच करें।

PII के साथ लॉग और खोज/DSAR के लिए trace_id के बिना।

19) संबंधित अनुभाग

डेटा सत्यापन, डेटा मूल और पथ, डेटाऑप्स अभ्यास, एनालिटिक्स और मेट्रिक्स एपीआई, ऑडिटिंग और वर्शनिंग, डेटा सुरक्षा और एन्क्रिप्शन, एक्सेस कंट्रोल, एमएलओपी: मॉडल शोषण।

कुल

योजनाओं का विकास एक प्रक्रिया है, न कि एक-बंद प्रवासन: रजिस्ट्री, संस्करण और अंतर; "आधी रात को स्विच" के बजाय डुअल-रन और ब्लू-ग्रीन; भाग्य के बजाय संगतता परीक्षण और व्यापार अपरिवर्तनों। इसलिए डेटा स्थिर रहता है, मॉडल अनुमानित हैं, रिपोर्ट सही हैं, और नियामक शांत हैं।

Contact

हमसे संपर्क करें

किसी भी प्रश्न या सहायता के लिए हमसे संपर्क करें।हम हमेशा मदद के लिए तैयार हैं!

Telegram
@Gamble_GC
इंटीग्रेशन शुरू करें

Email — अनिवार्य है। Telegram या WhatsApp — वैकल्पिक हैं।

आपका नाम वैकल्पिक
Email वैकल्पिक
विषय वैकल्पिक
संदेश वैकल्पिक
Telegram वैकल्पिक
@
अगर आप Telegram डालते हैं — तो हम Email के साथ-साथ वहीं भी जवाब देंगे।
WhatsApp वैकल्पिक
फॉर्मैट: देश कोड और नंबर (उदा. +91XXXXXXXXXX)।

बटन दबाकर आप अपने डेटा की प्रोसेसिंग के लिए सहमति देते हैं।