DynamoDB is a key-value and document database that delivers single-digit millisecond performance at any scale.
Unlike SQL, you don't 'Join' in DynamoDB. You design your data based on your Access Patterns. **Architect Tip:** Use the 'Single Table Design' pattern to store multiple entity types in one table for maximum efficiency and reduced costs.
Provisioned: You specify the Read/Write units you need (Best for predictable traffic).
On-Demand: You pay per request (Best for spiky traffic or new apps).
Q: "When should I NOT use DynamoDB?"
Architect Answer: "Avoid DynamoDB if your application requires heavy **Ad-hoc Reporting** or many complex Joins. DynamoDB is for highly-predictable, high-scale application data (like User Profiles, Session State, or Order History). For everything else, stick to RDS."