DynamoDB
15 questionsDynamoDB for data engineers — access patterns, streams, GSI/LSI, and NoSQL design.
Partition Key Design
What makes a good partition key in DynamoDB? You're designing a table for an e-commerce order history. What would you choose as the partition key and why?
GSI vs LSI
Explain Global Secondary Indexes (GSI) and Local Secondary Indexes (LSI) in DynamoDB. When would you use each?
Single-Table Design
What is single-table design in DynamoDB? When would you use it vs. multiple tables?
DynamoDB Streams for CDC
How do DynamoDB Streams work for change data capture? Describe the stream record types and a real use case.
Streams + Lambda Integration
You need to process DynamoDB Stream events with Lambda. What are the key configuration decisions and failure handling strategies?
Capacity Modes: On-Demand vs Provisioned
Compare DynamoDB on-demand and provisioned capacity modes. When would you choose each?
DAX Caching
When would you use DynamoDB Accelerator (DAX)? What are its limitations?
Hot Partitions
Your DynamoDB table is experiencing throttling on certain partitions while overall capacity is underutilized. How do you diagnose and fix this?
TTL (Time to Live)
How does DynamoDB TTL work? Give a data engineering use case.
Batch Operations
Explain BatchGetItem and BatchWriteItem in DynamoDB. What are their limits and error handling considerations?
DynamoDB as Feature Store
How would you use DynamoDB as an online feature store for ML models? What are the tradeoffs vs. purpose-built solutions?
Export to S3
How does DynamoDB Export to S3 work? When would you use it in a data pipeline?
DynamoDB Transactions
Explain DynamoDB transactions. When are they necessary and what are the costs?
Query vs Scan
What's the difference between Query and Scan in DynamoDB? When is each appropriate?
Adaptive Capacity
What is adaptive capacity in DynamoDB? How does it relate to burst capacity and instant adaptive capacity?