Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between Kinesis Stream and DynamoDB streams

Tags:

They seem to be doing the same thing to me. Can anyone explain to me the difference?

like image 950
Junji Zhi Avatar asked Jul 25 '16 15:07

Junji Zhi


People also ask

Are DynamoDB streams Kinesis?

With Amazon Kinesis Data Streams for Amazon DynamoDB, you can capture item-level changes in your DynamoDB tables as a Kinesis data stream. You can enable streaming to a Kinesis data stream on your table with a single click in the DynamoDB console, or via the AWS API or AWS CLI.

Can Kinesis stream write to DynamoDB?

You can use Amazon Kinesis Data Streams to capture changes to Amazon DynamoDB. Kinesis Data Streams captures item-level modifications in any DynamoDB table and replicates them to a Kinesis data stream. Your applications can access this stream and view item-level changes in near-real time.

What is DynamoDB streams used for?

A DynamoDB stream is an ordered flow of information about changes to items in a DynamoDB table. When you enable a stream on a table, DynamoDB captures information about every modification to data items in the table.

What is the difference between Kinesis Data Streams and Firehose?

Data Streams is a low latency streaming service in AWS Kinesis with the facility for ingesting at scale. On the other hand, Kinesis Firehose aims to serve as a data transfer service. The primary purpose of Kinesis Firehose focuses on loading streaming data to Amazon S3, Splunk, ElasticSearch, and RedShift.


1 Answers

High level difference between the two:

Kinesis Streams allows you to produce and consume large volumes of data(logs, web data, etc), where DynamoDB Streams is a feature local to DynamoDB that allows you to see the granular changes to your DynamoDB table items.

More details:

Amazon Kinesis Streams

enter image description here Amazon Kinesis Streams is part of Big Data suite of services at AWS. From the developer documentation:

You can use Streams for rapid and continuous data intake and aggregation. The type of data used includes IT infrastructure log data, application logs, social media, market data feeds, and web clickstream data. The following are typical scenarios for using Streams:

Accelerated log and data feed intake and processing ...

Real-time metrics and reporting ...

Real-time data analytics ...

Complex stream processing ...

DynamoDB Streams

DynamoDB Logo DynamoDB is the NoSQL option at AWS and the basic unit are tables that store items. DynamoDB Streams is a feature you can turn on to produce all changes to items as a stream in real time as the changes happen. When you turn on the feature, you choose what is written to the stream:

  • Keys only—only the key attributes of the modified item.
  • New image—the entire item, as it appears after it was modified.
  • Old image—the entire item, as it appeared before it was modified.
  • New and old images—both the new and the old images of the item

DynamoDB streams are commonly used for replication or table audits. More information can be found at the developer guide on DynamoDB streams.

I can see where you might have gotten confused if you stumbled across this article first, which says that they are similar. They are different services which share similar API calls.

like image 151
Taterhead Avatar answered Oct 14 '22 00:10

Taterhead