Amazon dynamodb 为什么不是';DynamoDB中是否支持t索引/表重命名?

Amazon dynamodb 为什么不是';DynamoDB中是否支持t索引/表重命名?,amazon-dynamodb,Amazon Dynamodb,据我所知,在DynamoDB上重命名现有表或索引是不可能的。有什么原因吗?我不明白为什么这不是一项简单的任务 (或者,如果可以重命名其中一个,请让我知道!)我一周前就遇到了这个问题,只有一种方法可以做到这一点。目前,您必须使用新名称创建一个新表,并删除旧表 在过去的一周里,我第一次在DynamoDB中工作,并意识到DynamoDB中有许多功能都是缺乏的,例如,AWS控制台也不支持从csv文件导入数据。您可以在创建备份时更改名称。恢复备份时,该表将具有您填写的名称 没有AWS的官方解释,没有客观的

据我所知,在DynamoDB上重命名现有表或索引是不可能的。有什么原因吗?我不明白为什么这不是一项简单的任务


(或者,如果可以重命名其中一个,请让我知道!)

我一周前就遇到了这个问题,只有一种方法可以做到这一点。目前,您必须使用新名称创建一个新表,并删除旧表


在过去的一周里,我第一次在DynamoDB中工作,并意识到DynamoDB中有许多功能都是缺乏的,例如,AWS控制台也不支持从csv文件导入数据。

您可以在创建备份时更改名称。恢复备份时,该表将具有您填写的名称

没有AWS的官方解释,没有客观的答案可以解释为什么这是不可能的。原因是他们就是这样设计的,没有人可以用任何权威说得更多

但是,基于分布式系统中很少有任务是“简单”的这一事实,我们可以得出一些合理的结论

更改表或索引的名称是一项操作,它要么需要是即时的,要么需要在操作发生时冻结并锁定整个表。重命名时,任何操作都不能进行,因为这些操作可能无效——过早引用新名称,或太晚引用旧名称。整个应用程序需要同时更新

关系数据库更容易允许重命名,因为它们是位于同一位置的单一对象——索引位于主服务器上的表上,服务器可以锁定表元数据(在查询完成时等待锁定,然后在进行更改时阻止进一步查询,然后释放锁定)

DynamoDB表没有主服务器。您的表在多个服务器的多个分区中透明地分片,并且每个分区在该区域的其他可用性区域中都有多个副本/对等点。这是一个高度分布式的系统。跨所有这些层协调操作是一个复杂的命题——不是不可能的,甚至可能不是不切实际的,但需要额外的复杂性层来完成一些很少需要的事情。。。高成本,低回报


在许多情况下,如果表或索引的状态(类似于初始索引创建期间的状态)在必要的后台任务执行重命名时阻止了它们的使用,那么这将被视为不可接受的。可能的例外情况是小表和生产中未使用的表。。。这些都是此类功能的最低价值方案。

最好、最简单的方法是创建一个新表并删除现有表。 此外,在创建备份时,它可以使用新名称,在恢复时,它将使用新名称。
dynamodb背后的主要问题是成本,这就是为什么很少缺少我们在普通RDMS系统中使用的功能

你的写作风格完美无瑕