GH GambleHub

स्व-उपचार डेटा

1) परिभाषा और उद्देश्य

सेल्फ-हीलिंग डेटा डेटा इंजीनियरिंग के लिए एक दृष्टिकोण है जिसमें दोषों का स्वचालित रूप से पता लगाया जाता है, और सुधारात्मक क्रियाएं (मरम्मत, पुन: वितरण, रोलबैक, पुन: समेकन) मानव हस्तक्षेप के बिना।

लक्ष्य: कम डेटा MTTR, विश्वास में वृद्धि, बहाव और विफलता के लिए लचीलापन, स्वामित्व की अनुमानित लागत।

2) विशिष्ट ग्लिच के लिए इलाज किया जाना है

योजनाएं और अनुबंध: असंगत परिवर्तन, लापता स्तंभ, प्रकार विरोधाभास।

गुणवत्ता/अखंडता: डुप्लिकेट्स, चूक, विशिष्टता/संदर्भित अखंडता उल्लंघन।

समय और ताजगी: इंजेक्शन में देरी, खिड़कियों में "छेद", TZ/locales का desynchronization।

पहचानकर्ता और कुंजी: आईडी जनरेटर, टकराव, फ्लोटिंग प्राकृतिक कुंजियाँ बदलना।

घटनाओं का क्रम: देर से घटनाएं, पुन: आदेश, फिर से वितरण (कम से कम एक बार)।

भंडारण: बैचों का क्षरण, टूटी हुई फाइलें/ब्लॉक, शार्डिंग का विरूपण।

अधिकार/सुरक्षा: गलत मास्क/एन्क्रिप्शन, पीआईआई अपलोड में लीक।

3) स्व-उपचार के स्तंभ

1. स्वचालित परीक्षणों के साथ डेटा अनुबंध (स्कीमा + नियम)।

2. पहचान पाइपलाइन (दोहरे प्रभाव के बिना फिर से शुरू)।

3. पत्रकारिता और प्रजनन क्षमता (कच्चे/कांस्य अपरिवर्तनीय, वंश)।

4. मरम्मत तंत्र (रीप्ले, बैकफिल, कॉम्पैक्शन, मर्ज-रिपेयर, पुनर्निर्माण)।

5. अवलोकन और एसएलओ (ताजगी, पूर्णता, विशिष्टता, विलंबता)।

6. निर्णय लेने की नीतियां (जब हम ऑटो-फिक्स करते हैं, जब हम आगे बढ़ ते हैं)।

4) अनुबंध और गुणवत्ता परीक्षण

अनुबंध में वर्णन किया गया है: योजना, स्वीकार्य रेंज, विशिष्टता, आरएलएस/मास्किंग, एसएलए ताजगी।

उदाहरण (YAML शैली):
yaml dataset: payments schema:
- name: txn_id; type: string; unique: true
- name: user_id; type: string; not_null: true
- name: amount; type: decimal(18,2); min: 0
- name: created_at; type: timestamp; tz: UTC freshness_sla: 15m constraints:
- "count(distinct txn_id) = count()"
- "pct_null(user_id) < 0. 1%"
privacy:
- mask: card_pan -> BIN6LAST4 actions_on_violation:
- auto_quarantine_partition
- backfill_missing_window
- notify_owner_and_open_ticket

परीक्षण हर कदम पर निष्पादित किए जाते हैं: इंजेक्शन → मंचन → शोकेस। नियमों का उल्लंघन ऑटो-मरम्मत (नीचे देखें) और/या संगरोध को सक्रिय करता है।

5) आदर्शवाद और निर्धारणवाद

स्थिर कुंजियों द्वारा अपसर्ट/मर्ज ( इतिहास के लिए, स्लाइस के लिए)।

निर्धारक परिवर्तन: एक इनपुट - एक ही मापदंडों के साथ एक आउटपुट।

वर्शनिंग - कोड/स्कीमा/लेयर संस्करण और डेटा लेबल (वॉटरमार्क) को ठीक करें।

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

वास्तव में एक बार अर्थ में: स्वीकार्य "कम से कम-एक बार" परिवहन + पहचानने वाला रिसीवर।

6) मरम्मत टूलकिट

रीप्ले/बैकफिल: विंडो के लिए पुनर्वितरण ∈ [T0, T1] 'अपरिवर्तनीय लॉग (कच्चा) से।

सुलह: परतों (कच्चे ↔ क्यूरेटेड ↔ मार्ट्स) और सिस्टम (स्रोत ↔ DWH) के बीच समुच्चय/कुंजियों की तुलना।

Deduplication: कुंजी (txn_id, event_id) + दूरी हेयुरिस्टिक (गंदी कुंजियों के लिए फजी) द्वारा विंडो-डेडअप।

संघनन: छोटी फ़ाइलों को बड़ी पार्टियों (Parquet/ORC) में स्थानांतरित करना, फिर से अनुक्रमण।

