So now let's do a summary of Amazon DynamoDB
which appears quite a bit at the exam.
So DynamoDB is a proprietary technology from AWS.
It's a managed serverless NoSQL database
that provides you, out of the box, millisecond latency.
You have two capacity modes you need to choose from:
so one of them is the provisioned capacity
with optional auto-scaling,
which is great
when you have a smooth type of workload
that increases gradually over time,
or decreases gradually over time,
or you have the on-demand capacity mode
where you don't have to provision capacity
but it scales automatically for you, which is great
if you have very unpredictable workloads,
or if you have sudden steep spikes
of demand on your database.
So DynamoDB can replace ElastiCache as a key/value store,
and it's a great way to, for example,
store session data for your website,
combined with a TTL feature
to expire a row after a specific amount of time.
So DynamoDB is highly available,
it is across multiple availability zones by default,
the Reads and the Writes are fully decoupled,
and it's possible for you to have transactions
on top of DynamoDB tables.
It is possible for you to create a read cache
out of the box that is fully compatible with DynamoDB,
which is a DAX cluster DynamoDB accelerator
and the ability... the particularity of it
is that you get then microsecond read latency.
So look for that in the exam.
In terms of security, authentication, and authorization,
everything is done through IAM.
You have event processing capability on top of DynamoDB,
so you can enable DynamoDB streams
to stream all the changes happening into database,
and you can have an integration to invoke Lambda
from the DynamoDB stream.
Therefore, Lambda can be invoked for every single change
in your DynamoDB table.
The other option is instead of sending the data
to DynamoDB streams,
you can send the data to Kinesis Data Streams.
The advantage is that on top of it, you can use
the Kinesis Data Firehose feature,
or you can use any type of integration
that leverages Kinesis Data Stream.
For example, you could have longer term retention
up to one year on Kinesis Data Streams.
You have a Global Table feature on top of DynamoDB,
which allows you to do active-active replication
across multiple regions.
So anyone can read and write from any region,
this is why it's called active-active.
Now you have two backup options,
the first one is an automated backup.
You need to enable point in time recovery for that,
and you can restore your table to a new DynamoDB table
for any point of time, up to 35 days.
Or if you want to have longer term retention of backups,
you can enable on-demand backups,
which will also restore to a new table.
Now you can export your DynamoDB table to Amazon S3
without using any of the Read Capacity Units
within the point in time recovery window,
so within 35 days using the Export to S3 feature,
and you can also import from S3
without using any Right Capacity Units into a new table.
So DynamoDB from an exam perspective,
anytime you see that you need to rapidly evolve schemas,
you need to have a flexible type of database schema,
it's going to be a great choice.
So the use cases for DynamoDB is:
a serverless application development
for small documents that are less than 400 kilobytes,
distributed serverless cache,
and just so you know,
DynamoDB does not have any SQL query language available.
All right, that's it.
I hope you liked it, and I will see you in the next lecture.