DynamoDB 全球 Table 复制系统

DynamoDB Global Table Replication System

作为大学项目的一部分,我正在对 Dynamodb 的性能进行基准测试,并且在设置全局表时一直在寻找有关复制系统的更多详细信息,因为我想了解它对延迟/吞吐量的影响。 我最终找到了 2 个令人困惑的概念、区域和可用区。据我了解这里: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.CrossRegionRepl.html 通过创建 2 个表,一个在法兰克福,一个在爱尔兰,比方说,这意味着我现在有 2 个多主 read/write 副本。

但后来我找到了那些链接: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.Partitions.html https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html https://aws.amazon.com/blogs/aws/new-for-amazon-dynamodb-global-tables-and-on-demand-backup/

解释数据存储并自动复制到一个 AWS 区域的多个可用区,但没有提及副本的数量以及它们是否可用于读/写请求以及是否也是多主或从或只是用于恢复目的。 根据我在这里的理解,如果回到我正在使用的示例(法兰克福/爱尔兰) 我将拥有: 法兰克福的 3 个多主机 read/write 副本 3 个多主机 read/write 爱尔兰的副本

请告诉我哪一个是正确的。提前致谢

Dyanmodb 默认情况下将您的数据放在多个可用性区域中的 tables,无论它是否是全局 table。这是为了确保在一个区域出现故障时具有更高的可用性。然而,这些分区对用户来说是透明的,用户无法选择连接到哪个分区。 这是一个很好的 video 解释它是如何在引擎盖下工作的。

全局table意味着数据将跨区域复制,对用户透明。我在俄勒冈州和俄亥俄州的两个地区用 table 进行了基准测试,通常需要 ~1.5 秒。得到复制。复制解析由 AWS 自动管理,最后写入的将获胜。

这里个人的建议是只用一个table来写,这样可以尽量减少数据冲突。并在灾难故障转移的情况下写入其他区域。