</>Học Dev
Bài học

Tuần 6 - Ngày 3: DynamoDB Deep Dive

Tuần 6 – Ngày 3

Tuần 6 - Ngày 3: DynamoDB Deep Dive

1. DynamoDB Capacity Modes

CAPACITYMODESPROVISIONED:-DefineRCU/WCUupfront-AutoScalingavailable-Reservedcapacitydiscount-Bestfor:PredictableworkloadsON-DEMAND:-Payperrequest-Nocapacityplanning-2.5xcostofprovisionedatsteadystate-Bestfor:Unpredictable,newworkloadsRCU:1RCU=1stronglyconsistentreadof4KB/secor2eventuallyconsistentreadsWCU:1WCU=1writeof1KB/sec

2. Secondary Indexes

GLOBALVSLOCALSECONDARYINDEXLOCALSECONDARYINDEX(LSI):-Samepartitionkey,differentsortkey-Mustcreateattablecreation-Max5pertable-SharesRCU/WCUwithtableGLOBALSECONDARYINDEX(GSI):-Differentpartitionkey(andsortkey)-Cancreateanytime-Max20pertable-SeparateRCU/WCU(canthrottlebasetable!)

3. DynamoDB Accelerator (DAX)

DAXApplicationSDKcallsDAXClusterMicrosecondlatency(Cache)CachemissDynamoDBMillisecondlatencyTwocaches:-Itemcache(GetItem,BatchGetItem)-Querycache(Query,Scanresults)

4. DynamoDB Transactions

TransactWriteItems:
- Up to 100 items
- Atomic (all or nothing)
- Consumes 2x WCU

TransactGetItems:
- Up to 100 items
- Consumes 2x RCU

Use cases:
- Financial transactions
- Gaming leaderboards
- Multi-item updates

5. Time To Live (TTL)

Auto-delete expired items:
- No extra cost
- Eventually deleted (within 48 hours)
- Define TTL attribute (epoch timestamp)

Use cases:
- Session data
- Temporary tokens
- Log cleanup

6. Patterns

Single Table Design

PK          | SK              | Data
------------+-----------------+--------
USER#123    | METADATA        | {name, email}
USER#123    | ORDER#001       | {order details}
USER#123    | ORDER#002       | {order details}
PRODUCT#A   | METADATA        | {product info}
ORDER#001   | PRODUCT#A       | {line item}

Benefits:
- Single query for all user data
- Reduced latency
- Cost optimization

Tài liệu tham khảo chính thức


Ngày tiếp theo: Data Analytics Services