2

目前我正在与一个涉及传感器的IOT项目的客户合作。目前他们所有的数据都被放入一张表中。这些数据来自多个传感器节点。他们希望每个传感器节点都有一个表格。我想知道如果通过AWS Dynamo Db,可以使用现有表中的散列键将数据拆分为多个单独的表。我研究过GSI和LSI,但这仍然不是我的客户想要的。多桌使用甚至比使用LSI和GSI更有效?我对nosql和dynamo db很陌生,所以所有的帮助都非常感谢。是否可以将Dynamo Db表分成更多表(AWS)?

回答

1

DynamoDB不支持数据分割成多个表 - 在DynamoDB操作本身,包括原子条件检查,无法跨表边界进行感。但这并不意味着跨表分割数据与DynamoDB不兼容 - 只是必须在应用程序中添加逻辑。

只要来自不同传感器的数据是隔离就足够了,你绝对可以这样做。更常见的情况是将数据跨越时间边界分割为多个表,以丢弃/归档旧数据,因为DynamoDB已经使用散列键和全局二级索引处理分区数据成为可能和方便。

最后,我要说的是,没有必要和它没有任何意义的数据拆分成散列键多个表 - 但它可以做到的。但是,更有用的一种情况是将数据拆分为多个不属于散列或范围键的数据属性(如时间序列数据示例)。

+0

非常感谢您的答复。正如我所说我是nosql的新手,是否有可能将数百万行存储在一个动态数据库表中,并且如果该表在索引于散列键上时仍能够快速查询。每个索引(传感器)最多可以存储102,000行(这将超过2年)。将要获取这些数据的Web应用程序将为每个传感器生成历史图。所以我基本上要求将这些数据存储在一个索引表中,就像将它存储在多个索引表中一样高效。再次感谢您的第一个回应。 – Connar

相关问题