बैच प्रोसेसिंग
1) उद्देश्य और मूल्य
बैच कन्वेयर दैनिक/घंटा प्रदर्शन के लिए विश्वसनीय मामले बनाते हैं:- विनियामक और वित्तीय रिपोर्टिंग (जीजीआर/एनजीआर, करों, आरजी/एएमएल रजिस्ट्रियां)।
- BI और उत्पाद एनालिटिक्स (cohorts, LTV, रूपांतरण फ़नल)।
- सटीकता सत्यापन (OLTP↔DWH, प्रदाता/पीएसपी), इतिहास (एससीडी)।
- एमएल के लिए सुविधाओं और प्रशिक्षण सेट तैयार करना।
प्रमुख गुण: पूर्वानुमेयता, पूर्णता, प्रजनन क्षमता, डेटा की प्रति इकाई कम लागत।
2) वास्तुकला (संदर्भ)
1. Ingest (कच्चा कैप्चर): HTTP/gRPC, OLTP से CDC, प्रदाता → कांस्य अपलोड करता है।
2. लेकहाउस: कांस्य (कच्चा, केवल) → सिल्वर (स्वच्छ/अनुरूप) → गोल्ड (सेवा)।
3. ऑर्केस्ट्रेशन: एयरफ्लो/डागस्टर/प्रीफेक्ट (डीएजी 'और, निर्भरता, रिट्रे, एसएलए)।
4. प्रसंस्करण: स्पार्क/ट्रिनो/डीबीटी/एसक्यूएल इंजन; विभाजन और एसीआईडी प्रारूप (डेल्टा/आइसबर्ग/हुडी)।
5. डीक्यू और अनुबंध: स्कीमा रजिस्ट्री, डीक्यू नियम (YAML/SQL), उपभोक्ता-परीक्षण।
6. सेवारत: BI/अर्थ परत, रिपोर्टेबल निर्यात (CSV/PDF/JSON + हैश), API/GraphQL।
7. अवलोकन: पाइपलाइन मैट्रिक्स, वंश, लॉग, लागत (लागत/जीबी, लागत/क्वेरी)।
3) आवृत्तियाँ और एसएलए
दैनिक (D + 1 से 06: 00 ताला) : जीजीआर रिपोर्ट, नियामक अपलोड, सामंजस्य।
घंटे/अर्ध-समय: ऑप्स/वित्त के लिए परिचालन पैनल।
साप्ताहिक/मासिक: finconsolidation, मॉडल और रेट्रोप्रोसेस।
अनुशंसित एसएलओ:- स्थानीय समयानुसार 06:00 बजे तक गोल्ड-डेली शोकेस तैयार होते हैं।
- दिन के लिए माइक्रोबैट्स/ ≤ 2 एच के लिए फ्रेशनेस सिल्वर p95 ≤ 15 मिनट।
- पूर्णता ≥ 99। 5%, वैधता (योजना) ≥ 99। 9%.
4) वृद्धिशील डाउनलोड और सीडीसी
दृष्टिकोण:- सीडीसी (डेटा कैप्चर बदलें): डेबेजियम/लॉग प्रतिकृति → कांस्य → वेतन वृद्धि सिल्वर में।
- समय के अनुसार वाटरमार्क: 'अद्यतन _ at> max_loaded_ts'।
- हैश तुलना: परिवर्तन का पता लगाने के लिए 'md5 (पंक्ति)'।
- अपसर्ट/मर्ज: आइडेम्पोटेंट सिल्वर/गोल्ड अपडेट।
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 I: ओवरराइटिंग (वर्तनी, मामूली सुधार)।
SCD II: पूरा इतिहास ('मान्य _ for/valid _ to/is _ cornation').
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) बैकफिल - पुनर्संसाधन
बैकफिल: प्रारंभिक भरण/ऐतिहासिक बैकफिल।
पुनर्संसाधन: तर्क/सही डेटा संपादित करने के बाद दुकान विंडो को पुनर्संयोजित करना।
सिद्धांत:- Idempotency (MERGE/upsert), कांस्य अपरिवर्तनीयता, तर्क संस्करण।
- बार-बार चलने वाले मेटाडेटा स्नैपशॉट के लिए समय-यात्रा।
- रेलिंग: सीमित रेंज, कोटा और प्रतिस्पर्धी नौकरियां।
- प्रलेखन: चरणों और पूर्णता मानदंडों के साथ रनबुक।
7) परत मॉडलिंग
कांस्य:- केवल जोड़ें, 'घटना _ तिथि', 'क्षेत्राधिकार', 'किरायेदार' विभाजन.
- हम मूल पेलोड (फोरेंसिक के लिए) संग्रहीत करते हैं, 'ingested _ at' को ठीक करते हैं।
- सामान्यीकरण और मानकीकरण: FK/निर्देशिका, dedup, FX/timezones।
- तथ्य/आयाम तालिका (3NF/BCNF), मुख्य आयामों के लिए SCD।
- BI/नियामक/वित्त, SLA तत्परता के लिए निरूपित स्टोरफ्रंट।
- समुच्चय का भौतिकीकरण; अपरिवर्तनीय निर्यात कलाकृतियाँ (हैश + WORM)।
8) डेटा गुणवत्ता (DQ-as-code)
सिल्वर के लिए YAML नियमों का एक उदाहरण: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
प्रतिक्रिया नीतियां: महत्वपूर्ण - असफल नौकरी + डीएलक्यू; प्रमुख/मामूली → टैग + रिपोर्ट।
9) शब्दार्थ परत और रिपोर्टिंग
सिमेंटिक-लेयर/मेट्रिक्स-स्टोर में मैट्रिक्स (GGR/NGR, ARPPU, रिटेंशन) की एकीकृत परिभाषाएं।
संस्करण मेट्रिक्स; बीआई/निर्यात पैकेजों के साथ एकीकरण
रिपोर्ट: यदि आवश्यक हो तो CSV/JSON/PDF + Sha256, डाउनलोड लॉग और लीगल होल्ड।
10) गोपनीयता, निवास, सुरक्षा
पीआईआई कम से कम: उपयोगकर्ताओं का छद्म नाम; मैपिंग - एक अलग संरक्षित लूप में।
डेटा रेजिडेंसी: EEA/UK/BR के लिए अलग निर्देशिका/कुंजियाँ; कानूनी आधार के बिना क्रॉस-क्षेत्रीय शामिल होने का निषेध।
एन्क्रिप्शन: टीएलएस इन-ट्रांजिट; केएमएस/सीएमके एट-रेस्ट; निर्यात नियंत्रण।
DSAR/RTBF: गणना योग्य अनुमान, चयनात्मक संपादन; एक्सेस ऑडिट।
कानूनी पकड़: नियामक कलाकृतियों के लिए WORM अभिलेखागार।
11) प्रदर्शन और लागत
तिथि/बाजार/किरायेदार द्वारा विभाजन; लगातार विधेय द्वारा जेड-ऑर्डर/क्लस्टर।
प्रारूप: Parquet + ACID तालिकाएँ; संपीड़न/आंकड़े, OPTIZE/VECUUM।
भौतिककरण: स्वर्ण में स्थिर एकत्रीकरण; "अखंड" नौकरियों से बचें।
कोटा/बजट: टीम द्वारा चार्जबैक; बैकफिल लिमिट/भारी अनुरोध।
शेड्यूलिंग: कम लोड विंडो (रात/सप्ताहांत), कतार प्राथमिकताएं।
12) अवलोकन और प्रबंधन
पाइपलाइन मैट्रिक्स: अवधि, सफलता दर, पुनरावृत्ति, पंक्तियों को संसाधित, लागत/क्वेरी।
डीक्यू मैट्रिक्स: पूर्णता, वैधता, विशिष्टता, एफके त्रुटियां, बहाव।
ताजगी हीटमैप: डोमेन और बाजार द्वारा; एसएलए डैशबोर्ड।
वंश: रिपोर्ट के लिए कांस्य मूल; परिवर्तन से पहले प्रभाव विश
अलर्ट: एसएलओ बजट, डीक्यू गिरावट, देरी, लागत वृद्धि।
13) SQL/मॉडल उदाहरण
मुद्रा सामान्यीकरण (रजत):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';
जीजीआर डेली शोकेस (गोल्ड):
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) प्रक्रियाएं और आरएसीआई
आर (जिम्मेदार): डेटा इंजीनियरिंग (डीएजी ', सिल्वर/गोल्ड मॉडल), डेटा प्लेटफॉर्म (इन्फ्रा, सर्किट रजिस्टर, डीक्यू)।
ए (जवाबदेह): डेटा के प्रमुख/मुख्य डेटा अधिकारी।
सी (परामर्श): अनुपालन/कानूनी/डीपीओ (पीआईआई/प्रतिधारण), वित्त (एफएक्स/जीजीआर), जोखिम (आरजी/एएमएल), एसआरई (SLO/стоимость)।
I (सूचित): BI/उत्पाद/विपणन/संचालन।
15) कार्यान्वयन रोडमैप
एमवीपी (4-6 सप्ताह):1. लेकहाउस कांस्य/रजत (एसीआईडी प्रारूप), 2-3 डोमेन के लिए सीडीसी/वेतन वृद्धि।
2. DQ-लाइक-कोड: भुगतान/गेमप्ले + CI सत्यापन के लिए 10-15 नियम।
3. 06:00 बजे तक SLA के साथ पहला गोल्ड शोकेस (GGR डेली); रिपोर्ट किया निर्यात + हैश।
4. ताजगी/पूर्णता/लागत डैशबोर्ड, मूल अलर्ट।
चरण 2 (6-12 सप्ताह):- SCD II для उपयोगकर्ता/गेम/प्रदाता; डोमेन विस्तार।
- मैट्रिक्स की शब्दार्थ परत; OLTP/प्रदाताओं (सटीकता) के साथ जांच।
- बैकफिल/पुनर्संसाधन प्रक्रियाएं, वंश और प्रभाव विश्लेषण, क्षेत्रीयकरण (ईईए/यूके)।
- परिवर्तनों (ड्राई-रन), बजट/कोटा, चार्जबैक का ऑटो-सिमुलेशन।
- स्वचालित प्रलेखन (डेटा उत्पाद पृष्ठ), डीआर अभ्यास और समय-यात्रा-वसूली।
- लागत अनुकूलन (क्लस्टरिंग, भौतिककरण, टीटीएल, वैक्यूम)।
16) प्री-सेल चेकलिस्ट
- रजिस्ट्री में अनुबंध और स्कीमा, संगतता परीक्षण हरे रंग के हैं।
- इंक्रीमेंटल डाउनलोड/सीडीसी काम करता है, MERGE निष्क्रिय है।
- डीक्यू नियम सक्रिय हैं; महत्वपूर्ण → विफल + डीएलक्यू; उल्लंघन पर रिपोर्ट।
- एसएलए/ताजगी/पूर्णता डैशबोर्ड; अलर्ट स्थापित किए जाते हैं।
- पीआईआई/डीएसएआर/आरटीबीएफ/कानूनी पकड़ नीतियों की पुष्टि कानूनी/डीपीओ द्वारा की गई।
- रनबुक 'और बैकफिल/रिप्रोसेसिंग/डीआर परीक्षण किया।
- नियंत्रण में लागत (लागत/क्वेरी, लागत/जीबी, कोटा)।
17) एंटी-पैटर्न और कैसे बचें
अखंड रात जैब: स्वतंत्र चरणों में विभाजित, पार्टियों द्वारा समानांतर।
फुल-रीलोड अनावश्यक: वेतन वृद्धि/सीडीसी/विलय का उपयोग करें।
एनालिटिक्स में पीआईआई सम्मिश्रण: मैपिंग को अलग रखें, सीएलएस/आरएलएस लागू करें।
कोई DQ/वंश नहीं: DQ-as-code और ट्रेस मूल दर्ज करें।
"मैनुअल" बैकफिल: स्वचालित और दस्तावेज़, सीमा रेंज।
असहनीय लागत: क्लस्टरिंग, भौतिककरण, प्रतिधारण नीतियां।
18) शब्दावली (संक्षिप्त)
सीडीसी - कैप्चर OLTP से परिवर्तन।
एससीडी - धीरे-धीरे बदलते माप (I/II/III)।
लेकहाउस - डेटा लेक + ACID टेबल।
MERGE/Upsert - idempotent अद्यतन संचालन।
समय-यात्रा - तालिकाओं के ऐतिहासिक संस्करण पढ़ ना।
WORM - कलाकृतियों का अपरिवर्तनीय भंडारण।
19) नीचे की रेखा
बैच प्रसंस्करण अनुमानित, प्रजनन योग्य और मानार्थ पाइपलाइनों का एक अनुशासन है। स्कीमा-फर्स्ट, वेतन वृद्धि/सीडीसी, एससीडी इतिहास, डीक्यू-ए-कोड, अवलोकन और सचेत अर्थशास्त्र के सिद्धांतों का पालन करके, आपको स्थिर गोल्ड शोकेस और रिपोर्ट प्राप्त होंगे।