本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置按需容量模式
Amazon Keyspaces(Apache Cassandra 兼容)按需容量模式是一个灵活的计费选项,可以每秒处理数千个请求而不需要进行容量规划。此选项为读取和写入请求提供 pay-per-request 定价,因此您只需为实际用量付费。
选择按需模式时,Amazon Keyspaces 可以将表的吞吐容量立即扩展到以前达到的任何流量级别,然后在应用程序流量减少时调整回来。如果工作负载的流量级别达到新的峰值,则该服务会迅速调整以便为您的表增加吞吐容量。您可以为新表和现有表启用按需容量模式。
如果满足以下任意条件,则按需模式是很好的选项:
-
您创建工作负载未知的新表。
-
您具有不可预测的应用程序流量。
-
您更喜欢只为您使用的容量付费。
要开始使用按需模式,您可以使用控制台或使用几行 Cassandra Query Language (CQL) 代码创建新表或更新现有表以使用按需容量模式。有关更多信息,请参阅 表。
读取请求单位和写入请求单位
使用按需容量模式表,您无需预先指定您希望应用程序使用多少读取和写入吞吐量。Amazon Keyspaces 按读取请求单位 () 和写入请求单位 (RRUs) 向您收取您在表上执行的读取和写入操作的费用。WRUs
-
一个RRU
LOCAL_QUORUM
表示对大小不超过 4 KB 的行的一个LOCAL_ONE
读取请求或两个读取请求。如果您需要读取大于 4 KB 的行,则读取操作会使用额外的RRUs。RRUs所需的总数取决于行大小,以及您是要使用一致性LOCAL_QUORUM
还是LOCAL_ONE
读取一致性。例如,RRUs使用读取一致性读取 8 KB 的行需要 2,RRU如果您选择LOCAL_QUORUM
LOCAL_ONE
读取一致性,则需要 1。 -
一个WRU表示对大小不超过 1 KB 的行进行一次写入。所有写入操作都使用
LOCAL_QUORUM
一致性,使用轻量级事务 (LWTs) 不收取额外费用。如果您需要写入大于 1 KB 的行,则写入操作会使用额外的WRUs。WRUs所需的总数取决于行大小。例如,如果您的行大小为 2 KB,则需要有 2 KB WRUs 才能执行一个写入请求。
有关支持的一致性级别的信息,请参阅支持的 Apache Cassandra 读写一致性级别和相关成本。
峰值流量和扩缩属性
使用按需容量模式的 Amazon Keyspaces 表会自动适应应用程序的流量。按需容量模式会即时在表中承受之前双倍的峰值流量。例如,您的应用程序流量模式可能在每秒 5,000 到 10,000 次 LOCAL_QUORUM
读取之间变化,其中每秒 10,000 次读取是以前的流量峰值。
使用这种模式,按需容量模式可即时容纳最高每秒 20,000 次读取的持续流量。如果应用程序承受每秒 20,000 次读取的流量,则该峰值将成为新的之前峰值,从而使后续流量高达每秒 40,000 次读取。
如果您在一个表上需要的流量是前一个峰值的两倍以上,则随着流量的增加,Amazon Keyspaces 会自动分配更多容量。这有助于确保您的表具有足够的吞吐容量来处理额外的请求。但是,如果您在 30 分钟内超过前一个峰值的两倍,则可能会出现吞吐容量不足错误。
例如,假设您的应用程序流量模式在每秒 5,000 到 10,000 个强一致性读取之间变化,而上一次达到的流量峰值为每秒 20,000 次读取。在这种情况下,服务建议您在将流量推动到每秒 40,000 次读取之前,至少将流量增长的时间间隔 30 分钟。
要了解如何估算表的读取和写入容量消耗,请参阅估计 Amazon Keyspaces 中读取和写入吞吐量的容量消耗。
要了解有关账户的默认配额以及如何增加此配额的更多信息,请参阅 Amazon Keyspaces(Apache Cassandra 兼容)限额。
按需容量模式的最初吞吐量
如果您在启用按需容量模式的情况下创建了新表,或者首次将现有表切换为按需容量模式,则该表将具有以下之前峰值设置,即使该表之前尚未使用按需容量模式提供流量也是如此。
-
新创建的按需容量模式表:之前的峰值分别为 2,000 WRUs 和 6,000 RRUs。您可以立即将以前的峰值翻倍。这样做可以使新创建的按需表最多可容纳 4,000 WRUs 和 12,000 个RRUs。
-
现有表切换到按需容量模式:之前的峰值是前一个峰值的一半,WCUs并且是为该表或新创建的具有按需容量模式的表的设置进行RCUs预配置,以较高者为准。