Arr*_*uff 5 amazon-web-services amazon-dynamodb amazon-kinesis
问题
使用来自 kinesis 数据源(流或 firehose)的数据填充 dynamodb 表的推荐方法是什么?
当前工作流程
为什么
我想就此获得一些建议,因为
我的观点是,您的工作流程目前或多或少是正确的方法。我唯一要改变的是,我会使用 Kinesis Streams 而不是 Firehose。然后,您可以将流配置为 Lambda 事件源,并且可以选择配置批量大小。这将大大降低您的 lambda 成本,因为每个批次(例如 500 条记录的大小)将执行一次 lambda,而不是每条记录执行一次 lambda。AWS 文档中解释了详细信息 ( https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html )
我不太确定不提供 DynamoDB 作为目标的真正原因。我的猜测是;Kinesis 不知道您的内容的结构。Kinesis 的当前目标要么具有某种机制来根据其需求构建传入数据,要么根本不关心对象结构 (S3)。另一方面,DynamoDB 需要用户做出一些决定。这些架构决策对于每个表都非常重要(性能、成本、分区、访问模式等)。哪个字段将是您的分区键,您会使用排序键吗?您会格式化任何字段吗?您如何确保您的主键值是唯一的?每个字段的类型是什么(字符串、小数等)?我认为,Lambda 由于其灵活性而成为最适合这些决策的机制。
有一些自动化机制可以从数据本身推断架构(如 AWS Glue 使用),但在 DynamoDB 情况下,这并不简单。
| 归档时间: |
|
| 查看次数: |
1362 次 |
| 最近记录: |