1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 关于DynamoDB的想法
每GB的数据存储成本方面,DynamoDB大约是S3的5倍。此外,它还有RCU/WCU成本。
我建议将数据保留在S3中。不仅更具成本效益,而且使用S3,您不必担心DynamoDB的RCU/WCU成本或吞吐量。
SageMaker笔记本和训练实例可以直接从S3中读取,而S3具有高吞吐量。我认为100 MB数据集不会有性能问题。
如果您需要准备/转换数据,可以使用Glue、Athena、GlueDataBrew、GlueStudio等在S3中就地进行转换。
关于Glue和DynamoDB
我考虑了Glue,但想将数据放在DynamoDB中,而Glue似乎不支持。
Glue支持Python和Spark作业。如果使用Glue Python作业,可以导入boto3(AWS SDK)库并写入DynamoDB。
其他策略
客户如何摄取传感器数据/如何写入S3?他们使用AWS IoT Core吗?
无论如何,您描述的模式到目前为止都是:
设备- > S3中的传感器数据- >使用Lambda进行转换- >将数据存储在DynamoDB中。
另一种您可以考虑的方法是使用具有Lambda转换的Kinesis Firehose。这将允许您在将数据写入S3之前进行“内联”解析/转换,从而消除了重新从S3读取数据并在事后应用转换的需要。Firehose还允许您将存储的数据以Parquet等格式编写,这有助于成本以及后续查询性能。
如果要存储原始数据和转换后的数据,可以使用Kinesis Streams/Firehose的“扇出”模式,其中一个输出是发送到 S3 的原始数据,另一个是转换后的流。
相关内容
- AWS 官方已更新 2 年前
- AWS 官方已更新 2 个月前
- AWS 官方已更新 2 年前
- AWS 官方已更新 1 年前