DynamoDB इंडेक्स, स्ट्रीम्स, और ऑप्टिमाइजेशन

AWS में Data Stores का उपयोग

Dunieski Otano

AWS Solutions Architect

जो क्वेरी हो नहीं सकती थी

  • Table: userId (partition key), orderDate (sort key)
  • आवश्यकता: ईमेल पते से ऑर्डर ढूँढें
  • समस्या: non-key एट्रिब्यूट्स पर क्वेरी नहीं कर सकते
  • समाधान: Global Secondary Index
    • इंडेक्स कई एक्सेस पैटर्न सक्षम करते हैं

gsi

AWS में Data Stores का उपयोग

Global Secondary Index (GSI)

  • बेस टेबल से अलग partition key
  • टेबल बनने के बाद कभी भी जोड़ें
  • केवल eventually consistent reads
  • उपयोग: non-primary key एट्रिब्यूट्स पर क्वेरी

gsi_1

AWS में Data Stores का उपयोग

Local Secondary Index (LSI)

  • वही partition key, अलग sort key
  • टेबल बनाते समय ही बनाना होगा
  • strongly consistent reads को सपोर्ट करता है
  • उपयोग: एक partition में वैकल्पिक sort orders

lsi

AWS में Data Stores का उपयोग

GSI बनाम LSI - कब क्या उपयोग करें

  • GSI: अलग partition key, कभी भी जोड़ें, eventual consistency
  • LSI: वही partition key, टेबल बनाते समय बनाएँ, strong consistency
  • सबसे आम: लचीले एक्सेस पैटर्न के लिए GSI

gsi_or_lsi

AWS में Data Stores का उपयोग

DynamoDB के लिए डेटा सीरियलाइज़ेशन

  • समस्या: DynamoDB Python objects स्टोर नहीं करता
  • समाधान: JSON या binary में serialize करें
  • JSON: सरल डेटा (dicts, lists) - json.dumps()
  • Base64: बाइनरी डेटा (images, tokens)

serialization

AWS में Data Stores का उपयोग

चेंज डेटा कैप्चर के लिए DynamoDB Streams

  • Streams: सभी टेबल बदलावों का ordered लॉग
  • कैप्चर करता है: inserts, updates, deletes
  • उपयोग: ऑडिट लॉग, replication, triggers
  • real-time रिएक्शन के लिए Lambda से प्रोसेस करें

streams

AWS में Data Stores का उपयोग

ऑटोमैटिक एक्सपायरी के लिए Time-to-Live

  • TTL: एक्सपायरी के बाद items का ऑटो-डिलीशन
  • TTL एट्रिब्यूट में Unix timestamp सेट करें
  • उपयोगी: sessions, अस्थायी tokens, cache
  • TTL deletions का कोई खर्च नहीं

ttl

AWS में Data Stores का उपयोग

इंडेक्स प्रोजेक्शन टाइप्स और क्वेरी परफॉर्मेंस

  • KEYS_ONLY: केवल key एट्रिब्यूट्स, सबसे छोटा साइज़
  • INCLUDE: keys + चुने हुए एट्रिब्यूट्स
  • ALL: सभी एट्रिब्यूट्स, सबसे बड़ा साइज़, कोई fetch नहीं
  • ट्रेड-ऑफ: स्टोरेज कॉस्ट बनाम क्वेरी परफॉर्मेंस

index

AWS में Data Stores का उपयोग

बैच ऑपरेशंस और ट्रांज़ैक्शंस

  • BatchGetItem: अधिकतम 100 items पढ़ें, 16MB मैक्स
  • BatchWriteItem: अधिकतम 25 items लिखें
  • TransactWriteItems: अधिकतम 100 items पर ACID
  • उपयोग: दक्षता (batch) या संगति (transactions)

batch

AWS में Data Stores का उपयोग

अभ्यास करते हैं!

AWS में Data Stores का उपयोग

Preparing Video For Download...