डेटा झील और केंद्रीकृत भंडारण
(धारा: प्रौद्योगिकी और बुनियादी ढांचा)
संक्षिप्त सारांश
डेटा झील कच्चे माल और समेकित डेटासेट के केंद्रीकृत भंडारण की मूल परत है। IGaming के लिए, यह सट्टेबाजी/भुगतान/गेम लॉग इवेंट्स, संबद्ध अपलोड, OLTP से CDC स्वीकार करता है और उन्हें एनालिटिक्स, एंटी-फ्रॉड, CRM और BI देता है। आधुनिक अभ्यास - लेकहाउस: खुला स्तंभ प्रारूप + ACID तालिका परत + एकल निर्देशिका + लेनदेन/डेटा संस्करण। सफलता की कुंजी योजनाओं और विभाजन, लागत प्रबंधन, पीआईआई सुरक्षा और एक सख्त परिचालन संस्कृति (डीक्यू, वंश, डीआर) का अनुशासन है।
आईगेमिंग प्लेटफॉर्म में डेटा लेक की भूमिका
एनालिटिक्स के लिए सत्य का एक बिंदु: स्रोत और प्रारूप की परवाह किए बिना कच्चे और शुद्ध डेटा का भंडारण।
लचीलापन: बैच और स्ट्रीमिंग (सीडीसी/कनेक्टर्स, इवेंट स्ट्रीम) के लिए समर्थन।
विकास: कच्चे कांस्य से लेकर रजत और स्वर्ण व्यापार के मामलों तक।
जिम्मेदारी का विभाजन: उत्पादन सेवाएं झील की परतों से टायर/मंचन, एनालिटिक्स/एमएल की खपत को लिखती हैं।
वास्तुशिल्प मॉडल: झील बनाम लेकहाउस
डेटा लेक (S3/ADLS/GCS + Parquet/ORC): स्कीमा-ऑन-रीड, सस्ते भंडारण, लचीले प्रारूप।
लेकहाउस (Parquet पर डेल्टा/आइसबर्ग/हुडी): ACID लेनदेन, अपसर्ट/मर्ज, टाइम-ट्रैवल, कॉम्पैक्ट फ़ाइलें, वैक्यूम, इंडेक्सिंग/क्लस्टरिंग।
अभ्यास: लेकहाउस मुख्य परत के रूप में आईगेमिंग के लिए फायदेमंद है, और बाहरी ओएलएपी (क्लिकहाउस/बिगक्वेरी/स्नोफ्लेक/पिनोट) शोकेस और विशेष इंजन के रूप में।
पदक परत मॉडल
कांस्य (रॉ/स्टेजिंग): स्रोतों से कच्ची फ़ाइलें (सीडीसी, लॉग डंप, सहबद्ध सीएसवी, वेबहूक)। न्यूनतम सत्यापन, "जैसा कि है।"
सिल्वर (अनुरूप): सफाई/डीडअप, मुद्राओं/समय क्षेत्रों का सामान्यीकरण, टाइपिंग, एससीडी माप, सुसंगत कुंजी।
गोल्ड (मार्ट्स/सर्विंग): GGR/NGR/LTV/रिटेंशन के लिए समुच्चय, BI/CRM/एंटी-फ्रॉड के लिए भौतिक स्टोरफ्रंट।
टीटीएल: कांस्य पर आक्रामक, सिल्वर पर मध्यम, गोल्ड इकाइयों पर दीर्घकालिक।
फॉर्मेट और टेबल परतें
कॉलम: Parquet (वास्तविक मानक), ORC।
तालिका प्रारूप खोलें (ACID):- डेल्टा झील - लेनदेन, 'MERGE', समय-यात्रा, अनुकूलन/वैक्यूम, जेड-ऑर्डर।
- अपाचे आइसबर्ग - टेबल जिसमें मैनिफेस्ट/स्नैपशॉट, छुपी हुई पार्टिशनिंग, 'MERGE/DELETE/UPDATE', समय-यात्रा शामिल हैं।
- अपाचे हुडी - कॉपी-ऑन-राइट/मर्ज-ऑन-रीड, अपसर्ट-ऑप्टिमाइज़ेशन, वृद्धिशील अर्क।
- योजनाओं के विकास के अपसर्ट/स्ट्रीमिंग/लचीलेपन के लिए पारिस्थितिकी तंत्र और आवश्यकताओं के आधार पर अपनी पसंद बनाएं।
कैटलॉग और मेटास्टर
एक एकल निर्देशिका (हाइव मेटास्टोर/यूनिटी/ग्लू/प्लेटफ़ॉर्म निर्देशिका) स्कीमा, पार्टियों, संस्करणों, अधिकारों को संग्रहीत करती है।
आवश्यकताएं: एक टेबल परत के साथ लेन-देन की स्थिरता, कई इंजनों के लिए समर्थन (स्पार्क, ट्रिनो/प्रेस्टो, फ्लिंक, डीबीटी), ऑडिट/वंश।
योजनाएँ और विकास
स्कीमा अनुबंध: अनिवार्य क्षेत्र, प्रकार, शब्दार्थ को ठी वर्शनिंग स्रोत ('स्कीमा _ संस्करण')।
विकास: वैकल्पिक क्षेत्रों को जोड़ ना, प्रवास के बिना ब्रेकिंग परिवर्तन को प्रतिबंधि पाइपलाइनों में स्वचालित जांच योजनाएं।
पीआईआई विभाजन: संवेदनशील क्षेत्र - एन्क्रिप्शन और अलग अधिकारों के साथ अलग-अलग स्तंभों/तालिकाओं में।
डेटा विभाजन और ले-आउट
घटनाओं के लिए दिनांक/घंटा - आधार कुंजी; वैकल्पिक क्षेत्र: 'देश', 'उत्पाद', 'किरायेदार _ आईडी'।
हाइव-स्टाइल путь: 's3 ://lake/कांस्य/भुगतान/स्रोत = pspA/dt = 2025-11-05/घंटा = 13/भाग-0001। parquet '।
क्लस्टरिंग/सॉर्टिंग: जेड-ऑर्डर/सॉर्ट कुंजी अक्सर फ़िल्टर किए गए फ़ील्ड (player_id, देश) द्वारा।
फ़ाइल आकार: 128-1024 एमबी के लिए लक्ष्य; "छोटी फ़ाइलों" से बचें (नीचे देखें)।
छिपे हुए विभाजन के लिए आभासी स्तम्भ (आइसबर्ग/डेल्टा).
छोटी फ़ाइलें और संपीड़न समस्या
स्रोत छोटे टुकड़ों को स्ट्रीम करते हैं - स्कैन और मेटाडेटा का क्षरण।
समाधान: आवधिक अनुकूलन/संघनन (colesce), संपीड़न कार्य अनुसूचक, अंतर्ग्रहण पर बैच माइक्रो-बंडल, 'ऑटोऑप्टिमाइज़' (यदि उपलब्ध हो)।
मर्ज-ऑन-रीड बनाम कॉपी-ऑन-राइट पॉलिसी लेखन विलंबता और पढ़ ने की गति के बीच एक संतुलन है।
इंजेक्ट: बैच, स्ट्रीम, सीडीसी
ओएलटीपी (डेबेजियम/कनेक्टर्स) से सीडीसी → कांस्य (मिनट ताजगी)।
स्ट्रीम (काफ्का/फ्लिंक/स्पार्क स्ट्रीमिंग) → सिल्वर/गोल्ड वृद्धिशील (अपसर्ट/मर्ज)।
बैच (पार्टनर रिपोर्ट/CSV/JSON) - मैनिफेस्ट के साथ "रिसीवर" के माध्यम से, चेकसम द्वारा डुप्लिकेट का नियंत्रण।
Idempotency: कुंजी (idempotency_key), dedup by (कुंजी, ts), बाद में आने वाले रिकॉर्ड के लिए "वॉटरमार्क"।
डेटा गुणवत्ता (DQ) और वंश
DQ जाँच: पूर्णता, कुंजियों की विशिष्टता, सीमाएँ, संदर्भ अखंडता (देश/मुद्रा सूची), व्यवसाय नियम (GGR ≥ 0)।
वंशावली: रिपोर्ट से स्रोत तक निर्भरता का ग्राफ, मॉडल कोड का संस्करण और तालिका का स्नैपशॉट।
स्कीमा नियंत्रण: स्वचालित बैक/फॉरवर्ड-कॉम्पैट परीक्षण जो "ब्रेकिंग" परिवर्तन
ऑडिट डाउनलोड: कौन/कब/कितने, अस्वीकृत बैच, रिट्रेज़।
सेवा और पहुँच
SQL इंजन: तदर्थ और परिवर्तनों के लिए स्पार्क/ट्रिनो/प्रेस्टो; ईएलटी मॉडल के लिए डीबीटी।
रियल-टाइम/नियर-रियल-टाइम: पिनोट/ड्र्यूड/क्लिकहाउस स्टोरफ्रंट के रूप में; लेकहाउस वृद्धिशील सिंक के माध्यम से एक स्रोत है।
डेटा साझा: प्रतियों के बिना बाहरी कमांड में टेबल/स्नैपशॉट साझा करना (यदि प्रारूप द्वारा समर्थित है)।
सुरक्षा, पीआईआई और बहु-किरायेदारी
एन्क्रिप्शन: एट-रेस्ट (केएमएस) और इन-ट्रांजिट (टीएलएस)।
IAM/RBAC/ABAC: निर्देशिका/तालिका/स्तंभ/पंक्ति स्तर (मास्किंग, गतिशील नीतियां) पर भूमिकाएँ।
क्षेत्र द्वारा विभाजन (ईयू/तुर्की/लैटम स्थानीयकरण): बाल्टी का अलगाव और गणना पूल।
मल्टी-टेनेंसी: namespace/directories और पथ उपसर्ग, 'किरायेदार _ id' द्वारा फ़िल्टर, वैकल्पिक - पंक्ति-स्तरीय नीतियाँ।
एक्सेस ऑडिटिंग: मेटाडेटा रीड/चेंज लॉग, रिटेंशन और नॉन-मॉडिफाइबल लॉग।
लागत प्रबंधन
भंडारण कक्षाएं: एक मानक वर्ग में गर्म (अक्सर पढ़ ने योग्य), टीटीएल नीतियों के साथ ठंड/ग्लेशियर कक्षाओं में संग्रह।
विभाजन/समूह स्कैन को कम करते हैं - $ $ से कम।
महंगी रिपोर्टों के लिए भौतिक भंडार; द्वि परिणाम कैश।
संपीड़न और "सही फ़ाइल आकार" - कम मेटाडेटा और I/O।
कोटा और बजट: गणना समूहों/नौकरियों पर सीमाएं, डेटासेट/टीम पर लागत रिपोर्ट।
कचरा हटाना: टेबल प्रारूपों में 'VACUUM/REWRITE', TTL कांस्य।
डीआर और प्रजनन क्षमता
टाइम-ट्रैवल टेबल वर्शनिंग और कैटलॉग स्नैपशॉट।
बाल्टी और मेटाडेटा की क्रॉस-क्षेत्र प्रतिकृति।
PITR: टेबल लेनदेन लॉग (डेल्टा/आइसबर्ग/हुडी) और पाइपलाइन लॉग का भंडारण।
खेल-दिवस: नियमित रूप से वसूली अभ्यास और स्विचिंग क्षेत्र।
अवलोकन और एसएलओ
एसएलओ ताजगी: कांस्य ≤ 5 मिनट, रजत ≤ 15-30 मिनट, गोल्ड ≤ 60 मिनट (उदाहरण)।
मेट्रिक्स: फाइलों की मात्रा/संख्या, औसत लकड़ी का फ़ाइल आकार, स्कैन समय, छूटे हुए बैचों का हिस्सा, संघनन आवृत्ति, लागत/तिथि, डीक्यू त्रुटियां, देर से डेटा।
अलर्ट: छोटी फाइलें उछाल, लागत वृद्धि, p95/p99 गिरावट, DQ/स्कीम उल्लंघन, स्ट्रीम-ब्लू लैग।
नामकरण सम्मेलन और पथ (टेम्पलेट)
s3://<lake>/<layer>/<domain>/<dataset>/
source=<sys>/ # для Bronze dt=YYYY-MM-DD/
hour=HH/
country=XX/
डेटासेट नाम: 'बेट्स _ रॉ', 'पेमेंट _ सीडीसी', 'प्लेयर्स _ सिल्वर', 'मार्ट _ जीजीआर _ डेली'।
मेटाडेटा कॉलम: 'ingest _ ts', 'source', 'schema _ version', 'trace _ id', 'tenant _ id'।
उदाहरण (सामान्यीकृत)
1) आइसबर्ग: तारीख तक छिपी हुई पार्टी के साथ सिल्वर टेबल
sql
CREATE TABLE silver. bets (
bet_id BIGINT,
player_id BIGINT,
country STRING,
stake DECIMAL(18,2),
win DECIMAL(18,2),
event_ts TIMESTAMP,
ingest_ts TIMESTAMP,
schema_version INT
)
PARTITIONED BY (days(event_ts))
TBLPROPERTIES ('format-version'='2');
2) डेल्टा: सीडीसी से वृद्धिशील अपसर्ट
sql
MERGE INTO silver. players t
USING bronze. players_cdc s
ON t. player_id = s. player_id
WHEN MATCHED THEN UPDATE SET
WHEN NOT MATCHED THEN INSERT;
3) कांस्य के लिए टीटीएल नीति (विचार)
bronze/: keep 30 days silver/: keep 365 days (non-PII), 90 days (PII masked)
gold/marts/: keep 2–3 years (aggregated)
कार्यान्वयन जाँच सूची
1. तालिका प्रारूप (डेल्टा/आइसबर्ग/हुडी) और निर्देशिका चुनें; इंजन (स्पार्क/ट्रिनो/फ्लिंक/डीबीटी) के साथ संरेखित करें।
2. पदक की परतों, टीटीएल नियमों और टीम की जिम्मेदारी को परिभाषित करें।
3. स्कीमा अनुबंध, विकास नियंत्रण, पीआईआई विभाजन और एन्क्रिप्शन पर कब्जा करें।
4. डिजाइन ले-आउट: भागों, सॉर्ट-कुंजी, लक्ष्य फ़ाइल आकार; संघनन सक्षम करें।
5. इनगेस्ट (सीडीसी/स्ट्रीम/बैच) को पहचान और डीडुप्लीकेशन के साथ कॉन्फ़िगर करें।
6. DQ/lineage, मेटाडेटा कैटलॉग और ऑडिटिंग सक्षम करें।
7. ताजगी/लागत एसएलओ, मैट्रिक्स और अलर्ट के डैशबोर्ड को परिभाषित करें।
8. डीआर व्यवस्थित करें: स्नैपशॉट/प्रतिकृति/वसूली + नियमित अभ्यास।
9. नामकरण और पथ, मेटा स्तंभ ('ingest _ ts', 'source', 'schema _ version') को मानकीकृत करें.
10. सही OLAP/RT इंजन के लिए गोल्ड शोकेस और रियल-टाइम सेवारत लाओ।
एंटी-पैटर्न
परतों और टीटीएल के बिना एक सामान्य "बैग" अराजकता और लागत का एक विस्फोट।
देश/उत्पाद - भारी स्कैन को छोड़ कर केवल समय-विभाजन।
थ्रेड्स जो हजारों छोटी फ़ाइलें/घंटे बिना संघनन के बनाते हैं।
योजनाओं के नियंत्रण की कमी और DQ → "ब्रेकिंग" परिवर्तन और रिपोर्टों का अविश्वास।
मास्किंग/राइट्स सेपरेशन के बिना गोल्ड शोकेस के साथ पीआईआई का मिश्रण।
एक निर्देशिका और सारणीबद्ध नीतियों के बजाय बाल्टी के स्तर पर पहुंच अधिकारों का हार्डकोड।
सारांश
IGaming के लिए आधुनिक डेटा लेक एक लेकहाउस है जिसमें एक खुली टेबल प्रारूप, एक एकल कैटलॉग और एक पदक मॉडल है। योजनाओं/पक्षों का अनुशासन, छोटी फाइलों, डीक्यू/वंश, पीआईआई सुरक्षा और लागत स्वच्छता के खिलाफ संघनन झील की परत को एक स्थायी नींव में बदल देता है: सस्ता स्टोर करने के लिए, तेजी से पढ़ ने के लिए और डीआरओ के लिए तैयार। Storefronts।