Dynamodb easy
Why does DynamoDB NOT support multi-table SQL `JOIN` operations in its core API?
- A The AWS engineers simply haven't implemented it yet.
- B Performance and Predictability: Distributed JOINs are slow and unscalable. DynamoDB enforces O(1) performance by encouraging 'Single Table Design' or denormalized models where JOINs are avoided.
- C Using JOIN commands would reveal the internal IP addresses of the database nodes.
- D It is a security feature to prevent SQL injection attacks.
Answer: B. Performance and Predictability: Distributed JOINs are slow and unscalable. DynamoDB enforces O(1) performance by encouraging 'Single Table Design' or denormalized models where JOINs are avoided.
DynamoDB prioritizes 'Single-Digit Millisecond' latency at any scale. JOIN-heavy relational DBs often slow down as data grows. By forcing the developer to model data as pre-combined items, DynamoDB ensures that every read is a fast, direct lookup.
One system design question a day, with spaced repetition so the ones you miss come back.
Get the appRelated questions
- DynamoDB has a strict 400KB limit on the size of a single item. What is the recommended design pattern if you need to store larger documents (e.g., 5MB PDFs)?
- What is the primary role of the 'Partition Key' in ensuring DynamoDB's infinite horizontal scalability?
- Why is the `Query` operation generally preferred over `Scan` for production workloads in DynamoDB?
- DynamoDB is a 'fully managed' serverless database. What is a primary operational benefit of this model for an engineering team?
- In 'Provisioned Capacity' mode, how is the performance budget of a DynamoDB table defined?
- When would an architect choose to implement DAX (DynamoDB Accelerator) in front of an existing DynamoDB table?