This topic describes the general limits of Tablestore. You can tailor the table schemas and row sizes to improve performance.
Limits on instances
Resource | Limit | Description |
The number of instances created within an Alibaba Cloud account | 10 | If your business requirements are not met due to the limit, submit a ticket. |
The number of tables in an instance | 64 | The number of tables is the sum of the numbers of data tables, secondary indexes, time series metadata tables, and time series data tables. Important A time series table includes a time series metadata table and a time series data table. If your business requirements are not met due to the limit, submit a ticket. |
The length of an instance name | 3 bytes to 16 bytes | The name of an instance can contain letters, digits, and hyphens (-). The name must start with a letter and cannot end with a hyphen (-). |
Limits on tables
Resource | Limit | Description |
The length of a table name | 1 byte to 255 bytes | The name of a table can contain letters, digits, and underscores (_). The name must start with a letter or an underscore (_). |
The reserved read capacity units (CUs) and reserved write CUs of a single table | 0 CU to 100,000 CUs | If your business requirements are not met due to the limit, submit a ticket. |
The 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, predefined columns can be used as the index columns or attribute columns of the index table. For more information, see Overview. Important Predefined columns are not required when you use a search index. |
Limits on columns
Resource | Limit | Description |
The length of a column name | 1 byte to 255 bytes | The column name can contain letters, digits, and underscores (_). The name must start with a letter or an underscore (_). |
The number of columns in a primary key | 1 to 4 | A primary key can contain one to four primary key columns. |
The size of a 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. |
The size of a 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. |
The size of a value in a BINARY primary key column | 1 KB | The size of a value in a BINARY primary key column cannot exceed 1 KB. |
The size of a value in a BINARY attribute column | 2 MB | The size of a value in a BINARY attribute column cannot exceed 2 MB. |
Limits on rows
Resource | Limit | Description |
The number of attribute columns in a single row | Unlimited | None. |
The size of a single row | Unlimited | Tablestore does not impose limits on the total size of column names or column values for a row. |
Limits on operations
Operation | Limit | Description |
The number of attribute columns written by one request | 1,024 | During a PutRow, UpdateRow, or BatchWriteRow operation, the number of attribute columns written in a row cannot exceed 1,024. |
The number of columns specified in columns_to_get in a read request | 0 to 128 | The maximum number of columns obtained from a row of data in a read request cannot exceed 128. |
The 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 table-level operations, see the "Table operations" section of the Operations on tables topic. |
The number of UpdateTable operations on a single table | Unlimited | The limit on the number of UpdateTable operations on a single table follows the limit on the frequency of adjustment for a single table. |
The 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 adjusted once every 2 minutes at most. |
The number of rows read by one BatchGetRow request | 100 | None. |
The number of rows written by one BatchWriteRow request | 200 | None. |
The size of data written by one BatchWriteRow request | 4 MB | None. |
The size of data in the row inserted by one PutRow request | 4 MB | None. |
The size of data updated by one UpdateRow request | 4 MB | None. |
The size of data scanned by one GetRange request | 5,000 rows or 4 MB | The size of data returned at a time by one GetRange request cannot exceed 5,000 rows or 4 MB. When one of the limits is exceeded, the rows of data to return are truncated, and the primary key information of the next row of data is returned. |
The data size of an HTTP request body | 5 MB | None. |
The number of filters in one read request | 10 | None. |