मार्गदर्शिका - DEA-C01 AWS Certified Data Engineer Associate
अंतिम समीक्षा: मई 2026
DEA-C01 परीक्षा द्वारा परखे जाने वाले architectural patterns का स्कैन-योग्य संदर्भ। ऊपर से नीचे पढ़ें या किसी section पर जाएं।
डेटा अधिग्रहण और परिवर्तन
स्ट्रीमिंग अधिग्रहण के लिए Kinesis सेवा चुनें।
उपभोक्ता-नियंत्रित उप-सेकंड प्रोसेसिंग → Kinesis Data Streams। S3/Redshift/OpenSearch पर वैकल्पिक प्रारूप रूपांतरण के साथ पूर्णतः प्रबंधित डिलीवरी → Kinesis Data Firehose।
क्यों: KDS रिकॉर्ड को बनाए रखता है (24 घंटे-365 दिन) और कई उपभोक्ताओं का समर्थन करता है। Firehose में रीप्ले नहीं होता; रीप्ले को शून्य-ऑप्स डिलीवरी के लिए बदलता है।
पीक के दौरान स्ट्रीम ProvisionedThroughputExceeded त्रुटियों का सामना करती है।
रिशार्ड करें। प्रत्येक शार्ड 1 MB/s या 1,000 रिकॉर्ड/s अधिग्रहण, 2 MB/s निकास का समर्थन करता है। एकसमान विभाजन कुंजियों का उपयोग करें; प्रति उपभोक्ता >2 MB/s के लिए Enhanced Fan-Out सक्षम करें।
क्यों: हॉट विभाजन कुंजियाँ एक शार्ड पर ट्रैफिक केंद्रित करती हैं। यादृच्छिक या हैश-आधारित कुंजियाँ लोड को फैलाती हैं।
यदि एक ब्रोकर AZ विफल हो जाता है तो MSK में कोई डेटा हानि सुनिश्चित न करें।
3 AZs और `min.insync.replicas=2` के साथ उत्पादक `acks=all` पर प्रतिकृति कारक ≥ 3। ZooKeeper-less KRaft या 3-AZ ब्रोकर प्लेसमेंट के माध्यम से Multi-AZ सक्षम करें।
गहरे ट्यूनिंग, कई फ्रेमवर्क (Hive, Presto, Flink) के साथ लंबे समय तक चलने वाला कस्टम Spark → EMR। Glue Data Catalog एकीकरण के साथ सर्वरलेस पे-पर-जॉब ETL → Glue। स्पाइकी/अप्रत्याशित Spark → EMR Serverless।
Step Functions चरण कभी-कभी क्षणिक थ्रॉटलिंग पर विफल हो जाता है; फिर से प्रयास करें और फिर अलर्ट करें।
`ErrorEquals: ["Lambda.ThrottlingException", "States.TaskFailed"]`, `IntervalSeconds`, `MaxAttempts`, `BackoffRate=2` के साथ `Retry` ब्लॉक जोड़ें। साथ ही एक अधिसूचना स्थिति के लिए `Catch`।
यदि कोई परिनियोजन विफलताओं का कारण बनता है तो DAG परिवर्तनों को वापस रोल करने की आवश्यकता है।
DAGs को S3 संस्करण वाले बकेट में संग्रहीत करें + S3 संस्करण के माध्यम से सिंक करें। या CI के माध्यम से वातावरण-प्रति-शाखा + S3 सिंक के साथ Git में DAG रेपो बनाए रखें।
कच्चा डेटा 30 दिनों के लिए हॉट, अगले 90 दिनों के लिए कभी-कभार पहुंच, 7 साल के लिए आर्काइव।
S3 लाइफसाइकिल: 0-30 दिन स्टैंडर्ड, 30 दिनों में स्टैंडर्ड-IA में ट्रांजिशन, 120 दिनों में Glacier Flexible Retrieval में ट्रांजिशन, 7 साल बाद एक्सपायर।
अप्रत्याशित पहुंच पैटर्न; मैन्युअल लाइफसाइकिल पॉलिसी गलत विकल्प है।
S3 Intelligent-Tiering। एक्सेस पैटर्न के आधार पर वस्तुओं को Frequent / Infrequent / Archive Instant Access / Archive / Deep Archive के बीच स्वतः ले जाता है। प्रति-वस्तु निगरानी शुल्क; Frequent/IA में कोई पुनर्प्राप्ति शुल्क नहीं।
डेटा लेक पर एथेना क्वेरीज़ धीमी हैं; विभाजन में हजारों 1-5 KB JSON फाइलें हैं।
Glue/EMR जॉब के माध्यम से छोटी फाइलों को ~256 MB Parquet फाइलों में कॉम्पैक्ट करें। प्रबंधित तालिका प्रारूपों के लिए Iceberg `OPTIMIZE` या Hudi कॉम्पैक्शन का उपयोग करें।
क्यों: छोटी फाइलों के साथ Athena/Spark प्रति-फाइल ओवरहेड हावी होता है। सबसे अच्छा ~128-512 MB Parquet है।
Redshift क्लस्टर को कंप्यूट से स्वतंत्र रूप से स्टोरेज स्केल करने की आवश्यकता है।
प्रबंधित स्टोरेज (RMS) के साथ RA3 नोड्स। S3 द्वारा समर्थित स्टोरेज; कंप्यूट अलग से स्केल करता है। AQUA, Concurrency Scaling, Federated Queries के लिए आवश्यक।
Redshift क्वेरी अक्सर `created_at` द्वारा फ़िल्टर करती है; पूर्ण-तालिका स्कैन धीमे होते हैं।
`created_at` पर एक सॉर्ट कुंजी (या `created_at` सहित कंपाउंड सॉर्ट कुंजी) परिभाषित करें। Redshift स्कैन के दौरान ब्लॉक को छोड़ने के लिए ज़ोन मैप्स का उपयोग करता है।
IoT डिवाइस रीडिंग; (1) एक समय सीमा में एक डिवाइस के लिए सभी रीडिंग, (2) प्रति डिवाइस नवीनतम रीडिंग की आवश्यकता है।
PK = `device_id`, SK = `timestamp`। PK = `device_id`, SK = उलटा `timestamp` (या `ScanIndexForward=false LIMIT 1` के साथ क्वेरी का उपयोग करें) के साथ GSI।
EMR पर कस्टम स्पार्क-आधारित डेटा गुणवत्ता फ्रेमवर्क; कॉलम-स्तर के सांख्यिकीय चेक की आवश्यकता है।
स्पार्क पर AWS Deequ लाइब्रेरी। बाधाएँ परिभाषित करें (`isComplete`, `hasMin`, `isContainedIn`); Deequ एक स्पार्क जॉब के रूप में चलता है और मेट्रिक्स उत्सर्जित करता है।
क्यों: Athena प्रति स्कैन किए गए डेटा के लिए बिल करता है; Redshift प्रति-क्लस्टर-घंटे बिल करता है; EMR प्रति-इंस्टेंस-घंटे। एक्सेस पैटर्न के अनुसार बिलिंग का मिलान करें।
Glue ETL रिट्रीज़ S3 टारगेट में डुप्लिकेट आउटपुट पंक्तियों का उत्पादन करते हैं।
Idempotency: प्रति रन एक अस्थायी उपसर्ग पर लिखें, फिर S3 मल्टीपार्ट `CompleteMultipartUpload` के माध्यम से परमाणु-नाम बदलें या Upserts के लिए Iceberg/Hudi MERGE का उपयोग करें।
ट्यूनिंग के लिए पिछले एक घंटे से सबसे धीमी Redshift क्वेरीज़ की पहचान करें।
शीर्ष व्यतीत-समय प्रविष्टियों के लिए `SVL_QLOG` / `STL_QUERY` / `SYS_QUERY_HISTORY` क्वेरी करें; प्रति-चरण विवरण के लिए `SVL_QUERY_REPORT` का उपयोग करें।
बिक्री टीमों को साझा डेटा लेक में केवल उनके असाइन किए गए क्षेत्रों के लिए पंक्तियाँ दिखनी चाहिए।
डेटा फ़िल्टर के माध्यम से Lake Formation पंक्ति-स्तर सुरक्षा: `region IN ('NA', 'EU')` प्रति IAM प्रिंसिपल। एकल तालिका; प्रति-प्रिंसिपल फ़िल्टर्ड दृश्य।
कई टीमें + कई तालिकाएँ; प्रति-तालिका अनुदान अनुपयोगी हैं।
Lake Formation LF-टैग। तालिकाओं/कॉलमों को टैग करें; प्रिंसिपलों को टैग-आधारित अनुमतियाँ दें। एक नई तालिका जोड़ने के लिए बस सही टैग की आवश्यकता होती है।
खाता A में डेटा लेक है; खाता B के विश्लेषकों को विशिष्ट तालिकाओं तक पढ़ने की पहुंच की आवश्यकता है।
RAM के माध्यम से Lake Formation क्रॉस-अकाउंट साझाकरण। खाता A, B के IAM प्रिंसिपल/खाते को अनुमतियाँ देता है; B Athena/Redshift Spectrum के माध्यम से एक्सेस करता है।
Redshift के अंदर पंक्ति-स्तर सुरक्षा (Lake Formation नहीं)।
Redshift नेटिव RLS नीतियाँ: `CREATE RLS POLICY` सत्र संदर्भ (`current_user`, `session_role`) का संदर्भ देते हुए प्रेडिकेट के साथ। तालिका में नीति संलग्न करें।
अनुपालन के लिए Redshift एन्क्रिप्शन के लिए ऑडिट ट्रेल के साथ ग्राहक-प्रबंधित कुंजी की आवश्यकता है।
ग्राहक-प्रबंधित KMS कुंजी के साथ Redshift क्लस्टर एन्क्रिप्टेड। कुंजी रोटेशन सक्षम; CloudTrail CMK के विरुद्ध प्रत्येक Decrypt ऑपरेशन को कैप्चर करता है।
डेटा लेक बकेट में हर S3 GetObject / PutObject का ऑडिट करें।
बकेट के लिए CloudTrail डेटा इवेंट्स। CloudTrail डिफ़ॉल्ट रूप से केवल प्रबंधन इवेंट्स को लॉग करता है; डेटा इवेंट्स को स्पष्ट रूप से सक्षम किया जाना चाहिए।
क्यों: डेटा इवेंट्स प्रति-इवेंट बिल किए जाते हैं; लागत को नियंत्रित करने के लिए केवल संवेदनशील बकेट तक सीमित करें।
हर S3 एक्सेस के लिए कौन/कब/IP की आवश्यकता है; CloudTrail डेटा इवेंट्स बहुत महंगे हैं।
S3 सर्वर एक्सेस लॉगिंग। मुफ्त; लॉग एक अलग लॉगिंग बकेट में वितरित किए जाते हैं; CloudTrail की तुलना में कम विवरण लेकिन अनुरोधकर्ता + IP + पथ को कवर करता है।
Glue ETL को S3 रीड, Redshift राइट, Secrets Manager रीड की आवश्यकता है।
सबसे कम-विशेषाधिकार नीतियों के साथ एकल Glue निष्पादन भूमिका: स्रोत उपसर्ग पर `s3:GetObject`, `redshift-data:ExecuteStatement`, विशिष्ट गुप्त ARN पर `secretsmanager:GetSecretValue`।
HIPAA / SOC 2 ऑडिट के लिए सतत अनुपालन साक्ष्य संग्रह।
पूर्व-निर्मित फ्रेमवर्क के साथ AWS Audit Manager। CloudTrail, Config, Security Hub से साक्ष्य स्वतः-संग्रहित करता है; ऑडिट-तैयार रिपोर्ट उत्पन्न करता है।