Difference between Kinesis Stream and DynamoDB streams

Junji Zhi picture Junji Zhi · Jul 25, 2016 · Viewed 11.8k times · Source

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

Answer

Taterhead picture Taterhead · Jul 26, 2016

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.