以后是否可以在DynamoDB GlobalTable中添加区域

时间:2018-06-22 01:37:43

标签: amazon-web-services amazon-dynamodb amazon-dynamodb-streams

AWS最近提出了GlobalTable,以实现跨不同区域的多主机,容错设置。约束之一似乎是设置GlobalTable的“表必须为空”。

问题是-我可以从美国的两个地区开始,然后随着我们的成长而扩展到其他地区吗?如果是,则上述约束将不成立。

有人尝试过GlobalTable吗?有什么想法吗?

2 个答案:

答案 0 :(得分:3)

快速更新:自2019年11月起,此功能现已可用 https://aws.amazon.com/about-aws/whats-new/2019/11/you-can-now-enhance-availability-of-your-existing-amazon-dynamodb-tables-by-adding-global-replicas/

要注意的是,dynamodb表现在有两个版本,并且在11/21/2019(旧版本)之前创建的所有表都未启用该功能。 https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GlobalTables.html

答案 1 :(得分:2)

我将根据您提供的示例尝试回答。

假设您有两个DynamoDB表,一个在 us-east-1 中,另一个在 us-west-1 中。根据DynamoDB的术语,这两个表是副本表。现在,您想在 eu-west-1 中添加另一个表。

答案是可以的,但前提是根据this文档满足以下约束条件:

  
      
  • 该表必须具有与所有其他副本相同的分区键。
  •   
  • 该表必须与所有其他副本具有相同的名称。
  •   
  • 该表必须启用DynamoDB流,该流同时包含该项目的新图像和旧图像。
  •   
  • 全局表中的所有副本表都不能包含任何数据。
  •   

换句话说,您在 us-east-1 us-west-1 中的表必须为空。如果不是,则无法将 eu-west-1 中的一个添加到全局表中。