Read/write throughput is a Tablestore attribute that is measured by capacity units (CUs). CUs are the basic billing unit for data read and write operations. Read and write CUs are consumed when you call Tablestore operations to read and write data.

  • One read CU is consumed when you read one entry of 4 KB of data from a table.
  • One write CU is consumed when you write one entry of 4 KB of data to a table.
  • The read or written data that is sized smaller than one CU is rounded up. For example, writing 7.6 KB of data is counted as two write CUs. Reading 0.1 KB of data is counted as one read CU.

Read/write throughput

Read/write throughput is an attribute of tables for high-performance instances. When you create a table, you can specify reserved read CUs and reserved write CUs for the table.
  • When the specified reserved read CUs or specified reserved write CUs are greater than 0, Tablestore reserves related resources for the table. You are charged for reserved read CUs and reserved write CUs if access to the table per second consumes only specified reserved CUs.
  • When the specified reserved read CUs or reserved write CUs are equal to 0, Tablestore does not reserve related resources for the table.
    Note The reserved read CUs and reserved write CUs for a table that does not exist are 0. When you access a table that does not exist, one additional read CU or one additional write CU is consumed based on operation types.

The unit prices of reserved read CUs and reserved write CUs are lower than those of additional read CUs and additional write CUs. We recommend that you set appropriate reserved read CUs and reserved write CUs to minimize costs. If you need to import large amounts of data after you create a table, set reserved write CUs to a larger value. After the data is imported, reduce reserved write CUs. This way, you can write data at low cost.

Limits

  • Reserved read/write throughput is unavailable for capacity instances.
  • When the reserved read CUs or reserved write CUs are greater than 0, you are charged even if no read and write requests are sent. The maximum value to which you can set reserved read/write throughput for a single table is 100000 (each of the reserved read CUs and reserved write CUs cannot exceed 100,000). To use more than 100,000 reserved read CUs or 100,000 reserved write CUs, click here to submit a ticket and increase reserved read CUs or reserved write CUs.

Rules to update reserved read CUs and reserved write CUs

You can call the UpdateTable operation to dynamically modify the reserved read/write throughput configurations. To update reserved read/write throughput configurations, follow the rules:
  • Tablestore does not impose limits on the number of changes to the reserved read/write throughput configurations within each natural day (from 00:00:00 UTC to 00:00:00 UTC of the next day or from 08:00:00 UTC+8 to 08:00:00 UTC+8 of the next day). Note that the interval between each update for one table must be greater than one minute.
  • The read/write throughput configurations take effect within one minute after they are updated.

Additional read/write throughput

Tablestore charges additional read CUs and additional write CUs when actual consumed CUs exceed reserved read/write throughput values. Tablestore calculates the usage of additional read CUs and additional write CUs every second. Tablestore calculates the average usage of reserved read CUs and reserved write CUs and the total usage of additional read CUs and additional write CUs every hour.

Additional read/write throughput cannot estimate computing resources that are to reserve for tables. Tablestore must provide sufficient service capacity to address bursts of traffic. Therefore, the unit prices of additional read CUs and additional write CUs are higher than those of reserved read CUs and reserved write CUs. Set reserved read/write throughput to appropriate values to minimizes costs.

Example: The reserved read CUs is set to 100 for a table. Read CUs consumed for access within three consecutive seconds:

  • T0: The actual read CUs are 120. One hundred reserved read CUs and 20 additional read CUs are consumed.
  • T1: The actual read CUs are 95. One hundred reserved read CUs and no additional read CUs are consumed.
  • T2: The actual read CUs are 110. One hundred reserved read CUs and 10 additional read CUs are consumed.

The total consumed reserved read CUs from T0 to T2 is the sum of 100 reserved read CUs and 30 additional read CUs.

Note Additional read/write throughput cannot precisely estimate computing resources that are to reserve for tables. In rare cases, if the QPS of a single partition key consumes 10,000 CUs, Tablestore returns OTSCapacityUnitExhausted. In these cases, you must use policies such as exponential backoff to reduce the QPS of the table.