What is the most common scaling method with typical relational databases?
Vertical scaling
What type of query operation is not supported by NoSQL databases?
Joins
Can you do “SUM” or “AVG” aggregations with DynamoDB?
No
What are the two storage tiers available in DynamoDB?
Infrequent access and standard
What is an item in DynamoDB?
A row
What are the two options for choosing a primary key in DynamoDB?
Just Hash or Hash+Range
The partition key is unique for every ____
The partition key is unique for every row
What is a good rule of thumb to ensure originality when choosing a partition key?
Choose the category with the highest cardinality
When should you not use DynamoDB?
When traditional relational databases would be a better fit, if the use case needs BLOB storage, if you need to do joins or complex transactions
What are the 2 DynamoDB capacity modes?
Provisioned and on-demand
When should you use on-demand mode for DynamoDB?
If you have unpredictable application traffic
Can you exceed the specified throughput in DynamoDB provisioned mode?
Yes, using burst capacity, but if this is all used up then you’ll get an exception and need to retry
What is the equivalent of 1 write capacity unit?
1 write per second for an item up to 1KB in size
What is the equivalent of 1 read capacity unit?
1 strong read per second or 2 eventually consistent reads per second for an item up to 4KB in size
What is an eventually consistent read?
Where if you try to read immediately after a write then it might result in the reading of stale data
What is a ProvisionedThroughPutExceededException often caused by?
Exceeding the RCUs or WCUs at the partition level
What are 2 ways that you can counteract hot keys/hot partitions/very large items?
What is the API call that you would use with DynamoDB to create or replace an item with the same primary key?
PutItem
What is a conditional write in DynamoDB?
The write/update/delete is only accepted if a certain condition is met
What does GetItem do?
Reads a row based on a primary key
What type of read does GetItem use by default?
Eventually consistent, but can be made to use strongly consistent reads
Can FilterExpression be used with key attributes?
No
What does KeyConditionExpression do?
The partition key must meet some condition to be included in the query
Are batch operations in DynamoDB parallelised?
Yes