估算表扫描的读取容量消耗 - Amazon Keyspaces(Apache Cassandra 兼容)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

估算表扫描的读取容量消耗

导致全表扫描的查询(例如使用该ALLOW FILTERING选项的查询)是处理的读取次数多于返回结果的查询的另一个示例。读取容量消耗基于读取的数据,而不是返回的数据。

对于表扫描示例,我们在按需容量模式下使用以下示例表。

pk | ck | value ---+----+--------- pk | 10 | <any value that results in a row size larger than 4KB> pk | 20 | value_1 pk | 30 | <any value that results in a row size larger than 4KB>

默认情况下,Amazon Keyspaces 在按需容量模式下创建包含四个分区的表。在此示例表中,所有数据都存储在一个分区中,其余三个分区为空。

现在在表上运行以下查询。

SELECT * from amazon_keyspaces.example_table_2;

此查询将生成表扫描操作,其中 Amazon Keyspaces 会扫描表的所有四个分区,并在一致性模式下消耗 6 RRUs 个LOCAL_QUORUM分区。首先,Amazon Keyspaces 在读RRUs取三行时消耗 3。pk=‘pk’然后,Amazon Keyspaces 会额外消耗 3 个RRUs用于扫描表的三个空分区。由于此查询会生成表扫描,因此 Amazon Keyspaces 会扫描表中的所有分区,包括没有数据的分区。