Basics
Stored on SSD storage and spread across 3 geographically distinct data centres.
Eventual Consistent Reads (default)
- Consistency across all copies of data is usually reached within a second and repeating a read after a short time should return the updated data. - Eventual Consistent Reads gives the best read performance.
Strongly Consistent Reads
- A strongly consistent read returns a result that reflects all writes that received a successful response prior to the read. - Remember the 1 second rule. If your application can wait 1 second before new data is read, use Eventual Consistent Read, else use Strongly Consistent Reads.
Use cases include storing JSON data, BLOB data and storing web session data.
You cannot run relational joins on DynamoDB and storing archived data would be better placed on Glacier
You can perform DynamoDB operations over HTTP using the POST request method.
The POST method requires you to specify the operation in the header of the request and provide the data for the operation in JSON format in the body of the request.
Valid DynamoDB Headers attributes include:
content-type
host
x-amz-target
x-amz-date
DynamoDB Streams
A DynamoDB stream is an ordered flow of information about changes to items in an Amazon DynamoDB table. When you enable a stream on a table, DynamoDB captures information about every modification to data items in the table. Whenever an application creates, updates, or deletes items in the table, DynamoDB Streams writes a stream record with the primary key attribute(s) of the items that were modified. A stream record contains information about a data modification to a single item in a DynamoDB table. You can configure the stream so that the stream records capture additional information, such as the "before" and "after" images of modified items. Amazon DynamoDB is integrated with AWS Lambda so that you can create triggers—pieces of code that automatically respond to events in DynamoDB Streams. With triggers, you can build applications that react to data modifications in DynamoDB tables. If you enable DynamoDB Streams on a table, you can associate the stream ARN with a Lambda function that you write. Immediately after an item in the table is modified, a new record appears in the table's stream. AWS Lambda polls the stream and invokes your Lambda function synchronously when it detects new stream records. The Lambda function can perform any actions you specify, such as sending a notification or initiating a workflow.
Exam Questions
What is the size limitation on the Attribute Name & Value
400 KB