GH GambleHub

डेटा अखंडता

1) डेटा अखंडता क्या है

डेटा अखंडता यह सुनिश्चित करने के लिए गुणों और नियंत्रणों का एक समूह है कि डेटा स्रोतों और परिवर्तनों से लेकर स्टोरफ्रंट, एपीआई और निर्यात तक सही, सुसंगत और सुसंगत है। लक्ष्य यह है कि वही कथन दोहराए जाने पर समान उत्तर देता है, और कोई भी परिवर्तन ट्रेस करने योग्य और सत्यापित होता है।


2) ईमानदारी के प्रकार और जहां वे रहते हैं

इकाई-अद्वितीय प्राथमिक कुंजी, कोई डुप्लिकेट नहीं।

रेफरेंशियल-वैध एफके लिंक "हैंगिंग" लिंक की अनुपस्थिति।

डोमेन वैध रेंज और प्रारूप (प्रकार, लंबाई, निर्देशिका).

व्यावसायिक नियम: विषय क्षेत्र अपरिवर्तनीय (शेष ≥ 0, लेनदेन राशि = 0, आदि)।

अस्थायी: एकरसता और टाइमस्टैम्प स्थिरता, सही समय क्षेत्र।

अभिगम नीतियां: आरएलएस/सीएलएस दृश्यमान डेटा की तार्किक स्थिरता का उल्लंघन नहीं करता है।


3) डेटा अनुबंध और स्कीमा (सत्य का स्रोत)

हमने सेट और कार्यक्रमों के लिए औपचारिक संविदाएं हम उन्हें प्रवेश द्वार पर और प्रत्येक परिवर्तन के बाद

उदाहरण (YAML, सरलीकृत):
yaml dataset: payments primary_key: txn_id foreign_keys:
- fk: user_id -> users.user_id 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: currency, type: string, in: [USD,EUR,TRY,UAH]}
- {name: event_time, type: timestamp, tz: UTC}
dq_rules:
- "duplicates(txn_id)=0"
- "ref_integrity(user_id, users.user_id)=true"
- "sum(amount) >= 0"
evolution:
semver: [MAJOR, MINOR, PATCH]
breaking_changes_require: approval:data-governance

4) लेन-देन की गारंटी और अलगाव

OLTP के लिए ACID: परमाणु, स्थिरता, अलगाव, स्थायित्व।

अलगाव का स्तर: पढ़ें प्रतिबद्ध/दोहराने योग्य पढ़ें/क्रमबद्ध - "गंदा "/अद्वितीय/प्रेत पढ़ ने के जोखिम पर चुनें।

OLAP और लेकहाउस: तालिकाओं के परमाणु प्रतिबद्ध (लेनदेन लॉग), संगतता नियंत्रण के साथ पहचान सिंक और स्कीमा-विकास।

केपीआई सूत्रों की संगति: शब्दार्थ परत - रिपोर्ट और एपीआई के लिए एक सच्चाई।


5) वितरित प्रणाली: आदेश, पुनरावृत्ति, पहचान

घटना क्रम: 'घटना _ time' + 'ingested _ at', वॉटरमार्क और विलंबता सहिष्णुता का उपयोग करें; घटना के समय के आधार पर समुच्चय।

Redelivery (कम से कम-एक बार): वैश्विक 'event _ id', idempotency कुंजी तालिका, स्थिर कुंजी द्वारा upsert/merge।

आउट-ऑफ-ऑर्डर: खिड़कियों का पुनर्गणना, देरी की रणनीति, मुआवजा।

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


6) प्रत्येक परत पर अखंडता मान्यता (डीक्यू)

हम सीआई/सीडी में और पाइपलाइन रनटाइम में अखंडता नियमों को शामिल करते हैं:
  • ताजगी/पूर्णता/विशिष्टता/वैध मूल्य/संदर्भित अखंडता।
  • विसंगतियाँ: डुप्लिकेट्स के फटने, समय अंतराल, वितरण में तेज बदलाव।
  • केपीआई सूत्रों का नियंत्रण: मिलान परिणाम (गोल्डन सेट) के लिए गणना और परीक्षणों का संस्करण।
  • निर्यात नियंत्रण - उल्लंघन (संगरोध) के साथ सेट जारी करने पर प्रतिबंध।
