Kinesis Stream和DynamoDB流之间的区别

Jun*_*Zhi 16 amazon-kinesis amazon-dynamodb-streams

他们似乎对我做同样的事情.任何人都可以向我解释这个区别吗?

Tat*_*ead 22

两者之间的高水平差异:

Kinesis Streams允许您生成和使用大量数据(日志,Web数据等),其中DynamoDB Streams是DynamoDB的本地功能,允许您查看DynamoDB表项的细化更改.

更多细节:

亚马逊Kinesis Streams

在此输入图像描述 Amazon Kinesis Streams是AWS 的大数据服务套件的一部分.从开发人员文档:

您可以使用Streams快速连续地获取和聚合数据.使用的数据类型包括IT基础架构日志数据,应用程序日志,社交媒体,市场数据馈送和Web点击流数据.以下是使用Streams的典型方案:

加速日志和数据采集和处理......

实时指标和报告......

实时数据分析......

复杂流处理......

DynamoDB Streams

DynamoDB徽标 DynamoDB是AWS的NoSQL选项,基本单元是tables该商店items.DynamoDB Streams是一种功能,您可以在发生更改items时实时将所有更改生成为流.打开该功能时,您可以选择写入流的内容:

  • 仅键 - 仅修改项的关键属性.
  • 新图像 - 修改后显示的整个项目.
  • 旧图像 - 整个项目,因为它在修改之前出现.
  • 新旧图像 - 项目的新旧图像

DynamoDB流通常用于复制或表审核.可以在DynamoDB流的开发人员指南中找到更多信息.

如果你首先偶然发现这篇文章,我会看到你可能会感到困惑的地方,这说明它们是相似的.它们是共享类似API调用的不同服务.

  • 很棒的答案!那篇文章是我困惑的地方.谢谢! (2认同)

lee*_*gan 16

当您希望比较 Kinesis Data Streams for DynamoDB 和 DynamoDB Streams 时,以下是两者的差异。

特性 适用于 DynamoDB 的 Kinesis 数据流 DynamoDB 流
数据保留 最长 1 年。 24小时。
Kinesis 客户端库 (KCL) 支持 支持 KCL 版本 1.X 和 2.X。 支持 KCL 版本 1.X。
消费者数量 每个分片最多 5 个同时使用者,或者每个分片最多 20 个同时使用者(具有增强的扇出)。 每个分片最多同时有 2 个消费者。
吞吐量配额 无限。 受 DynamoDB 表和 AWS 区域的吞吐量配额限制。
记录交付模式 使用 GetRecords 通过 HTTP 拉取模型,并通过增强的扇出,Kinesis Data Streams 使用 SubscribeToShard 通过 HTTP/2 推送记录。 使用 GetRecords 通过 HTTP 拉取模型。
记录的排序 每个流记录上的时间戳属性可用于识别 DynamoDB 表中发生更改的实际顺序。 对于 DynamoDB 表中修改的每个项目,流记录的显示顺序与项目的实际修改顺序相同。
重复记录 重复的记录可能偶尔会出现在流中。 流中不会出现重复的记录。
流处理选项 使用 AWS Lambda、Kinesis Data Analytics、Kinesis data firehose 或 AWS Glue 流式 ETL 处理流记录。 使用 AWS Lambda 或 DynamoDB Streams Kinesis 适配器处理流记录。
耐久性等级 可用区提供不间断的自动故障转移。 可用区提供不间断的自动故障转移。