DynamoDB可选的Amazon Kinesis Data Stream与DynamoDB Stream区别是什么?

DynamoDB Stream 与 Amazon Kinesis Data Stream 核心差异 数据保留规则
DynamoDB Stream:变更数据最长仅保留24小时,只支持短周期内的事件重放Amazon Kinesis Data Stream:变更数据最长可保留365天,支持历史数据回溯、离线批量分析等需求
吞吐量配置逻辑
DynamoDB Stream:吞吐量完全和绑定的DynamoDB表对齐,表的分片数量直接决定流的分片数,无需单独配置也无法自主调整Amazon Kinesis Data Stream:吞吐量完全独立于DynamoDB表,可根据下游消费需求自行扩缩容分片数量,不受表的读写容量限制
下游生态适配能力
DynamoDB Stream:仅支持直接触发Lambda作为消费端,其他服务消费需要自行实现拉取逻辑Amazon Kinesis Data Stream:原生适配全品类流处理生态,包括Kinesis Data Firehose、Kinesis Data Analytics、EMR、Flink、Spark Streaming等,也支持多消费者同时消费同一份流数据
成本计算规则
DynamoDB Stream:本身不单独收费,仅需支付DynamoDB表的读写费用以及下游消费资源的成本Amazon Kinesis Data Stream:需要单独按分片持有时长、数据流入流出量计费,成本显著高于DynamoDB Stream
选型建议
- 如果仅需要轻量近实时处理,比如用Lambda同步变更数据到缓存、触发简单业务通知,不需要长时间保留变更记录,直接选
DynamoDB Stream即可,成本更低配置更简单 - 如果需要长时间存储变更数据、多团队同时消费同一份变更流、用到复杂流计算框架、有历史数据重放的需求,选
Amazon Kinesis Data Stream更合适
内容的提问来源于stack exchange,提问作者Joey Yi Zhao
相关产品推荐
相关产品推荐

