创建表后,是否可以向dynamodb添加全局二级索引?

use*_*525 24 amazon-web-services amazon-dynamodb

使用现有的dynamodb表,是​​否可以修改表以添加全局二级索引?从dynamodb控制面板看起来我必须删除表并使用全局索引创建一个新表.

rpm*_*rtz 24

编辑(2015年1月):

是的,您可以在创建DynamoDB表后为其添加全局二级索引 ; 在"飞行中的全球二级指数"下看到这里.


旧答案(不再严格正确):

否,创建表后,无法修改表的哈希键,范围键和索引.但是,您可以在创建表之后轻松添加非散列键,范围键或索引元素的元素.

来自UpdateTableAPI文档:

您无法使用UpdateTable添加,修改或删除索引.索引只能在表创建时定义.

在可能的情况下,您应该尝试预测当前和未来的查询要求,并相应地设计表和索引.

如果需要,您始终可以将数据迁移到新表.

  • 如果有一件事让我们留在Mongo,就是这样.我们设计了一款应用.一切顺利.我们想要进行第二轮开发.我有500万行数据.我想添加一个新索引.我不能.如果不是这样的PITA,那么很愿意去Dynamo进行简单的扩展和操作,会有心跳加速. (10认同)
  • Kuldeep,是的 - 您的旧记录将被索引。 (3认同)

Joh*_*ker 21

刚收到亚马逊的电子邮件:

亲爱的Amazon DynamoDB客户,

全局二级索引(GSI)使您可以执行更有效的查询.现在,您可以随时在表中添加或删除GSI,而不仅仅是在表创建期间.可以通过DynamoDB控制台或简单的API调用添加GSI.在添加或删除GSI时,DynamoDB表仍然可以处理实时流量并在预配置的吞吐量级别提供连续服务.要了解有关在线索引的更多信息,请阅读我们的博客或访问文档 页面以获取更多技术和操作详细信息.

如果您对在线索引有任何疑问或反馈,请给我们发电子邮件.

此致,亚马逊DynamoDB团队