Flexible Parallelism
On this page
SingleStore supports Flexible Parallelism (FP), which allows multiple cores on the same node to access the same database partition.
As cores are added to a SingleStore system, it is possible to reach a point where there are more cores than database partitions on each leaf node.
Typically, analytic or hybrid transactional/analytic workloads gain benefits from FP, especially over time as you add more hardware and rebalance clusters.
Types of Flexible Parallelism
There are two types of FP in SingleStore: sub-partition parallelism and segment parallelism.
Sub-Partition Parallelism
Sub-partition parallelism is available on databases with sub-partitions.
Sub-partitions are divisions of database partitions.sub_
variable controls the number of sub-partitions that are created per physical partition.sub_
is set to a valid value greater than 0 (a power of 2 up to 64) before a database is created, sub-partitions are created and sub-partition parallelism is available to queries on columnstore tables in that database.
Sub-partitions must be created at database creation time and cannot be created on existing databases.
To add sub-partitions to an existing database, create a database with sub-partitions and copy the tables from the original database to the new one.CREATE TABLE LIKE
and INSERT… SELECT
.
The maximum sub-partition parallelism is sub_
* number of physical partitions.
Segment Parallelism
For certain query shapes, the engine processes segments of columnstore tables in parallel.
Segment parallelism is controlled by the query_
engine variable as described in the following sections.
Sub-Partition vs. Segment Parallelism
Segment parallelism differs from sub-partition parallelism in the granularity of the work done by the query threads and in the queries to which parallelism may be applied.
In sub-partition parallelism, each query thread scans a pre-computed set of sub-partitions.
Segment parallelism is preferred over sub-partition level parallelism, when possible, but segment parallelism is only applicable to simple query shapes that do not utilize the shard key.
Flexible Parallelism Settings
New workspaces in SingleStore Helios are created with sub-partitions and can use sub-partition parallelism.
-
One physical partition per leaf core at database creation time
-
16 sub-partitions per physical partition
-
One thread per leaf core per query
If you’re an existing customer who began using SingleStore Helios before May 2022, and wish to use sub-partition parallelism, contact Support.
Last modified: June 26, 2025