डेटा झीलें और प्रवाह एकत्रीकरण
1) उद्देश्य और मूल्य
डेटा लेक/लेकहाउस - दीर्घकालिक भंडारण और बड़े पैमाने पर पढ़ ने की एक संदर्भ परत, जहां:- कांस्य में उत्पादों/खेलों/भुगतान भूमि से धाराएँ "जैसा है।"
- चांदी सामान्य और समृद्ध करती है, सुसंगत कुंजी और गुणवत्ता प्रदान करती है।
- BI, नियामक, विरोधी धोखाधड़ी/RG के लिए सोना - एकत्रित शोकेस (वास्तविक-/निकट-वास्तविक समय सहित)।
लेकहाउस पैदावार पर प्रवाह का एकत्रीकरण: कम रिपोर्ट विलंबता, अनुमानित लागत, प्रजनन योग्यता और फोरेंसिक।
2) संदर्भ वास्तुकला
1. Ingest/Edge: HTTP/gRPC, OTel, बैच एंडपॉइंट → шина (काफ्का/रेडपांडा)।
2. कांस्य (केवल): ऑब्जेक्ट स्टोरेज + ACID टेबल (डेल्टा/आइसबर्ग/हुडी), दिनांक/बाजार/किरायेदार द्वारा विभाजन; मूल पेलोड का भंडारण।
3. स्ट्रीम गणना: फ्लिंक/स्पार्क/बीम - विंडो इकाइयाँ, सीईपी, डेडअप, ऑनलाइन-लुकअप।
4. सिल्वर (स्वच्छ/अनुरूप): मुद्रा सामान्यीकरण/टाइमज़ोन, एफके/निर्देशिका, माप के लिए एससीडी।
5. सर्विंग/ओएलएपी: क्लिकहाउस/पिनोट/ड्र्यूड - पैनल के लिए भौतिक मिनट/दूसरा समुच्चय।
6. गोल्ड (सेवा): दैनिक/प्रति घंटा प्रदर्शन मामले, नियामक स्लाइस, अपरिवर्तनीय निर्यात पैकेज (WORM)।
7. नियंत्रण लूप: स्कीमा रजिस्ट्री, डीक्यू-ए-कोड, वंश, निर्देशिका, रहस्य/केएमएस, आरबीएसी/एबीएसी।
3) संविदा और योजनाएं
स्कीमा-पहला: JSON/Avro/Protobuf; आवश्यक क्षेत्र 'event _ time (UTC)', 'event _ id', 'trace _ id', 'user _ seudo _ id', 'market', 'schema _ version' हैं।
एवोल्यूशन: बैक-कम्पेटिबल - शून्य जोड़ ना; तोड़ → '/v2 '+ डबल प्रविष्टि।
निर्देशिका: डोमेन विवरण, स्वामी, ताजा SLA, DQ नियम, वंश।
4) झील में उतरने वाली धाराएँ
बिल्कुल एक बार नीचे: कम से कम-एक बार प्रकाशन + आइडेम्पोटेंट सिंक (MERGE/upsert 'event _ id' द्वारा)।
डेडअप: सिल्वर में स्ट्रीम + विशिष्टता में स्टेटफुल।
फ़ाइल संपीड़न: छोटी फ़ाइलें - पढ़ ने और लागत के लिए नियमित ऑप्टिमाइज ़/वैक्यूम।
समय-यात्रा: डिबगिंग, रीप्ले और ऑडिट शामिल हैं।
आइसबर्ग पार्टिशनिंग का उदाहरण (DDL विचार):sql
CREATE TABLE bronze. payment_events (
event_id STRING, user_pseudo_id STRING, currency STRING,
amount DECIMAL(18,2), market STRING, event_time TIMESTAMP, payload STRING
)
PARTITIONED BY (days(event_time), market);
5) स्ट्रीम एकत्रीकरण: खिड़कियां और वॉटरमार्क
विंडोज़:- टंबलिंग - फिक्स्ड (उदा। स्थिर पैनलों के लिए 1 मिनट/5 मिनट)।
- "चिकनी" मेट्रिक्स के लिए होपिंग - ओवरलैपिंग (चरण <विंडो)।
- सत्र - निष्क्रियता में व्यवहार अंतराल।
- वाटरमार्क: देर से डेटा नियंत्रण (आमतौर पर 2-5 मिनट), पूर्व-जारी/सुधार नियम।
sql
SELECT market,
TUMBLE_START(event_time, INTERVAL '1' MINUTE) AS ts_min,
COUNT() AS deposits_1m,
SUM(amount_base) AS sum_1m
FROM silver. payments
GROUP BY market, TUMBLE(event_time, INTERVAL '1' MINUTE);
6) समुच्चय का भौतिकीकरण
OLAP इंजन (ClickHouse/Pinot/Druid): डैशबोर्ड और ऑपरेशनल एनालिटिक्स के लिए मिनट/सेकंड एग्रीगेट्स स्टोर करता है।
लेकहाउस गोल्ड: रिपोर्टिंग और सामंजस्य (प्रजनन योग्यता) के लिए दैनिक/प्रति घंटा स्लाइस रखता है।
क्लिकहाउस - भौतिक दृश्य (हर मिनट जीजीआर):sql
CREATE MATERIALIZED VIEW mv_ggr_1m
ENGINE = AggregatingMergeTree()
PARTITION BY toDate(event_time)
ORDER BY (toStartOfMinute(event_time), market, provider_id) AS
SELECT toStartOfMinute(event_time) AS ts_min,
market,
provider_id,
sumState(stake_base) AS s_stake,
sumState(payout_base) AS s_payout
FROM stream. game_events
GROUP BY ts_min, market, provider_id;
स्वर्ण दिवस का टुकड़ा (लेकहाउस):
sql
CREATE OR REPLACE VIEW gold. ggr_daily AS
SELECT
DATE(event_time) AS event_date,
market, provider_id,
SUM(stake_base) AS stakes_eur,
SUM(payout_base) AS payouts_eur,
SUM(stake_base) - SUM(payout_base) AS ggr_eur
FROM silver. fact_game_financials
GROUP BY 1,2,3;
7) चांदी: सामान्यीकरण और सामंजस्य
समय और मुद्रा: 'ईवेंट _ टाइम (UTC)', 'राशि _ बेस', 'fx _ rate _ used', 'fx _ source'।
कुंजी/निर्देशिका: 'user _ seudo _ id', 'game _ id', 'प्रदाता _ id', 'बाज़ार'.
SCD II: आयाम इतिहास (उपयोगकर्ता/गेम/प्रदाता/RG/KYC)।
DQ नियम: कुंजी विशिष्टता, निर्देशिका, राशि रेंज, अस्थायी वैधता।
8) इकाइयों का रजिस्टर और "सही" परिभाषाएं
शब्दार्थ परत: समान GGR/NGR सूत्र, दांव/जीत, रूपांतरण, ARPPU, विलंबता p95।
Versioning metrics: 'metric _ version' और "as-of" गणना।
डॉककार्ड: मालिक, सूत्र, स्रोत, एसएलए तत्परता।
9) बिल्कुल एक बार/पहचान और आदेश
बस: कम से कम-एक बार + विभाजन (स्थानीय क्रम)।
प्रसंस्करण: समायोजन के साथ 'ईवेंट _ आईडी' (टीटीएल 24-72h), सीईपी/विंडो ऑपरेटरों द्वारा डीडअप करें।
सिंक: ट्रांजेक्शनल कमिट या आइडेम्पोटेंट अपसर्ट/मर्ज।
आउटबॉक्स/इनबॉक्स: वारंटी के साथ OLTP से डोमेन घटनाओं का प्रकाशन।
10) देर से डेटा और समायोजन
अनुमत विलंबता: परिचालन प्रदर्शन के लिए 2-5 मिनट; गोल्ड के लिए दैनिक आश्वस्त।
सुधार: OLAP में अतिरिक्त उत्सर्जन और गोल्ड का पुनर्निर्धारण (पहचान)।
फ्लैग्स: 'लेट = ट्रू', 'सुधार _ of =
11) अवलोकन और डीक्यू
SLI/SLO (स्थल):- p95 ingest→1 -min शोकेस ≤ 2-5 एस; सोना रोज 06:00 बजे तक तैयार होता है।
- पूर्णता ≥ 99। 5%; स्कीमा वैधता ≥ 99। 9%; ट्रेस कवरेज ≥ 98%।
- पाइपलाइन मैट्रिक्स: लैग/थ्रूपुट/व्यस्त समय/राज्य का आकार, देर-अनुपात, डुप-रेट।
- डीक्यू-डैशबोर्ड: ताजगी/पूर्णता/वैधता, हानि फ़नल, हॉट की कार्ड।
- वंश: कांस्य से स्वर्ण/निर्यात का रास्ता; परिवर्तनों पर प्रभाव विश्लेषण
12) गोपनीयता, निवास, सुरक्षा
पीआईआई कम से कम: छद्म नामकरण, अलग संरक्षित मानचित्रण।
रेजीडेंसी: EEA/UK/BR - अलग निर्देशिका और एन्क्रिप्शन कुंजियाँ; बिना कारण के क्रॉस-रीजनल जोड़ों पर प्रतिबंध लगाना।
एन्क्रिप्शन: टीएलएस इन-ट्रांजिट; केएमएस/सीएमके एट-रेस्ट; थ्रॉटलिंग पर निर्यात हस्ताक्षर + WORM।
DSAR/RTBF/लीगल होल्ड: चयनात्मक संपादन, विलोपन फ्रीज, ऑडिट की गई एक्सेस।
13) प्रदर्शन और लागत
विभाजन: तिथि/बाजार/किरायेदार द्वारा; अक्सर फ़िल्टर किए गए गुणों द्वारा क्लस्टरिंग/जेड-ऑर्डर।
संपीड़न: छोटी फ़ाइलें उन्मूलन, नियमित OPTIZE/VECUUM।
भौतिककरण: मिनट/सेकंड - OLAP में; दिन/घंटे - सोने में।
टियर्ड स्टोरेज: हॉट/वार्म/कोल्ड, एसएलए रिकवरी, कमांड द्वारा चार्जबैक (लागत/जीबी, लागत/क्वेरी)।
Preaggregation/रेखाचित्र: HyperLogLog/लगभग-अलग जहां स्वीकार्य है।
14) उदाहरण (टुकड़े)
फ्लिंक सीईपी - जमा संरचना (10 मिनट):python if count_deposits(window=10MIN) >= 3 \
and sum_deposits(window=10MIN) > THRESH \
and all(d. amount < REPORTING_LIMIT for d in window_events):
emit_alert("AML_STRUCTURING", user_id, snapshot())
सिल्वर में लोड होने पर SQL - dedup:
sql
CREATE TABLE silver. payments AS
SELECT EXCEPT(rn) FROM (
SELECT p., ROW_NUMBER() OVER (PARTITION BY event_id ORDER BY event_time) rn
FROM bronze. payment_events p
) WHERE rn = 1;
आइसबर्ग/डेल्टा - MERGE idempotent:
sql
MERGE INTO silver. fact_bets s
USING stage. fact_bets_delta d
ON s. bet_id = d. bet_id
WHEN MATCHED THEN UPDATE SET
WHEN NOT MATCHED THEN INSERT;
15) प्रक्रियाएं और आरएसीआई
आर (जिम्मेदार):- डेटा प्लेटफ़ॉर्म (लेकहाउस/कैटलॉग/एसीआईडी, कंपेक्शन),
- स्ट्रीमिंग (इकाइयाँ/CEP/dedup),
- डोमेन एनालिटिक्स (मैट्रिक्स/गोल्ड)।
- ए (जवाबदेह): डेटा के प्रमुख/सीडीओ।
- सी (परामर्श): अनुपालन/कानूनी/डीपीओ (पीआईआई/निवास/कानूनी पकड़), वित्त (एफएक्स/जीजीआर), एसआरई (SLO/стоимость), सुरक्षा।
- I (सूचित): BI/उत्पाद/विपणन/संचालन।
16) कार्यान्वयन रोडमैप
एमवीपी (3-5 सप्ताह):1. लेकहाउस कांस्य/रजत (एसीआईडी तालिकाएं), काफ्का से निगलना, रजिस्ट्री योजनाएं।
2. ओएलएपी में बेसिक स्ट्रीम इकाइयाँ (1-5 मिनट); शोकेस गोल्ड। ggr_daily (D + 1 06:00 बजे तक)।
3. भुगतान/गेमप्ले, ताजगी/पूर्णता डैशबोर्ड के लिए डीक्यू-ए-कोड।
4. कम्पैक्शन/ऑप्टिमाइज़, न्यूनतम लागत मैट्रिक्स और लैग/लेट/डुप अलर्ट।
चरण 2 (5-10 सप्ताह):- सिल्वर एक्सटेंशन (उपयोगकर्ताओं/गेम/प्रदाताओं के लिए एससीडी II), वंश और प्रभाव विश्लेषण।
- अतुल्यकालिक लुकअप (RG/KYC/ASN/BIN), देर से सुधार नियंत्रण।
- मैट्रिक्स की शब्दार्थ परत, निर्यात विनियम (WORM/हस्ताक्षर)।
- मल्टी-रीजन, डीआर/रीप्ले सिम्युलेटर, ऑटो-ट्यूनिंग विंडो और वॉटरमार्क।
- कॉस्ट-डैशबोर्ड, चार्जबैक/कोटा, टियर स्टोरेज और आर्काइविंग।
- शोकेस प्रलेखन और मैट्रिक्स कार्ड की ऑटो-पीढ़ी।
17) प्री-सेल चेकलिस्ट
- रजिस्टर में योजनाएं और अनुबंध; बैक-कॉम्पैट परीक्षण हरे रंग के होते हैं।
- डेडअप, वॉटरमार्क/अनुमत विलंबता, डीएलक्यू शामिल हैं।
- /OPTIZE/VECUUM निर्धारित समय पर कॉन्फ़िगर किया गया है।
- एसएलओ: p95 ingest→minute -view, गोल्ड до 06:00; अलर्ट lag/let/dup/state आकार।
- डीक्यू नियम सक्रिय हैं; कांस्य से निर्यात तक वंश दिखाई देता है।
- RBAC/ABAC и KMS; निवास और DSAR/RTBF/कानूनी पकड़ का परीक्षण किया।
- नियंत्रण के तहत लागत (लागत/जीबी, लागत/क्वेरी, कोल्ड शेयर), रिप्ले पर सीमा।
18) एंटी-पैटर्न और जोखिम
एक ही तालिका में कच्चे और रिपोर्ट किए गए डेटा को मिलाना: प्रजनन का उल्लंघन करता है।
संपीड़न की कमी: छोटी फ़ाइलें विस्फोट - महंगे अनुरोध।
एफएक्स की गणना "पूर्वव्यापी": इतिहास और रिपोर्टों को तोड़ ता है।
कोई वॉटरमार्क/लेट पॉलिसी नहीं: स्टोरफ्रंट और अलर्ट "फ्लोट"।
पूर्ण रीलोड अनावश्यक: उपयोग/MERGE वेतन वृद्धि और समायोजन।
एनालिटिक्स में पीआईआई: मैपिंग को अलग रखें, सीएलएस/आरएलएस सक्षम करें।
19) शब्दावली (संक्षिप्त)
लेकहाउस - डेटा लेक + ACID टेबल और SQL इंजन।
कांस्य/रजत/स्वर्ण - कच्चा/सामान्यीकृत/सेवारत परतें।
वाटरमार्क - घटना-समय द्वारा विंडो तत्परता सीमा।
भौतिक दृश्य तेजी से पढ़ ने के लिए एक पूर्व-गणना किया गया शोकेस है।
समय-यात्रा - तालिकाओं के ऐतिहासिक संस्करण पढ़ ना।
WORM - निर्यात कलाकृतियों का अपरिवर्तनीय भंडारण।
20) नीचे की रेखा
उचित धारा एकत्रीकरण के साथ एक डेटा झील परतों और अनुबंधों का एक अनुशासन है: कांस्य "जैसा कि," सामान्यीकरण और गुणवत्ता के लिए रजत, मिनट पैनलों के लिए ओएलएपी, प्रजनन योग्य रिपोर्ट के लिए गोल्ड। खिड़कियों और वॉटरमार्क का प्रबंधन, डीडुप्लीकेशन और संपीड़न, गोपनीयता और लागत, आपको उत्पाद, अनुपालन और परिचालन प्रबंधन के लिए तेज, सत्यापित और अनुपालन स्टोरफ्रंट मिलते हैं।