是否可以将Dynamo Db表拆分为更多表(AWS)?

时间:2017-04-10 23:30:23

标签: amazon-web-services database-design amazon-dynamodb nosql

目前,我正在与客户合作开展涉及传感器的物联网项目。目前,他们所有的数据都被放入一个表中。该数据来自多个传感器节点。他们希望每个传感器节点都有一个表。我想知道是否可以通过AWS Dynamo Db使用现有表中的散列键将数据拆分为多个单独的表。我已经研究过GSI和LSI,但这仍然不是我的客户想要的。还有多个表甚至比使用LSI或GSI更有效吗?我是nosql和dynamo db的新手,所以非常感谢所有的帮助。

1 个答案:

答案 0 :(得分:1)

DynamoDB不支持将数据拆分为多个表 - 在某种意义上,DynamoDB操作本身(包括原子条件检查)不能跨表边界执行。但这并不意味着跨表拆分数据与DynamoDB不兼容 - 只需要在应用程序中添加逻辑。

只要来自不同传感器的数据足够隔离,您肯定可以这样做。更常见的情况是跨越时间边界将数据拆分为多个表以便丢弃/存档旧数据,因为DynamoDB已经可以使用散列键和全局二级索引处理数据分区变得可行和方便。

最后我会说没有必要,将数据拆分成散列键上的多个表是没有意义的 - 但是可以做到。但是,更有用的情况是将数据拆分为数据的某些其他属性上的多个表,这些属性不是散列或范围键的一部分(例如时间序列数据示例)。