Ravindra BagaleCourses & study guides English Track your progress

Project: Ecommerce Cart आणि Orders — DynamoDB Single Table

Aisha व Vikram: CartLite project. Modeling + transactions apply; CRUD link for Put.

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

  • Keys
  • Conditions
  • Checkout txn
  • Industries
  • Lab

1. रोजचे उदाहरण: kirana checkout

USER collection; CART lines; checkout to ORD + clear cart.

2. Vertical steps

Patterns -> Keys -> Lab -> Checkout -> CleanupPatternsKeysLabCheckoutCleanup
Cleanup

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

हे का लागतं?

Build to learn. CartLite = smallest real slice.

4. हे काय आहे?

हे काय आहे?

USER/ORD keys; conditional qty; checkout txn sketch.

5. कसं करायचं

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

  1. 8 patterns.
  2. Draw.
  3. Create+Put.
  4. Conditional qty.
  5. Txn paper.
  6. Query+delete.

6. Key sketch

EntityPKSK
UserUSER#u1PROFILE
CartUSER#u1CART#sku9
OrderUSER#u1ORD#...
MetaORD#o1META
ItemORD#o1ITEM#sku9

7. Commands

aws dynamodb create-table --table-name lab-ddk-cart \
  --attribute-definitions AttributeName=PK,AttributeType=S AttributeName=SK,AttributeType=S \
  --key-schema AttributeName=PK,KeyType=HASH AttributeName=SK,KeyType=RANGE \
  --billing-mode PAY_PER_REQUEST --region ap-south-1
aws dynamodb put-item --table-name lab-ddk-cart --item '{"PK":{"S":"USER#u1"},"SK":{"S":"PROFILE"},"EntityType":{"S":"User"},"name":{"S":"Ananya"}}'
aws dynamodb put-item --table-name lab-ddk-cart --item '{"PK":{"S":"USER#u1"},"SK":{"S":"CART#sku9"},"qty":{"N":"2"},"version":{"N":"1"}}'
aws dynamodb query --table-name lab-ddk-cart --key-condition-expression "PK = :pk AND begins_with(SK, :c)" \
  --expression-attribute-values '{":pk":{"S":"USER#u1"},":c":{"S":"CART#"}}'
# Output: cart lines. Meaning: item collection query for cart.

Create; put; query cart; txn on paper/SDK link.

8. Industry stories

  • Retail
  • Food
  • EdTech
  • Travel
  • SaaS
  • Media

9. Lab

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

  1. Start.
  2. Writes.
  3. Txn+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
No patternsWrite
Wrong PKUSER
BlindCondition
PartialTxn
LeftoverClear
ScanQuery
RewriteLink
No typeAdd
LeaveDelete

25. Troubleshooting checklist

  1. Prefix.
  2. Version.
  3. Reasons.
  4. Hot.
  5. Keys/RDS.

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.

प्र. Txn?

Checkout yes.

प्र. GSI?

No.

प्र. TTL?

Yes link.

प्र. SDK?

Link.

27. Interview Q&A

प्र. Cart PK?

USER#.

प्र. Lines?

ORD#.

प्र. Qty?

Condition.

प्र. Atomic?

Txn.

प्र. MNC

Per-user.

प्र. Abandoned

TTL.

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

Ravindra Bagale's Tip (EN)

Ship the smallest cart that forces conditions and a txn boundary.

Ravindra Bagale's Tip (MR)

सगळ्यात छोटा cart + condition + txn.

Tip (HI)

छोटा cart, condition, txn — यही काफी।

घरी करून बघा

  1. Patterns.
  2. Lab.
  3. Txn list.

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

  1. Keys.
  2. Conditions.
  3. Txn.
  4. Cleanup.

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

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

उजळणी card: CartLite keys. Wrong PK. USER cart; ORD lines. Patterns → draw → Put → Query. One key design.
उजळणी card: CartLite keys · PNG download करा · Card page उघडा
उजळणी card: Checkout boundary. Partial checkout. Txn + clear cart. Paper → cond → reasons. Interview story.
उजळणी card: Checkout boundary · PNG download करा · Card page उघडा
तुलना: USER cart vs ORD lines. USER cart: Cart. ORD lines: Lines.
तुलना: USER cart vs ORD lines · PNG download करा · Card page उघडा
तुलना: Conditional qty vs Checkout txn. Conditional qty: Single race. Checkout txn: Multi invariant.
तुलना: Conditional qty vs Checkout txn · PNG download करा · Card page उघडा
मुलाखत card: Eight patterns. No patterns. 8 patterns. List → review → keys.
मुलाखत card: Eight patterns · PNG download करा · Card page उघडा
मुलाखत card: Query the cart. Scan cart. Query CART#. Put → Query → assert → delete.
मुलाखत card: Query the cart · PNG download करा · Card page उघडा
मुलाखत card: Qty version. Blind qty. version=:v. Read → edit → cond → retry.
मुलाखत card: Qty version · PNG download करा · Card page उघडा
मुलाखत card: Paper checkout. No paper txn. Txn bullet list. Bullets → API → reasons.
मुलाखत card: Paper checkout · PNG download करा · Card page उघडा

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

सराव Tasks

या scenario बद्दल

Milan Furniture हा मिलान मधला फर्निचर व्यवसाय आहे. Giulia Rossi त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे EUR मध्ये मोजले जातात आणि AWS resources eu-south-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.

0 / 16

सोपं USER

का: Key.

काय करायचं: USER cart तर 1.

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

सोपं ORD

का: Key.

काय करायचं: ORD lines तर 1.

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

सोपं Condition

का: Race.

काय करायचं: Condition qty तर 1.

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

सोपं Txn

का: Atomic.

काय करायचं: Checkout txn तर 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.

काय करायचं: pk/sk.

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

सोपं Link

का: Reuse.

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

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

मध्यम Patterns

का: Process.

काय करायचं: Patterns first तर 1.

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

मध्यम TTL

का: Policy.

काय करायचं: Abandoned TTL तर 1.

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

मध्यम Query

का: Shape.

काय करायचं: Query cart तर 1.

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

मध्यम EntityType

का: Hygiene.

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

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

मध्यम Flow

का: Steps.

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

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

अवघड No GSI

का: Scope.

काय करायचं: No GSI required तर 1.

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

अवघड Clear

का: Txn.

काय करायचं: Clear cart तर 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 दाबा.

अवघड Lab

का: Hygiene.

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

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