【发布时间】:2020-07-26 10:16:07
【问题描述】:
我们在数据库中保存了数百万条记录的场景,目前我使用 dynamodb 来保存元数据(并且还对对象进行写入、更新和删除操作),S3 用于存储文件(例如:文件可以是图像,其中其相关元数据存储在 dynamoDb) 和 elasticsearch 中,用于索引和搜索。但是由于一行(单个对象)的 dynamodb 限制为 400kb,保存数据是不够的。我想过在 dynamodb 本身中保存不同版本的对象,但这太复杂了。 所以我在考虑用更好的存储替换 dynamodb:
- AWS 文档数据库
- S3 还用于保存元数据以及目标文件
那么,在您的意见和原因中,哪一个是更好的选择,这也是具有成本效益的。 (也很容易与 elasticsearch 同步,但是这种 ES 同步并不是什么大问题,因为两者都有可能) 如果你有比这两个更好的建议也可以告诉我。
【问题讨论】:
-
您是如何使用这些数据的,是经常查询还是只是偶尔查询?
-
我需要对数据库中的数据执行更新和删除操作,并定期将数据摄取到其中。未来单个对象的大小可以达到 1-2 GB。
-
另外,为了在几毫秒内快速检索(搜索)这些数据,我目前使用的是 elasticsearch,我还在那里进行聚合和地理空间数据查询。
标签: amazon-web-services amazon-s3 amazon-dynamodb aws-elasticsearch aws-documentdb