उदाहरण (महान उम्मीदें-शैली):
yaml expect_column_values_to_be_unique: {column: txn_id}
expect_column_values_to_not_be_null: {column: user_id}
expect_column_values_to_be_in_set: {column: currency, value_set: [USD,EUR,TRY,UAH]}

7) वित्तीय और परिचालन अखंडता

डबल-एंट्री: शेष में डेबिट/क्रेडिट; कट-ऑफ में सारांश सामंजस्य।

कुल अपरिवर्तनीय: भुगतान राशि = राइट-ऑफ राशि + शुल्क + समायोजन।

ऑपरेशनल इनवेरिएंट: SLA/रेलिंग मैट्रिक्स व्यावसायिक नियमों को नहीं तोड़ ते हैं (उदाहरण के लिए, ऑटो-रिपेयर डुप्लिकेट नहीं बनाता है)।


8) वंश, ऑडिटिंग और प्रजनन क्षमता

वंश: प्रदर्शन/सुविधा के लिए स्रोत; परिवर्तनों और मालिकों की दृश्यता।

ऑडिट ट्रेल्स: किसने बदल दिया, कब और क्यों; स्कीमा/सूत्र/कार्य संस्करण।

स्नैपशॉट/चौकियां: पिछली रिपोर्टों को पुनर्गठित करने और पुष्टि करने की क्षमता।

रेप्रो: एक ही स्लाइस पर एक ही क्वेरी - एक ही परिणाम (संस्करण और परतें)।


9) अखंडता की हानि के बिना सुरक्षा और गोपनीयता

RLS/CLS: पंक्ति/स्तंभ फिल्टर इनवेरिएंट का उल्लंघन नहीं करना चाहिए (उदाहरण के लिए, दृश्यमान नमूने का योग घोषित एक से मेल खाना चाहिए)।

मास्किंग/टोकन: यह सुनिश्चित करने के लिए नियतात्मक रणनीतियाँ कि डीडप और संदर्भित अखंडता बनाए रखी जाती हैं।

एन्क्रिप्शन: संपीड़न के बाद चैनल और "ऑन डिस्क" में; प्रमुख प्रबंधन और पहुंच ऑडिटिंग।

DSAR/प्रतिधारण: हटाना/अनाम करना कनेक्टिविटी (कैस्केडिंग नीति) को नहीं तोड़ ता है.


10) स्व-सेवा और स्वचालित मरम्मत

संगरोध: संदिग्ध दलों/बैचों का अलगाव; उपभोक्ता - एक "स्वच्छ" शाखा।

रीप्ले/बैकफिल: किसी अपरिवर्तनीय कच्चे लॉग से विंडो को फिर से बदलता है।

सामंजस्य: परत और सिस्टम सामंजस्य (raw↔curated↔marts; istochnik↔DWH)।

Dedup/Compaction/पुनर्निर्माण: सूचकांक/समुच्चय की मरम्मत के लिए सिस्टम प्रक्रियाएं।

नीति-जैसा-कोड: "क्या विसंगति - क्या कार्रवाई थ्रेसहोल्ड्स - वृद्धि।"


11) मॉडलिंग और भंडारण प्रथाओं

स्थिर कुंजी: सरोगेट पीके (यूयूआईडी/यूएलआईडी), संदर्भ पुस्तकों में अपरिवर्तित प्राकृतिक कुंजी।

Normalizatsiya↔denormalizatsiya: स्रोतों में एफके कनेक्शन, तर्क संस्करण नियंत्रण के साथ विकृत शोकेस।

SCD1/SCD2: आयामों के लिए निर्देशित इतिहास।

सॉर्टिंग/क्लस्टरिंग: RLE/ज़ोन-मैप में सुधार और सामंजस्य को सरल बनाता है।

हैश और चेकसम: फ़ाइलों/बैचों की अखंडता की जाँच करना।


12) समय के साथ और रिपोर्टिंग में अखंडता

फॉर्मूला संस्करण: जनवरी 2025 की रिपोर्ट एक संस्करण एक्स फॉर्मूला के साथ प्रजनन योग्य होनी चाहिए।

कट-ऑफ और "पीरियड क्लोजर": ठंड की दुकान की खिड़कियां और संग्रह स्लाइस।

देर से पहुंचने वाले तथ्य: रिफिलिंग के यांत्रिकी और रिपोर्ट संस्करण चिह्न के साथ याद

