In this video we are going to learn streams on Dynamo DB so that means we will develop dynamic DB streams
using a lambda in order to process Dynamo DB streams for change data capture of Dynamo DB tables.
So Dynamo DB supports streaming of item level change data capture records.
In the near real time, we can build applications that consume these streams and take actions based
on the content.
Most of the applications can benefit from data capturing changed into Dynamo DB table.
I would like to give some examples for Dynamo DB stream use cases.
For example, any customer adds data into Dynamo DB table.
This event invokes another application that sends a welcome email to the new customer, or an application
automatically sends notification to the mobile device of all friends in a group as soon as one parent
uploads any feature.
And also we can think about a mobile application.
Modifies data in Dynamo TV table.
It could be weakened of you to video or like pictures on Instagram.
So another application captures and stores data about these updates and providing near real time usage
metrics for the mobile applications.
And also, we can give example of financial applications, modifies stock market data in Dynamo TV table
different applications running in parallel track these change in real time and compute value at risk
and automatically rebalanced portfolio based on the stock price movements.
So if we summarize the dynamic DB streams, a dynamic DB stream is an ordered flow of information about
change item in a dynamic DB table when we enable stream on a table.
Dynamic DB captured information about a modification to data items in the table.
So whenever an application creates updates or deletes item in the table, dynamic DB streams write a
stream record with a primary key attribute of the items that were modified.
So stream record contain information about data modification to a single item in the DB table.
Dynamic DB streams right stream record in a real time so that we can build application and consume these
streams and take actions based on the content changes.
Now I would like to explain end points for dynamic DB streams.
A blaze maintains separate end point for dynamic DB and dynamic DB streams.
In order to work with database tables and indexes, our application must access the dynamic DB and paint.
But in order to read and process dynamic DB streams record, our application must access a dynamic DB
streams and point in the same region.
So the SDK provides separate clients for Dynamo DB and Dynamo DB streams.
Depending on our requirements, our application can access Dynamo DB, End Point or dynamic DB streams
end point.
In order to connect to both endpoints, our application must instantiate two Client Object one for the
dynamic DB client.
Another for the dynamic DB streams client.
We will see all these end points when we interact with dynamic streams with using a SDK.
So now I would like to explain enabling a stream.
We can enable the stream on a new table when we create a table in the SLI or SDHC or management console.
We can also enable or disable stream on existing table or change the settings on a stream.
So dynamic DB streams operate asynchronously, so there is no performance impact on table.
If you enable a stream, the easiest way to manage the stream is using a measurement console.
We can go to dynamic DB console, open the table and open the existing or create a new table.
And on the export and stream setup we can enable the dynamic DB streams.