This topic describes the limits of Tablestore. You can appropriately design the table schemas and the size of a single row to improve performance.
Limits on instances
Resource | Limit | Description |
Number of instances created within an Alibaba Cloud account | 10 | To increase the limit, submit a ticket. |
Number of tables in an instance | 64 | The number of tables is the sum of the numbers of data tables, secondary indexes, and time series tables. Important A time series table consists of a time series metadata table and a time series data table. Therefore, a time series table is equivalent to two tables. To increase the limit, submit a ticket. |
Length of an instance name | 3~16 Bytes | The instance name can contain letters, digits, and hyphens (-). The instance name must start with a letter and cannot end with a hyphen (-). |
Limits on tables
Resource | Limit | Description |
Length of a table name | 1~255 Bytes | The table name can contain letters, digits, and underscores (_). The table name must start with a letter or an underscore (_). |
Number of reserved read capacity units (CUs) and reserved write CUs of a single table | 0~100000 CU | To increase the limit, submit a ticket. |
Number of predefined columns | 0 to 32 | Predefined columns are non-primary key columns whose names and types are defined when a data table is created. When you create a secondary index, you can use predefined columns as the index columns or attribute columns of the index table. For more information, see Secondary index. Important To create a search index for a data table, you do not need to specify predefined columns for the data table. |
Limits on columns
Resource | Limit | Description |
Length of a column name | 1~255 Bytes | The column name can contain letters, digits, and underscores (_). The column name must start with a letter or an underscore (_). |
Number of columns in a primary key | 1 to 4 | A primary key consists of one to four primary key columns. |
Size of the value in a primary key column of the String type | 1 KB | The size of a value in a primary key column of the String type cannot exceed 1 KB. |
Size of the value in an attribute column of the String type | 2 MB | The size of a value in an attribute column of the String type cannot exceed 2 MB. |
Size of the value in a primary key column of the Binary type | 1 KB | The size of a value in a primary key column of the Binary type cannot exceed 1 KB. |
Size of the value in an attribute column of the Binary type | 2 MB | The size of a value in an attribute column of the Binary type cannot exceed 2 MB. |
Limits on rows
Resource | Limit | Description |
Number of attribute columns in a row | None | N/A. |
Size of data in a row | None | Tablestore does not impose limits on the total size of column names and column values in a row. |
Limits on operations
Operation | Limit | Description |
Maximum number of attribute columns written by using a request | 1,024 | When you call the PutRow, UpdateRow, or BatchWriteRow operation, you can write up to 1,024 attribute columns in a single row. |
Number of columns specified by using the columns_to_get parameter in a read request | 0 to 128 | When you initiate a read request to read a single row of data, up to 128 columns of the row can be returned. |
Queries per second (QPS) on the metadata of tables | 10 | The QPS on the metadata of tables in an instance cannot exceed 10. For more information about specific operations on the metadata of tables, see Operations on a data table. |
Number of UpdateTable operations on a single table | None | The limit on the number of UpdateTable operations on a single table varies based on the limit on the frequency of adjustment for a single table. |
Frequency of calling the UpdateTable operation on a single table | Once every 2 minutes | The reserved read or write throughput for a single table can be changed once every 2 minutes at most. |
Number of rows read by using a BatchGetRow request | 100 | N/A. |
Number of rows written by using a BatchWriteRow request | 200 | N/A. |
Size of data written by using a BatchWriteRow request | 4 MB | N/A. |
Size of data written by using a PutRow request | 4 MB | N/A. |
Size of data updated by using an UpdateRow request | 4 MB | N/A. |
Size of data scanned by using a GetRange request | 5,000 rows or 4 MB | The size of data returned at the same time by using a GetRange request cannot exceed 5,000 rows or 4 MB. When one of the limits is exceeded, the rows of data returned are truncated by row, and the primary key information of the next row of data is returned. |
Data size of an HTTP request body | 5 MB | N/A. |
Number of filters in a read request | 10 | N/A. |
Limits on features
Secondary index limits
Limits are imposed on the name of a secondary index, the maximum number of secondary indexes that can be created for a data table, and the primary key columns, attribute columns, and time to live (TTL) of a search index. For more information, see Secondary index limits.
Search index limits
Limits are imposed on the creation, data query, aggregation, and regions of search indexes. For more information, see Search index limits.
SQL limits
When you execute SQL statements to query data, limits are imposed on the primary key columns, attribute columns, size of data scanned by using a request, and the amount of time required for a single execution. For more information, see SQL limits.
Limits on the TimeSeries model
Limits are imposed on the name of a time series table, measurement name, data source, maximum number of columns written at the same time, and maximum number of rows written at the same time. For more information, see Limits on the TimeSeries model.