向社区伸出力量来测试我们的内部思维。
我们正在构建一个简化的商业智能平台,该平台将汇总来自多个数据提供商的指标(即流量,反向链接)和文本列表(即搜索关键字,使用的技术)。
数据的结构有些松散,并且可能会随着时间的推移而变化,因为供应商可能会更改其响应格式。
数据量可能是长期100,000行x 25个输入向量。
数据将不断更新和读取,但并发量不大。
我们希望需要在从合作伙伴到UI的过程中对从合作伙伴收集的数据进行一些ETL转换(例如,显示过去捕获的五个数据点的趋势信息)。
我们要存档每个数据快照(即版本),而不是仅存储最新的数据点。
持久性技术应该可以通过AWS随时获得。
我们的假设是我们的要求最适合DynamoDB(与Amazon Neptune或Redshift或Aurora相比)。
假设公平吗?我还可以提供其他问题/信息来征询该社区的意见吗?
答案 0 :(得分:1)
由于您需要具有无模式的结构,并且需要对每个项目进行版本控制,因此DynamoDB是一个不错的选择。您可能希望将表构建为组合的Partition / Sort键结构,将Sort键作为Version,并且可以使用多种技术来帮助您定位“最新”版本等。这是一种非常常见的模式,并使用DDB自动缩放功能,可以确保仅配置实际需要的容量。