Ravindra BagaleCourses & study guides English Track your progress

Project: Sparse GSI सह Leaderboard — DynamoDB

Jisoo व Vikram: BoardLite sparse GSI. GSI chapter apply.

या chapter मध्ये तुम्ही काय शिकाल

  • Sparse
  • Score SK
  • Top-N
  • Weekly
  • Lab

1. रोजचे उदाहरण: sports day board

Sparse = only scorers. Desc Limit = top-N.

2. Vertical steps

Patterns -> Sparse -> Updates -> Top-N -> CleanupPatternsSparseUpdatesTop-NCleanup
Cleanup

3. हे का लागतं?

हे का लागतं?

No Scan ranks. Sparse GSI + Query.

4. हे काय आहे?

हे काय आहे?

Sparse lb_pk/lb_sk; Query top-N.

5. कसं करायचं

कसं करायचं (step by step)

  1. Patterns.
  2. Padding.
  3. Table+GSI.
  4. Data.
  5. Top-N.
  6. Unrank+cleanup.

6. Key sketch

EntityPKSK
PlayerPLAYER#p1PROFILE
GSILB#game1padded#id
WeeklyLB#game1#w45padded#id

7. Commands

aws dynamodb create-table --table-name lab-ddp-board \
  --attribute-definitions AttributeName=PK,AttributeType=S AttributeName=SK,AttributeType=S \
    AttributeName=lb_pk,AttributeType=S AttributeName=lb_sk,AttributeType=S \
  --key-schema AttributeName=PK,KeyType=HASH AttributeName=SK,KeyType=RANGE \
  --global-secondary-indexes '[{"IndexName":"Leaderboard","KeySchema":[{"AttributeName":"lb_pk","KeyType":"HASH"},{"AttributeName":"lb_sk","KeyType":"RANGE"}],"Projection":{"ProjectionType":"ALL"}}]' \
  --billing-mode PAY_PER_REQUEST --region ap-south-1
aws dynamodb update-item --table-name lab-ddp-board --key '{"PK":{"S":"PLAYER#p1"},"SK":{"S":"PROFILE"}}' \
  --update-expression "SET score = :s, lb_pk = :gp, lb_sk = :gs" \
  --expression-attribute-values '{":s":{"N":"9000"},":gp":{"S":"LB#game1"},":gs":{"S":"0000009000#p1"}}'
aws dynamodb query --table-name lab-ddp-board --index-name Leaderboard \
  --key-condition-expression "lb_pk = :g" --scan-index-forward --no-scan-index-forward \
  --limit 10 --expression-attribute-values '{":g":{"S":"LB#game1"}}'
# Meaning: descending top-N from sparse GSI only.

Omit=unrank; weekly PK; DAX link.

8. Industry stories

  • Gaming
  • EdTech
  • Sales
  • Fitness
  • Support
  • DevRel

9. Lab

कसं करायचं (step by step)

  1. Start.
  2. Query.
  3. Cleanup.

Cleanup

  1. Lab delete करा.
  2. Confirm gone.

10. Ops checklist (ship आधी)

  1. TTL attr + seconds.
  2. Delete policy.
  3. PITR on.
  4. RPO/RTO doc.
  5. Multi-region rules.
  6. DAX miss path.
  7. Tags.
  8. Budget alert.

11. Copy-paste CLI starters

export AWS_DEFAULT_REGION=ap-south-1

# TTL status
aws dynamodb describe-time-to-live --table-name ShopApp

# PITR / continuous backups
aws dynamodb describe-continuous-backups --table-name ShopApp

# On-demand backup
aws dynamodb create-backup --table-name ShopApp --backup-name lab-shop-$(date +%Y%m%d)

# List backups
aws dynamodb list-backups --table-name ShopApp

# Global table description (v2)
aws dynamodb describe-table --table-name ShopApp --query 'Table.Replicas'

