System Limits
This topic specifies maximum sizes and numbers of various SingleStoreDB components. Use the following links to navigate to a section below:
Cluster-Level Limits
Item | Max Spec (enforced) | Max Spec (recommended) | Comments |
---|---|---|---|
Number of hosts in a cluster | None | Workloads that generate significant network traffic between hosts should be limited to clusters with smaller number of hosts. | |
Number of nodes in a cluster (includes leaves and aggregators) | None | Workloads that generate significant network traffic between nodes should be limited to clusters with smaller number of nodes. | |
Number of databases in a cluster | None | Each database requires memory for transaction buffer and more databases implies greater demand on available memory. | |
Concurrent queries in a cluster | None | Each aggregator will only actually execute a limited number of queries at once (defined by max_connection_threads, default 192). Beyond that concurrency, queries will be queued up. | |
Simultaneous client connections | 100,000 per aggregator | For more information, read about max_connections |
Database-Level Limits
Item | Max Spec (enforced) | Max Spec (recommended) | Comments |
---|---|---|---|
Number of tables in a database | Each table costs some per-table memory overhead. | ||
Number of partitions in a cluster | None | ||
Number of database partitions per node | 2414 |
Table-Level Limits
Item | Max Spec (enforced) | Max Spec (recommended) | Comments |
---|---|---|---|
Number of columns per table | 4096 | ||
Row size in bytes | 64KB * | Limit does not apply to variable-length strings such as VARCHAR, VARBINARY, TEXT, etc. | |
Length of names in characters (applies to table names, column names) | 64 | ||
Number of indexes per table | 63 | ||
Number of columns per index | 32 | ||
Number of tables in a join for each SELECT | 253 |
* The number of fields that will fit in the 64KB maximum row size is determined by the field types and how rows are laid out in the in-memory rowstore format. In some cases, writes (inserts and updates) to columnstore tables are implemented by storing the newly written rows in a rowstore format before flushing them to the column-oriented format. The row size limit applies to fixed-width data which includes a 4-byte nullability flag for nullable fields. The row size limit does not include the body of variable-width fields, but only the in-row portion, which includes an 8-byte memory location pointer and an optional 4-byte nullability flag. The sum of the in-row data size for all columns cannot exceed 64KB."
Naming Constraints
Item | Constraints |
---|---|
General |
|
Database names | Database names can only contain alphanumeric characters and underscores, and cannot start with a digit. |
Table names | Table names can contain both alphanumeric and non-alphanumeric characters, but cannot contain the |
Other database objects (stored procedures, views, user-defined functions, user-defined aggregate functions, and table-valued functions) | Maximum length of 64 characters. |
User names | Maximum length of 32 characters. |
Role names | No length limit. Cannot contain commas or spaces. |
Group names | No length limit. Cannot contain commas or spaces. |