मर्ज-रिपेयर: जब संघर्ष रिकॉर्ड करता है, तो प्राथमिकता विधेय (स्रोत/समय/संस्करण द्वा

सूचकांक/भौतिककरण का पुनर्निर्माण करें: पुनर्गणना समुच्चय/घन/रोल-अप।

संगरोध/छाया: संदिग्ध दल खुद को अलग करते हैं; उपभोक्ताओं ने एक "साफ" धागा पढ़ा।

स्कीमा मध्यस्थता: मामूली परिवर्तनों के लिए स्वचालित प्रक्षेपण चयनक (डिफ़ॉल्ट, कम्प्यूटेबल कॉलम भरना)।

7) भंडारण संरक्षण और अखंडता

मात्रा और ब्लॉक सत्यापन (सीआरसी, समता) की जाँच करें।

कोरम भंडारण (RFT/Paxos-संगत प्रणाली, कोरम पढ़ ता है/लिखता है)।

लागत प्रभावी अतिरेक के लिए कोडिंग का उन्मूलन करें।

ऑब्जेक्ट स्टोर वर्शनिंग (undelete)।

परमाणु प्रतिबद्ध в लेकहाउस (लेनदेन लॉग, एसीआईडी- таблицы: डेल्टा/आइसबर्ग/हुडी)।

8) घटनाओं का आदेश और "गंदी वास्तविकता"

देर की घटनाएं: विलंबता-खिड़की रखें, वॉटरमार्क का उपयोग करें 'और; खिड़कियों को फिर से बनाना।

Redelivery: dedup द्वारा वैश्विक 'event _ id', idempotency-keys टेबल।

ऑफसेट समय: TZ को सामान्य करना, 'ingested _ at' and 'event _ time' का भंडारण।

आउट-ऑफ-ऑर्डर: event_time-based वॉटरमार्क समायोजन के साथ एकत्र होता है।

9) निर्णय तर्क (नीति इंजन)

नियम: "क्या विसंगति - क्या कार्रवाई - क्या थ्रेसहोल्ड करता है - कौन मालिक है।"

उदाहरण (छद्म):
yaml policy: payments_freshness detect: freshness_delay > 15m auto_actions:
- trigger: backfill(last_60m)
- if: gap_persisted > 30m then: quarantine_partition(date=today, hour=current_hour)
escalate:
- if: gap_persisted > 60m -> page_oncall:data guardrails:
- do_not_expose_unverified_to_marts

10) डेटा के लिए अवलोकन और एसएलओ

एसएलओ सेट:
  • प्रदर्शन के मामलों की ताजगी ≤ 15 मिनट।
  • पूर्णता> 99। प्रमुख क्षेत्रों पर 5%।
  • विशिष्टता: डुप्लिकेट <0। 01%.
  • गणना विलंबता: p95 <5 मिनट।
  • मरम्मत स्थिरता: MTTR-डेटा <30 मिनट।

मेट्रिक्स और अलर्ट: प्रोमेथियस/ग्राफाना में प्रदर्शित; डेटा घटनाओं का एक प्राथमिकता टेप बनाएं।

11) सुलह (प्रथाओं)

समुच्चय जाँचें: 'count/sum/min/max' स्लाइडिंग विंडो पर परतों/सिस्टम के बीच.

मुख्य सामंजस्य: सेट का सममित अंतर '(= (A) B) ∪ (B· A)'।

आवधिक "ऑडिट जॉब": स्रोत के साथ तुलना, स्रोत पर चयनात्मक जांच।

भुगतान/वित्त: डबल-एंट्री, दैनिक कट-ऑफ सामंजस्य, समायोजन लॉग।

12) सर्किट प्रबंधन और विकास

योजनाओं के लिए SemVer: मेजर (ब्रेक )/MINTER (जोड़ता है )/PATCH (फिक्स)।

सीआई/सीडी में अनुबंध: स्कीमा-डिफ, संगतता, प्रवासन का ऑटोजेनेरेशन।

बैकफिल हुक: MINTER के साथ डिफ़ॉल्ट/गणना क्षेत्र जोड़ें, शोकेस को फिर से जोड़ें।

लचीले अनुमान: पाठकों ने स्तंभों के सबसेट पढ़े; "SELECT" प्रतिबंधित करें।

13) सुरक्षा, गोपनीयता, अनुपालन

आरएलएस/सीएलएस: पंक्ति/स्तंभ फिल्टर, विशेष रूप से मरम्मत शाखाओं और निर्यात में।

टिकाऊ डीडुप्लीकेशन के लिए पीआईआई-आधारित टोकन।

प्रवेश/निर्यात लेखा परीक्षा: जिन्होंने देखा कि उन्होंने क्या निर्यात किया है, जहां उन्होंने इसे भेजा है।

