DynamoDB大于400KB的项目

时间:2018-05-07 01:25:20

标签: amazon-dynamodb large-data

我打算创建一个商家桌子,该桌子将有商家的商店位置。大多数商家都是小企业,他们只有几家商店。然而,奇怪的多连锁/特许经营可能有数百个地点。

如果我想在商家表中添加包含位置属性,那么我的解决方案是什么?如果我必须将它拆分成多个表,我该如何实现?

谢谢!

编辑:拆分表怎么样?为了迎合大多数人,最多可以说5个地点,我可以将它们放在同一张桌子里。但是超过5,它会溢出到一个标准化的表格,主表上有一个指示符,表示有超过5个位置。有关如何实现这一点的任何想法?

1 个答案:

答案 0 :(得分:2)

根据您的访问模式,您有几个选项:

  • 压缩数据并将二进制对象存储在DynamoDB中。
  • 在DynamoDB中存储基本详细信息以及指向更大内容的S3链接。 DynamoDB和S3之间没有任何事务支持,因此您的数据可能会变得不一致。
  • 您可以规范化表格,并将这些数据放在一个单独的表中,而不是嵌入位置属性,该表格与商家表格的外键相同。但是,您可能需要两个查询来检索每个商家的数据,这将计入您的吞吐量成本。
  • 必须在应用程序代码中而不是在数据库级别处理对溢出表的处理:if (store_count > 5) then execute another query to retrieve more data

如果您不需要DynamoDB的性能和可扩展性,RDS可能是更好的解决方案。