aCloudGuru: Amazon DynamoDB Deep Dive Flashcards
02 Databases 101 / 03 NoSQL Database Models
What is BASE?
BA - Basic Availability - db appears to work most of the time
Soft state: stores don’t have to be write-consistent, nor do different replicas have to be mutually consistent all the time
Eventual consistency: stores exhibit consistency at some later point
03 DynamoDB and Secenario Introduction / 01 DynamoDB 10,000 FT
Is DynamoDB supporting ACID?
Yes.
04 Table and Item Architecture / 02 DynamoDB Items
Is there any limit for item size?
Yes - 400KB
05 Accessing DynamoDB / 01 Using the AWS Management Console
What is the requirement for table uniqueness?
Table name must be unique per AWS account and region.
05 Accessing DynamoDB / 01 Using the AWS Management Console
When LSI can be created?
Only during table creation.
05 Accessing DynamoDB / 03 SDK Options
What type of interfaces can be used to access DynamoDB?
- Low-Level Interface (HTTP)
- Document Interface (Java/.NET/JS)
- High-Level Interface (Object Persistence Interface) (Java/.NET)
07 Working with Items / 02 Performance Units: RCU/WCU
How many RCUs are consumed for
- one strong consistent read
- eventually consistent read
- transactional read
assuming that we try to read 8KB item
- 2 RCU
- 1 RCU
- 4 RCU
07 Working with Items / 02 Performance Units: RCU/WCU
How many WRUs will be used to write an item of 3KB for standard/transactional?
- Standard: 3 WCUs
- Transactional: 6WCUs
10 Table Indexes / 02 Indexes: Part 2
3 options for projection expressions.
- ALL
- KEYS_ONLY
- INCLUDE
10 Table Indexes / 02 Indexes: Part 2
What is GSI?
Global secondary index - can have partition key different than partition key of parent table and optional sort key.
10 Table Indexes / 02 Indexes: Part 2
What is sparse index?
Sparse index is an index that doesn’t contain all table elements because sort key is not present in every item.
12 Advanced Performance and Scaling Considerations / 02 Hot and Cold Partition Imbalance
What is adaptive capacity?
When there is a hot partition DynamoDB can allow to have higher consumed capacity over provisioned capacity on this partition provided that other partition consume less.
Assuming that total provision capacity = 400 whereas consumed is 300, then having 4 partition the consumed capacity can be distributed as 50/50/50/150.
12 Advanced Performance and Scaling Considerations / 02 Hot and Cold Partition Imbalance
How # partitions is calculated?
RCU/3000 + WCU/1000 = # Partitions
16 Streams and Triggers / 01 Streams
What view types can be selected when managing a stream?
- Keys only
- New image
- Old image
- New and old image
17 Advanced Index Usage
What are two techniques for aggregation in DynamoDB?
- Selective write sharding (main process write data + shards from 2 tables, lambda launched on trigger calculates data from 2nd table and put aggregate results into it)
- Aggregation with stream (lambda triggered by stream is writing calculated data directly into new table)