Lindorm enforces the following quotas and limits to maintain performance and stability. Review them before designing your schema, writing application code, or planning capacity.
The general limits in this topic apply to both Lindorm clusters and single-node Lindorm instances. Single-node instances have additional object and request limits described in Additional limits for single-node Lindorm instances.
General limits
Naming conventions
| Object | Naming convention |
|---|
| User name | 4–15 characters. Allowed: digits, letters, hyphens (-), underscores (_). Reserved words (cannot use): system, anonymous, lindorm. |
| Namespace name | 4–16 characters. Allowed: digits, letters, hyphens (-), underscores (_). Reserved words (cannot use): lindorm, default, global. |
| Table name | 1–255 characters. Allowed: digits, letters, hyphens (-), underscores (_). |
| Column name | 1–255 characters. |
Schema limits
| Object | Limit |
|---|
| Primary key columns per table | Maximum 5. The total length of all primary key values cannot exceed 2 KB. |
varbinary type on primary keys | Only the last primary key column can be of the varbinary type. |
| Non-primary key columns | Dynamic non-primary key columns support only the varbinary type. The total length of all non-primary key column values cannot exceed 2 MB. |
| Column families per table | Maximum 3. |
| Index tables per database | Maximum 5. |
| Table name | Cannot be modified after the table is created. |
Note Avoid using an auto-increment field, a time field, or a low-cardinality column as the first primary key column or as an index. Doing so degrades data distribution and performance.
Request limits
Write requests
| Condition | Behavior |
|---|
| Up to 64 MB or 2,000 rows per request | Normal write. |
| More than 50 files in a single region | Write latency increases. Check the file count per region from the table management overview. |
| More than 100 files in a single region | Errors may occur. |
| More than 200 files in a single region | Writes to that region are blocked until the file count drops below 200. |
Delete requests
| Limit | Value |
|---|
| Rows per request | Maximum 2,000. |
Read requests
| Limit | Value |
|---|
| Rows per request | Maximum 2,000, or 16 MB — whichever comes first. |
IN operator values per SQL query | Maximum 2,000. |
ORDER BY with LIMIT/OFFSET | LIMIT and OFFSET values cannot exceed 10,000. LIMIT is required when using ORDER BY. |
DISTINCT values per query | Maximum 1,000. Exceeding this limit causes an error. |
GROUP BY groups per instance | Maximum 1,000. Exceeding this limit causes an error. |
Important Every query must specify the first primary key column or the first index column. Queries that omit this constraint trigger a full table scan, which is rejected by default. If you must run a query without specifying the first primary key or index column, see the SELECT troubleshooting guide.
Additional limits for single-node Lindorm instances
Important Single-node Lindorm instances are for functional testing only. Do not use them for stress tests or production workloads. Service level agreements (SLAs) and data reliability are not guaranteed for single-node instances, and they cannot be upgraded to Lindorm clusters.
Object limits
| Object | Limit |
|---|
| Namespaces per instance | Maximum 3. |
| Tables per namespace | Maximum 20. |
| Concurrent connections | Maximum 2,000. |
Request limits
Read requests are throttled based on instance size. The following table shows the maximum compute units (CUs) consumed by read requests for each CPU configuration.
| CPU cores | Maximum read CUs |
|---|
| 2 | 10,000 CUs |
| 4 | 20,000 CUs |
| 8 | 50,000 CUs |
The following limits apply to all data requests on single-node instances, regardless of CPU configuration.
| Limit | Value |
|---|
| Rows per request (read or write) | Maximum 500. |
| Data per request (read or write) | Maximum 16 MB. |
| Key-value (KV) value size | Maximum 2 MB. |