AWS最近提出了GlobalTable,以实现跨不同区域的多主机,容错设置。约束之一似乎是设置GlobalTable的“表必须为空”。
问题是-我可以从美国的两个地区开始,然后随着我们的成长而扩展到其他地区吗?如果是,则上述约束将不成立。
有人尝试过GlobalTable吗?有什么想法吗?
答案 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 中的一个添加到全局表中。