DynamoDB Streams और ग्लोबल टेबल
Streams से आइटम-स्तरीय बदलावों को रीयल टाइम में संसाधित कीजिए और विश्वभर में कम-विलंबता वाले रीड के लिए ग्लोबल टेबल से क्षेत्रों के बीच डेटा की प्रतिकृति बनाइए।
DynamoDB Streams और ग्लोबल टेबल, CoddyKit पर Cloud & IT Cert Prep का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Cloud & IT Cert Prep सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Cloud & IT Cert Prep पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
DynamoDB Streams: परिवर्तन डेटा कैप्चर
DynamoDB Streams DynamoDB तालिका में आइटम-स्तर के संशोधनों का समयानुसार क्रम कैप्चर करता है। जब भी कोई आइटम बनाया, अपडेट या हटाया जाता है, DynamoDB उस परिवर्तन का विवरण देने वाला स्ट्रीम रिकॉर्ड लिखता है। स्ट्रीम रिकॉर्ड लिखे जाने के बाद 24 घंटे तक उपलब्ध रहते हैं।
DynamoDB के साथ इवेंट-आधारित आर्किटेक्चर की नींव Streams हैं। इनके सामान्य उपयोगों में रीयल-टाइम प्रोसेसिंग के लिए Lambda फ़ंक्शन ट्रिगर करना, ऑडिट लॉग बनाए रखना, डेटा को किसी अन्य स्टोर में दोहराना या डेटा बदलने पर कैश को अमान्य करना शामिल है।
# Enable a DynamoDB Stream on an existing table
aws dynamodb update-table \
--table-name Orders \
--stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGESस्ट्रीम दृश्य प्रकार
स्ट्रीम सक्षम करते समय आप एक StreamViewType चुनते हैं, जो यह निर्धारित करता है कि प्रत्येक स्ट्रीम रिकॉर्ड में कौन-सा डेटा होगा:
- KEYS_ONLY: संशोधित आइटम की केवल प्राथमिक कुंजी विशेषताएं
- NEW_IMAGE: परिवर्तन के बाद जैसा दिखाई देने वाला पूरा आइटम
- OLD_IMAGE: परिवर्तन से पहले जैसा दिखाई देने वाला पूरा आइटम
- NEW_AND_OLD_IMAGES: आइटम की परिवर्तन से पहले और बाद की दोनों अवस्थाएं
क्या बदला यह देखने के लिए ऑडिटिंग में NEW_AND_OLD_IMAGES चुनें, प्रतिकृति या कैश अपडेट के लिए NEW_IMAGE चुनें, और जब आपको केवल यह जानना हो कि कौन-सा आइटम बदला है तथा वर्तमान अवस्था अलग से प्राप्त करनी हो, तब KEYS_ONLY चुनें।
Lambda के साथ Streams को प्रोसेस करना
DynamoDB Stream का उपयोग करने का सबसे सामान्य तरीका AWS Lambda है। Lambda स्ट्रीम को पोल करता है और स्ट्रीम रिकॉर्ड के एक बैच के साथ आपके फ़ंक्शन को 호출 करता है। Lambda पोलिंग, चेकपॉइंटिंग और पुनःप्रयास को अपने-आप संभालता है।
मुख्य कॉन्फ़िगरेशन पैरामीटर: बैच आकार (प्रत्येक इनवोकेशन में रिकॉर्ड की संख्या, अधिकतम 10,000), त्रुटि होने पर द्विभाजन (खराब रिकॉर्ड को अलग करने के लिए विफल बैच को विभाजित करना), और विफलता का गंतव्य (प्रोसेस न किए जा सकने वाले रिकॉर्ड के लिए SQS या SNS)। Lambda प्रत्येक शार्ड से समानांतर रूप से पढ़ता है, इसलिए समानांतरता स्ट्रीम में मौजूद शार्ड की संख्या के बराबर होती है।
# Add Lambda as a stream trigger via CLI
aws lambda create-event-source-mapping \
--function-name process-orders-stream \
--event-source-arn arn:aws:dynamodb:us-east-1:123456789:table/Orders/stream/2026-06-20T00:00:00.000 \
--starting-position LATEST \
--batch-size 100 \
--bisect-batch-on-function-errorस्ट्रीम के उपयोग के मामले
SAA-C03 परीक्षा में DynamoDB Streams के व्यावहारिक उपयोग के मामले:
- क्रॉस-रीजन प्रतिकृति: Lambda स्ट्रीम को पढ़कर किसी अन्य Region की तालिका में परिवर्तन लिखता है (Global Tables के अस्तित्व में आने से पहले यह मानक पैटर्न था)
- ElastiCache अमान्यकरण: DynamoDB आइटम बदलने पर Lambda संबंधित कैश कुंजी को अमान्य या अपडेट करता है
- सर्च इंडेक्स समकालिकीकरण: DynamoDB डेटा पर पूर्ण-पाठ खोज सक्षम करने के लिए आइटम परिवर्तनों को OpenSearch Service में भेजना
- ऑडिट लॉगिंग: नियामकीय उद्देश्यों के लिए प्रत्येक परिवर्तन को S3 या अनुपालन स्टोर में लिखना
- इवेंट-आधारित माइक्रोसर्विसेज़: विशिष्ट आइटम बदलने पर डाउनस्ट्रीम सेवाओं को ट्रिगर करना
DynamoDB Global Tables: क्या और क्यों
DynamoDB Global Tables पूरी तरह प्रबंधित, बहु-रीजन, बहु-सक्रिय प्रतिकृति प्रदान करती हैं। प्रत्येक Region में तालिका की पूरी कॉपी होती है और सभी कॉपियों में एक साथ लिखा जा सकता है। किसी भी Region में किए गए लेखन लगभग 1 सेकंड के भीतर अतुल्यकालिक रूप से सभी अन्य Regions में दोहराए जाते हैं।
Global Tables दो महत्वपूर्ण परिदृश्यों को सक्षम करती हैं: विश्वभर में वितरित उपयोगकर्ताओं के लिए कम-विलंबता वाले रीड और लेखन (प्रत्येक उपयोगकर्ता निकटतम Region से लिखता और पढ़ता है), और बहु-रीजन सक्रिय-सक्रिय आपदा पुनर्प्राप्ति (अंतिम प्रतिकृति के बाद का डेटा खोए बिना, कोई भी बचा हुआ Region एप्लिकेशन चलाता रहता है)।
Global Tables बनाना
Global Table बनाने के लिए पहले DynamoDB Streams सक्षम करके एक तालिका बनाएं (NEW_AND_OLD_IMAGES आंतरिक रूप से Global Tables के लिए आवश्यक है)। इसके बाद प्रतिकृति Regions जोड़ें। AWS जोड़े गए प्रत्येक Region में एक प्रतिकृति तालिका बनाता है और दोनों दिशाओं में डेटा का समकालिकीकरण शुरू करता है।
Global Tables (Version 2019.11.21) वर्तमान मानक हैं और Auto Scaling के साथ On-Demand या Provisioned क्षमता का समर्थन करते हैं। प्रत्येक Region प्रतिकृति का तालिका नाम समान होना आवश्यक है। आप किसी भी समय Global Table में Regions जोड़ या हटा सकते हैं।
# Create a global table replica in eu-west-1
aws dynamodb create-global-table \
--global-table-name GlobalOrders \
--replication-group RegionName=us-east-1 RegionName=eu-west-1Global Tables में संघर्ष समाधान
क्योंकि Global Tables एक साथ कई Regions में लेखन की अनुमति देती हैं, इसलिए यदि दो Regions लगभग एक ही समय में एक ही आइटम को अपडेट करें तो लेखन संघर्ष हो सकते हैं। DynamoDB स्ट्रीम रिकॉर्ड में संग्रहीत टाइमस्टैम्प के आधार पर अंतिम लेखक की जीत वाले तरीके से संघर्षों का समाधान करता है।
व्यवहार में, लगभग एक साथ किए गए दो परस्पर विरोधी अपडेट में से एक सफल होगा और दूसरे से उसका स्थान ले लिया जाएगा। एप्लिकेशन इस तरह डिज़ाइन किए जाने चाहिए कि अलग-अलग Regions से एक ही आइटम पर समवर्ती लेखन से बचा जा सके। जहां संघर्ष आम हों, वहां किसी विशिष्ट उपयोगकर्ता या इकाई के सभी लेखन को एकल होम Region पर भेजने पर विचार करें।
Global Tables और क्षमता संबंधी विचार
Global Tables के साथ, एक Region में किए गए लेखन अपने-आप सभी अन्य Regions में दोहराए जाते हैं। प्रत्येक दोहराया गया लेखन गंतव्य Regions में WCUs खर्च करता है—यदि आपके पास 3 Regions हैं, तो एक लेखन की लागत सभी Regions में लगभग 3× WCUs होगी। क्षमता की योजना इसी के अनुसार बनाएं।
प्रत्येक Region में रीड स्थानीय प्रतिकृति के RCUs खर्च करते हैं। अंततः सुसंगत रीड (डिफ़ॉल्ट) स्थानीय डेटा का उपयोग करते हैं, जबकि Regions के बीच दृढ़तापूर्वक सुसंगत रीड समर्थित नहीं हैं। अधिकांश वैश्विक एप्लिकेशन के लिए Regions के बीच लगभग 1 सेकंड के भीतर अंततः सुसंगत होना स्वीकार्य है।
Global Tables बनाम क्रॉस-रीजन रीड प्रतिकृतियां (RDS)
SAA-C03 परीक्षा में एक महत्वपूर्ण अंतर: DynamoDB Global Tables बहु-सक्रिय होती हैं (सभी Regions रीड AND लेखन स्वीकार करते हैं), जबकि RDS क्रॉस-रीजन Read Replicas केवल-पढ़ने योग्य होती हैं (आप प्रतिकृति तोड़कर किसी प्रतिकृति को ही लेखन योग्य बनाने के लिए प्रमोट कर सकते हैं)।
DynamoDB Global Tables का उपयोग तब करें जब आपको NoSQL डेटा के लिए बहु-रीजन सक्रिय-सक्रिय लेखन, विश्वभर में 100 मिलीसेकंड से कम पहुंच या शून्य-RPO वाली बहु-रीजन DR चाहिए। RDS क्रॉस-रीजन प्रतिकृतियों का उपयोग तब करें जब आपको रिलेशनल डेटाबेस के लिए वैश्विक रीड स्केलेबिलिटी या ऐसी सक्रिय DR स्टैंडबाय चाहिए जिसे विफलता की स्थिति में प्रमोट किया जा सके।
Streams + Lambda आर्किटेक्चर पैटर्न
Streams और Lambda को मिलाने वाले सामान्य आर्किटेक्चर पैटर्न:
- फैन-आउट: Lambda स्ट्रीम को पढ़कर SNS में प्रकाशित करता है, जो स्वतंत्र उपभोक्ताओं के लिए कई SQS कतारों में संदेश वितरित करता है
- एकत्रीकरण: Lambda परिवर्तनों को संचित करता है और अलग DynamoDB तालिका में समेकित योग अपडेट करता है (जैसे, दैनिक ऑर्डर संख्या)
- राइट-बिहाइंड कैश: प्रत्येक स्ट्रीम इवेंट पर Lambda ElastiCache को अपडेट करता है, ताकि रीड कैश से पूरे किए जा सकें
- सूचना: स्ट्रीम Lambda को ट्रिगर करता है, जो किसी विशिष्ट स्थिति के बदलने पर SES ईमेल या SNS पुश सूचना भेजता है
DynamoDB Kinesis Data Streams एकीकरण
DynamoDB Streams के विकल्प के रूप में, आप आइटम-स्तरीय परिवर्तनों को Amazon Kinesis Data Stream पर भेज सकते हैं। यह तब उपयोगी है जब आपको अधिक लंबी अवधि तक संग्रहण (नेटिव DynamoDB Streams के 24 घंटे की तुलना में 1 वर्ष तक), अधिक उपभोक्ताओं या Kinesis से पढ़ने वाली सेवाओं के साथ एकीकरण की आवश्यकता हो।
Kinesis Data Streams एकीकरण प्रत्येक तालिका के लिए अलग से सक्षम किया जाता है और यह DynamoDB Streams का स्थान नहीं लेता—आप दोनों को एक साथ सक्षम रख सकते हैं। यह 2021 में जोड़ी गई नई सुविधा है, जो कस्टम प्रतिकृति तर्क की आवश्यकता के बिना DynamoDB के परिवर्तन-घटना पाइपलाइन का विस्तार करती है।
# Enable Kinesis Data Streams for a DynamoDB table
aws dynamodb enable-kinesis-streaming-destination \
--table-name Orders \
--stream-arn arn:aws:kinesis:us-east-1:123456789:stream/ddb-changesत्वरित जाँच
इस पाठ में दिए गए AWS Solutions Architect (SAA-C03) के सिद्धांतों की अपनी समझ जाँचें।
पाठ का पुनरावलोकन
इस पाठ में आपने सीखा: DynamoDB Streams आइटम-स्तरीय परिवर्तनों को 24 घंटे तक कैप्चर करते हैं और घटना-आधारित प्रोसेसिंग के लिए Lambda के साथ एकीकृत होते हैं, Global Tables अंतिम-लेखक-विजेता विवाद समाधान के साथ बहु-सक्रिय, बहु-Region प्रतिकृति उपलब्ध कराती हैं, और Kinesis Data Streams एकीकरण 24 घंटे की स्ट्रीम अवधि से आगे का संग्रहण उपलब्ध कराता है। अब हम Route 53 hosted zones और DNS रिकॉर्ड प्रकारों का अध्ययन करेंगे।
एआई शिक्षक के साथ Cloud & IT Cert Prep सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 150
- पाठ
- 600
अक्सर पूछे जाने वाले प्रश्न
क्या “DynamoDB Streams और ग्लोबल टेबल” पाठ निःशुल्क है?
हाँ—“DynamoDB Streams और ग्लोबल टेबल” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Cloud & IT Cert Prep पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Cloud & IT Cert Prep पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“DynamoDB Streams और ग्लोबल टेबल” में मैं क्या सीखूँगा?
Streams से आइटम-स्तरीय बदलावों को रीयल टाइम में संसाधित कीजिए और विश्वभर में कम-विलंबता वाले रीड के लिए ग्लोबल टेबल से क्षेत्रों के बीच डेटा की प्रतिकृति बनाइए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Cloud & IT Cert Prep का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Cloud & IT Cert Prep शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Cloud & IT Cert Prep शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।
“DynamoDB Streams और ग्लोबल टेबल” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Cloud & IT Cert Prep पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Cloud & IT Cert Prep पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- टेबल, आइटम और प्राथमिक कुंजियाँ
- Provisioned बनाम On-Demand क्षमता
- ग्लोबल सेकेंडरी इंडेक्स और लोकल सेकेंडरी इंडेक्स
- DynamoDB Streams और ग्लोबल टेबल