管理全局表的最佳实践和要求
DynamoDB 全局表有两种版本:版本 2019.11.21(当前) 和 版本 2017.11.29。要找出正在使用的版本,请参阅 确定版本。 |
使用 Amazon DynamoDB 全局表,您可以跨 Amazon 区域复制表数据。全局表中的副本表和二级索引必须具有相同的写入容量设置,以确保正确复制数据。
全局表的表名称在您的 Amazon 账户中必须唯一。
管理容量的要求
全局表必须通过以下两种方式之一配置吞吐能力:
-
按需容量模式,以复制的写入请求单位数(rWRU)衡量
-
具有自动扩缩功能的预调配容量模式,以复制的写入容量单位数(rWCU)衡量
使用具有自动扩缩的预调配容量模式或按需容量模式,可帮助确保全局表始终有足够的容量来执行对该全局表的所有区域的复制写入操作。
在任意区域中从一种表容量模式切换到另一种容量模式,将会同时切换所有副本的模式。
副本和计算写入单位
在进行规划时,您需要计算一个区域中将执行的写入次数,然后将其与所有其他区域将发生的写入次数相加。这一点至关重要,因为在一个区域中执行的每一次写入也必须在每个副本区域中执行。如果您没有足够的容量来处理所有写入操作,则会出现容量异常。此外,区域间的复制等待时间也将增加。
例如,假设您预计每秒会对俄亥俄州区域的副本表进行 5 次写入,每秒对弗吉尼亚州北部区域的副本表进行 10 次写入,并且每秒对爱尔兰区域的副本表进行 5 次写入。在这种情况下,您需要预计以下每个区域都将消耗 20 个 rWCU 或 rWRU:俄亥俄州、弗吉尼亚州北部和爱尔兰。换言之,您需要预计在所有三个区域共消耗 60 个 rWCU。
有关将具有自动扩缩功能的预调配容量模式与 DynamoDB 结婚使用的详细信息,请参阅使用 DynamoDB Auto Scaling 自动管理吞吐能力。
如果表在具有自动扩缩功能的预调配容量模式下运行,则每个区域中的副本可能具有不同的自动扩缩配置。最佳实践是在所有区域中设置相同的自动扩缩策略。