12. अजून industry stories

  • Retail TTL carts
  • Bank PITR drill
  • Travel GT
  • Gaming DAX
  • Social edges
  • IoT TTL

13. Glossary

Termअर्थ
TTLEpoch seconds नंतर delete
Soft deleteFlag; item राहतो
PITRContinuous restore window
Global TableMulti-region replica
LWWLast write जिंकते
DAXIn-memory cache
AdjacencyRelationship edges
Fan-outएक write → अनेक copies

14. Practice: मोठ्याने explain

  1. 60s delete modes.
  2. 60s PITR vs backup.
  3. 60s GT.
  4. 60s DAX.
  5. 60s CartLite.
  6. 60s social.
  7. Record ×2.

15. Safe lab hygiene

  • Budget alert.
  • lab- prefix.
  • Delete paid extras.
  • GT write plan.
  • Tags.
  • S3 cleanup.
  • Modeling
  • Transactions
  • Streams
  • CRUD TTL
  • Intro

17. Delete / archive pad

NeedPreferWhy
UndoSoft flagRestore
Hard expiryTTLAuto
Cold keepS3Cheap
MistakePITRRestore

18. दहा oral drills

  1. TTL units?
  2. Instant?
  3. PITR window?
  4. GT conflict?
  5. Sticky?
  6. DAX vs?
  7. Cart PK?
  8. Lines PK?
  9. Follow SK?
  10. Unread GSI?

19. RPO / RTO mini workshop

  1. RPO minutes.
  2. RTO.
  3. Map tools.
  4. Drill.
  5. Owner.

20. Cost watch list

  • Backup storage
  • GT writes
  • DAX idle
  • Export/S3
  • TTL→Streams

21. Project Definition of Done

  1. Patterns done.
  2. Samples.
  3. Lab hygiene.
  4. Condition/txn.
  5. Cleanup notes.
  6. Oral.
  • TTL→Backup
  • GT→hot
  • DAX after model
  • P1 reuse
  • P2 reuse

23. Quick self-check

  1. TTL delay?
  2. Soft vs hard?
  3. PITR start?
  4. GT no?
  5. DAX≠key fix?
  6. Cart keys?
  7. Follow edge?
  8. Cleanup habit?

24. सामान्य errors आणि fixes

प्रत्येक row = खरी चूक. Panic करण्याआधी fix वाचा.

Error / लक्षणFix
ScanQuery
Number SKPad
DenseSparse
AscDesc
TiesTie-break
HotShard
StaleTTL
LeaveDelete
RewriteLink

25. Troubleshooting checklist

  1. Desc.
  2. Sparse.
  3. Width.
  4. Throttle.
  5. Cache.

26. FAQ

प्र. Single table always?

Related patterns साठी हो; religion नाही.

प्र. RDS अजून?

Joins/SQL reports साठी हो — intro chapter.

प्र. Scan वाईट?

Hot path = Query/Get; Scan rare.

प्र. Put/Get कुठे?

CRUD/CLI/SDK chapters — link.

प्र. Sparse?

Missing keys.

प्र. Negative?

Offset.

प्र. Season?

New PK.

प्र. Page?

ESK.

27. Interview Q&A

प्र. Sparse?

Optional keys.

प्र. Top-N?

Query Limit.

प्र. Ties?

Pad+id.

प्र. Unrank?

Remove attrs.

प्र. MNC

Cache.

प्र. Weekly

New PK.

28. Tips — English, मराठी आणि हिंदी

Ravindra Bagale's Tip (EN)

Sparse GSI + padded score SK + Query Limit — Scan is not a leaderboard.

Ravindra Bagale's Tip (MR)

Sparse GSI + pad + Query Limit.

Tip (HI)

स्पार्स GSI, पैड स्कोर, Query Limit — Scan नहीं।

घरी करून बघा

  1. Pad.
  2. Lab.
  3. Weekly.

