DynamoDB 大于 400KB 的项目

Blu*_*oba 7 large-data amazon-dynamodb

我打算创建一个商家表,其中包含商家的商店位置。大多数商家都是小企业,他们只有几家商店。然而,奇怪的多链/特许经营可能有数百个地点。

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

谢谢!

编辑:如何拆分表格。为了满足大多数人的需求,我最多可以将它们放在同一张桌子上的 5 个位置。但是超过 5 个,它将溢出到一个规范化的表,主表上有一个指示符,表示有 5 个以上的位置。关于如何实现这一目标的任何想法?

cra*_*eld 9

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

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

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