डीएसएआर/प्रतिधारण: मरम्मत प्रक्रियाओं में ऑटो-विलोपन/गुमनामी; किकबैक कानूनी आवश्यकताओं को ध्यान में रखते हैं।

14) लागत और प्रदर्शन

लागत-जागरूक बैकफिल: खिड़कियों की चौड़ाई को सीमित करना (उदाहरण के लिए, 3-7 दिन फिसलना)।

भौतिककरण और कैश: केवल बदले गए बैचों (वृद्धिशील) का पुनर्गणना।

प्राथमिकता: पहले महत्वपूर्ण शोकेस (वित्त, जोखिम), फिर विश्लेषणात्मक।

ऑफ-पीक मरम्मत: शेड्यूलर में रात की खिड़कियां/कम प्राथमिकता।

15) परीक्षण और घटना सिमुलेशन

अराजकता-डेटा-परीक्षण: मंच पर जानबूझकर विभाजन/सर्किट तोड़ें।

नकली देरी: नकली बैच, आउट-ऑफ-ऑर्डर, डुप्लिकेट।

गोल्डन डेटासेट: मरम्मत के बाद के सुलह के लिए बेंचमार्क।

गेमडेज़: रनबुक पर नियमित टीम प्रशिक्षण।

16) एंटीपैटर्न

"अदृश्य" सुधार: ऑडिटिंग या रिपोर्टिंग के बिना मूक संपादन।

अप्रयुक्त बैकफिल: कोई सत्य स्रोत/सूत्र संस्करण नहीं।

मरम्मत के दौरान OLTP को भारी लाइव अनुरोध: आप प्रोड समाप्त करते हैं।

उपभोक्ताओं में चयन करें: किसी भी माइनर परिवर्तन के साथ टूटता है।

डीडुप्लिकेशन के लिए एकमात्र कुंजी फॉलबैक कुंजी/हैश हस्ताक्षर की अनुपस्थिति है।

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

1. डिस्कवरी: महत्वपूर्ण सेट/मैट्रिक्स, जोखिम, मालिक; निर्भरता का नक्शा।

2. संविदाएं और परीक्षण: सीआईआई में योजनाओं/नियमों को औपचारिक रूप देना; शब्दावली प्रकाशित करें।

3. पहचान: अपसर्ट/मर्ज, परमाणु सिंक में कुंजी पाइपलाइनों को फिर से लिखें।

4. कच्चे लॉग और वंश: अपरिवर्तनीय परत, पूर्ण मेटाडेटा, वॉटरमार्क 'और।

5. मरम्मत यांत्रिकी: बैकफिल/रीप्ले, डेडअप, कॉम्पैक्शन, संगरोध; नीति इंजन।

6. अवलोकन और एसएलओ: गुणवत्ता डैशबोर्ड, अलर्ट, प्राथमिकता टेप।

7. अराजकता-डेटा और प्रशिक्षण: नियमित अभ्यास + रनबुक 'और।

8. लागत अनुकूलन: वृद्धिशील पुनर्गणना, खिड़की प्राथमिकता।

18) प्री-रिलीज़चेकलिस्ट

  • डेटा अनुबंध और गुणवत्ता परीक्षण महत्वपूर्ण सेट को कवर
  • पाइपलाइनें अज्ञात हैं; परमाणु प्रतिबद्ध और पुलबैक हैं।
  • बैकफिल/रिप्ले और संगरोध कॉन्फ़िगर किए गए हैं, वृद्धि नीतियों को वर्तनी दी जाती है।
  • ताजगी/पूर्णता/विशिष्टता/लेटेंसी मेट्रिक्स और अलर्ट इन प्रोड।
  • संपादन/मरम्मत का लेखा परीक्षा शामिल; सूत्रों और स्टोरफ्रंट के संस्करणों को संग्रहीत करता है।
  • मरम्मत और रोलबैक के लिए डीएसएआर/रिटेंशन का पालन किया जाता है।
  • एक रनबुक है 'और, आयोजित अभ्यास, MTTR-लक्ष्य तय किया गया है।
  • बैकफिल की लागत बजट गार्ड द्वारा सीमित है।

19) ऑटो-क्रियाओं के उदाहरण (टेम्पलेट्स)

"विंडो फ्रेशनेस एक्स" बैकफिल ( ) - यदि 30 मिनट में ठीक नहीं है संगरोध + ऑन-कॉल पेज।

"डुप्लिकेट स्पाइक" - में सख्त डीडअप + स्रोत सामंजस्य शामिल हैं - कारण रिपोर्ट।

"MINTER स्कीमा परिवर्तन" - एक गणना डिफ़ॉल्ट क्षेत्र उत्पन्न करता है - पुनर्निर्माण समुच्चय।

"बैचों का नुकसान" वर्जित वस्तु से चेक राशि का सत्यापन बहाल करें।

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

Contact

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

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

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

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

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

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