Amazon dynamodb 如何使用我的表高效地创建dynamoDB?

Amazon dynamodb 如何使用我的表高效地创建dynamoDB?,amazon-dynamodb,Amazon Dynamodb,如果我的每个数据库的概览只有两种类型(state:pending,added),那么将这两种类型指定为分区键是否有效?或者索引此状态值是否有效?这取决于您如何搜索这些记录 例如,如果您总是按记录ID进行搜索,则不会介意。但是,如果每次都要按挂起或追加的记录集进行搜索,则应该考虑使用分区 您还可以在AWS的最佳实践指南中进行研究: 更新: 在本节中,委员会建议如下: 将相关数据放在一起。路由表优化研究 20年前,人们发现“参考位置”是最简单的 加快响应时间的重要因素:保留相关数据 一起在一个地方

如果我的每个数据库的概览只有两种类型(state:pending,added),那么将这两种类型指定为分区键是否有效?或者索引此状态值是否有效?

这取决于您如何搜索这些记录

例如,如果您总是按记录ID进行搜索,则不会介意。但是,如果每次都要按挂起或追加的记录集进行搜索,则应该考虑使用分区

您还可以在AWS的最佳实践指南中进行研究:


更新: 在本节中,委员会建议如下:

将相关数据放在一起。路由表优化研究 20年前,人们发现“参考位置”是最简单的 加快响应时间的重要因素:保留相关数据 一起在一个地方。在今天的NoSQL系统中也是如此, 如果将相关数据保持在很近的位置会对 成本和性能。而不是分发相关的数据项 跨多个表,您应该在NoSQL中保留相关项 系统尽可能靠近

一般来说,您应该在一个数据库中维护尽可能少的表 DynamoDB应用程序。正如前面所强调的,大多数设计都很好 应用程序只需要一个表,除非有特定原因 用于使用多个表

例外情况是涉及大量时间序列数据的情况, 或者具有非常不同的访问模式的数据集,但它们是 例外情况。带有反向索引的单个表通常可以启用 创建和检索复杂层次数据的简单查询 应用程序所需的结构

使用排序顺序。相关项目可以分组并查询 如果它们的键设计导致它们一起排序,则效率会很高。这是 一个重要的NoSQL设计策略

分发查询。大量的 查询不能集中在数据库的某个部分,因为它们可以 超过I/O容量。相反,您应该为 尽可能将流量均匀地分布在分区上, 避免“热点”

使用全局二级索引。通过创建特定的全局辅助 在索引中,可以启用与主表不同的查询 支持,而且仍然快速且相对便宜

我希望我能帮助你

这将取决于您如何搜索这些记录

例如,如果您总是按记录ID进行搜索,则不会介意。但是,如果每次都要按挂起或追加的记录集进行搜索,则应该考虑使用分区

您还可以在AWS的最佳实践指南中进行研究:


更新: 在本节中,委员会建议如下:

将相关数据放在一起。路由表优化研究 20年前,人们发现“参考位置”是最简单的 加快响应时间的重要因素:保留相关数据 一起在一个地方。在今天的NoSQL系统中也是如此, 如果将相关数据保持在很近的位置会对 成本和性能。而不是分发相关的数据项 跨多个表,您应该在NoSQL中保留相关项 系统尽可能靠近

一般来说,您应该在一个数据库中维护尽可能少的表 DynamoDB应用程序。正如前面所强调的,大多数设计都很好 应用程序只需要一个表,除非有特定原因 用于使用多个表

例外情况是涉及大量时间序列数据的情况, 或者具有非常不同的访问模式的数据集,但它们是 例外情况。带有反向索引的单个表通常可以启用 创建和检索复杂层次数据的简单查询 应用程序所需的结构

使用排序顺序。相关项目可以分组并查询 如果它们的键设计导致它们一起排序,则效率会很高。这是 一个重要的NoSQL设计策略

分发查询。大量的 查询不能集中在数据库的某个部分,因为它们可以 超过I/O容量。相反,您应该为 尽可能将流量均匀地分布在分区上, 避免“热点”

使用全局二级索引。通过创建特定的全局辅助 在索引中,可以启用与主表不同的查询 支持,而且仍然快速且相对便宜


我希望我能帮助你

使用一种新方法会更有效。在本例中,您可以添加一个名为
isPending
的属性。您可以将此属性添加到挂起的项,并在附加这些项后将其删除。如果使用
tid
作为散列键和
isPending
作为排序键创建GSI,则只有挂起的项才会在GSI中

使用一种新方法会更有效。在本例中,您可以添加一个名为
isPending
的属性。您可以将此属性添加到挂起的项,并在附加这些项后将其删除。如果使用
tid
作为散列键和
isPending
作为排序键创建GSI,则只有挂起的项才会在GSI中

谢谢你的好意!!我想再问你一个问题。我将经常提取state=PENDING的数据。州政府说。等待或批准。据我所知,DynamoDB的分区键在DB中被划分为多个组。那么,我们不能只使用position键作为状态,而不是为状态提供索引吗?+此外,我有