Kinesis Stream 和 DynamoDB 流之间的区别

Difference between Kinesis Stream and DynamoDB streams

他们似乎也在对我做同样的事情。谁能给我解释一下区别?

两者高度差:

Kinesis Streams 允许您生成和使用大量数据(日志、Web 数据等),而 DynamoDB Streams 是DynamoDB 的本地功能,允许您跟踪对 DynamoDB table 项的精细更改。

更多详情:

Amazon Kinesis 流

Amazon Kinesis Streams 是 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 流

DynamoDB 是 AWS 的 NoSQL 选项。它的交付单位是 Table,存储 。 DynamoDB Streams 是一项 DynamoDB 功能,您可以在 Table 级别打开以记录对所有项目的所有更改(按照它们发生的确切顺序)。然后可以在更改发生时实时流式传输,而不会影响性能。当您打开该功能时,您可以选择写入流的内容:

  • Keys only—仅修改项目(包括LSI)的关键属性,但无法添加任何其他内容。
  • 新图片—修改后的整个项目。
  • 旧图像—整个项目,就像修改之前一样。
  • 新旧图片——商品的新旧图片

DynamoDB 流通常用于复制或 table 审计。可以在 developer guide on DynamoDB streams.

找到更多信息

DynamoDB Streams 施加的主要限制是:

  • 只有 1 或 2 个消费者(除此之外你需要使用 fanout patterns
  • 仅保留 24 小时。虽然绝对所有的更改都被记录下来,并且按照严格的顺序进行,但对保留有一个硬性限制 - 你需要抓住它们并快速地做点什么。

如果您偶然发现 this article first,我知道您可能在哪里感到困惑,它说它们很相似。它们是共享相似 API 调用的不同服务。因此消费体验非常相似。