ओवरराइड का दस्तावेजीकरण: मैनुअल समायोजन - केवल ऑडिट।


13) एकीकरण और एपीआई

एपीआई अनुबंध: स्कीमा, प्रकार, आवश्यक क्षेत्र, त्रुटि कोड; वर्शनिंग (v1/v2)।

प्रवेश द्वार पर सत्यापन: खराब पेलोड को अस्वीकार करें, "चुपचाप मरम्मत न करें।"

Idempotent POST: idempotence कुंजी, सुरक्षित पुनः प्रयास करें

फ़ाइलों में निर्यात करें: बैच स्थिरता, हैश, हस्ताक्षर।


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

बिक्री प्रश्नों और बर्फ़ीले तूफ़ान में चुनें - MINTER विकास के साथ टूट जाता है।

FK "शब्दों में": कोई वास्तविक संदर्भ जाँच नहीं।

ऑडिट और रिपोर्टिंग के बिना मूक डेटा सुधार।

एक सेट में TZ और समय प्रारूप मिलाएं।

"ग्रिप" केपीआई संस्करणों और लॉग के बिना ओवरराइड करता है।

फॉलबैक रणनीतियों के बिना एकल डीडुप्लिकेशन कुंजी।

लिंक चेकिंग के बिना DSAR विलोपन.


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

1. इन्वेंट्री और क्रिटिकलिटी: सेट/इवेंट मैप, मालिक, जोखिम, इनवेरिएंट।

2. अनुबंध और योजनाएं: औपचारिक प्रकार/बाधाओं/एफके, सीआई संगतता जांच।

3. पाइपलाइन में डीक्यू: ताजगी/पूर्णता/विशिष्टता/आरआई, संगरोध, अलर्ट।

4. लेन-देन का आधार: परमाणु-सिंक, अपसर्ट/मर्ज, एससीडी इतिहास, सूत्र संस्करण।

5. वंश और ऑडिट: निर्देशिका, ट्रेस, चेंज-लॉग, एक्सेस-लॉग।

6. मरम्मत नीतियां: रीप्ले/बैकफिल/डीडअप/कोड के रूप में सामंजस्य; runbook'и и SLO MTTR-डेटा।

7. सुरक्षा/ : आरएलएस/सीएलएस, मास्किंग, एन्क्रिप्शन, डीएसएआर प्रक्रियाएं।

8. रिपोर्टिंग: कट-ऑफ, फ्रीज-स्लाइस, केपीआई वर्शनिंग।


16) प्री-रिलीज़चेकलिस्ट/डिस्प्ले केस

  • पीके/एफके और डोमेन बाधाएं सेट और पास परीक्षण हैं।
  • स्कीमा/फॉर्मूला वर्शनिंग सक्षम है; स्कीमा-डिफ़ग्रीन।
  • डीक्यू नियम (ताजगी/पूर्णता/विशिष्टता/रेंज/आरआई) हरे रंग के होते हैं।
  • idempotent प्रविष्टियाँ: upsert/merge, idempotence कुंजी (घटनाओं के लिए)।
  • समय: 'event _ time' और 'ingested _ at', TZ = UTC; देर से डेटा नीति।
  • वंश और ऑडिट दिखाई दे रहा है; संगरोध और अलर्ट शामिल थे।
  • आरएलएस/सीएलएस/मास्किंग आक्रमणकारियों और आरआई का उल्लंघन नहीं करता है।
  • डीएसएआर/प्रतिधारण परीक्षण; कट-ऑफ/आर्काइव तैयार है।

17) मिनी टेम्पलेट्स

SQL: रेफरेंशियल इंटीग्रिटी चेक

sql select count() as orphans from fact_payments f left join dim_users u on f.user_id = u.user_id where u.user_id is null;
-- ожидаем orphans = 0

संगरोध/मरम्मत नीति (छद्म-YAML)

yaml policy: payments_integrity detect:
- rule: duplicates(txn_id) > 0
- rule: ref_integrity(user_id, users.user_id) = false auto_actions:
- quarantine_partition: {date: today}
- trigger_replay: {window: "last_2h"}
escalate_if:
- condition: violations_persist>30m page: "oncall-data"

माप SCD2 आरेख

sql
-- dim_user_status (SCD2)
user_id, status, valid_from, valid_to, is_current

18) नीचे की रेखा

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

Contact

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

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

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

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

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

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