थोडक्यात सांगायचं तर

  1. Sparse.
  2. SK.
  3. Top-N.
  4. Cleanup.

उजळणी, मुलाखत आणि तुलना cards

हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.

उजळणी card: Sparse GSI. Dense board. Sparse attrs. GSI → score → Query → unrank. Omit unscored.
उजळणी card: Sparse GSI · PNG download करा · Card page उघडा
उजळणी card: Top-N Query. Scan ranks. Query Limit. Pad → update → Query → ESK. No Scan.
उजळणी card: Top-N Query · PNG download करा · Card page उघडा
तुलना: Scan then sort vs GSI Query Limit. Scan then sort: सगळे Scan करून sort. GSI Query Limit: GSI Query Limit N.
तुलना: Scan then sort vs GSI Query Limit · PNG download करा · Card page उघडा
तुलना: Dense GSI all vs Sparse scorers only. Dense GSI all: प्रत्येक profile GSI मध्ये. Sparse scorers only: फक्त scorers; unrank = remove attrs.
तुलना: Dense GSI all vs Sparse scorers only · PNG download करा · Card page उघडा
मुलाखत card: Pad scores. Number SK. Pad + tie-break. Width → update → verify.
मुलाखत card: Pad scores · PNG download करा · Card page उघडा
मुलाखत card: Descending Limit. Wrong direction. Desc Limit. Top-10 → compare → page.
मुलाखत card: Descending Limit · PNG download करा · Card page उघडा
मुलाखत card: Unrank sparse. Heavy unrank. Remove GSI attrs. Appear → remove → gone.
मुलाखत card: Unrank sparse · PNG download करा · Card page उघडा
मुलाखत card: Weekly board. No history. Weekly PK. Two weeks Query.
मुलाखत card: Weekly board · PNG download करा · Card page उघडा

अजून cards: Ravi Sir's Cards.

सराव Tasks

या scenario बद्दल

Amravati Agro Market हा अमरावती मधला शेती व्यवसाय आहे. Anjali Thakre त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे INR मध्ये मोजले जातात आणि AWS resources ap-south-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.

0 / 16

सोपं Sparse

का: Def.

काय करायचं: Sparse तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

सोपं Top-N

का: Query.

काय करायचं: Top-N Query तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

सोपं Pad

का: Sort.

काय करायचं: Pad तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

सोपं Tie

का: Stable.

काय करायचं: Tie-break तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

सोपं Describe

का: CLI.

काय करायचं: describe.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

सोपं Keys

का: Sketch.

काय करायचं: keys.

कसं करायचं:
  1. Task मधल्या top-level keys पासून सुरू करा.
  2. Child keys 2 spaces ने indent करा (tabs नकोत).
  3. प्रत्येक property मध्ये task मधली value भरा.
  4. Check answer दाबा. Keys चा क्रम महत्त्वाचा नाही.

सोपं Not dense

का: Sparse.

काय करायचं: Omit unscored तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

मध्यम Unrank

का: Sparse.

काय करायचं: Unrank तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

मध्यम Desc

का: Order.

काय करायचं: Desc तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

मध्यम Weekly

का: Partition.

काय करायचं: Weekly PK तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

मध्यम No Scan

का: Anti.

काय करायचं: No Scan तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

मध्यम Query

का: Flags.

काय करायचं: keys.

कसं करायचं:
  1. Task मधल्या top-level keys पासून सुरू करा.
  2. Child keys 2 spaces ने indent करा (tabs नकोत).
  3. प्रत्येक property मध्ये task मधली value भरा.
  4. Check answer दाबा. Keys चा क्रम महत्त्वाचा नाही.

अवघड Shard

का: Scale.

काय करायचं: Shard board तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

अवघड Cache

का: Read.

काय करायचं: Cache तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

अवघड Lab

का: Hygiene.

काय करायचं: Delete lab तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

अवघड Link

का: Reuse.

काय करायचं: Link GSI तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.