Storage Engine
On the Storage Engine screen, you can check how much memory and disk the Leaf nodes of a SingleStore cluster use, and which databases and tables take up the space. You can also find tables whose data is concentrated on specific partitions, tables with merge delays, and tables with low compression.
Rowstore and Columnstore
SingleStore stores data in two ways.
- Rowstore stores data in memory by row. It is good for fast reads and writes but uses a lot of memory.
- Columnstore stores data on disk by column in compressed form. It is good for large-scale analysis and uses disk efficiently.
In the table list on the screen, the Storage column distinguishes the two. Reference tables, which keep the same data on every node, appear as Rowstore (reference) or Columnstore (reference).
Query options and collection intervals
- Time: Real time by default. You can also select a past point in 10-minute units.
- Cluster: Select the cluster to query. The first cluster in name order is selected initially.
Each type of data has a different collection interval. The top right of the screen shows the last collection time for each interval, and the top right of each panel shows the collection interval of its data.
| Data | Collection interval | Shown in |
|---|---|---|
| Node memory and disk usage | 5 seconds | Leaf memory and Leaf disk cards, node table |
| Rowstore, Columnstore | 1 hour | Databases, table list, Columnstore fragmentation trend |
| Partition statistics | 12 hours | Overview of the disk drawer |
During a real-time query, 5-second data refreshes about every 5 seconds. Table and partition information is queried again in 5-minute units.
Leaf memory and Leaf disk
The two cards at the top of the screen show the total usage of all Leaf nodes in used / total capacity format. The number next to the card title is the number of Leaf nodes.
- Leaf memory: Total memory usage of the memsqld processes on Leaf nodes and total host memory
- Leaf disk: Total usage and total capacity of the data disks on Leaf nodes
Nodes
The table shows memory and disk usage for each node in the cluster.
| Column | Description |
|---|---|
Node | Node name |
Role | Leaf, Master Aggregator, Child Aggregator |
Memsqld memory | memsqld process memory used / total (%) and trend over the last 1 hour |
Table memory | Memory used by tables / limit (%) and trend over the last 1 hour |
Disk | Disk used / total (%) and trend over the last 24 hours |
Click a memory cell to open the memory drawer, or click a row to open the disk drawer.
Memory drawer
| Area | Content |
|---|---|
| Overview | Semicircle gauge of Table memory, memsqld (Non-table), Others, and Available (Free). The center number is memsqld usage relative to host memory. Table Limit and memsqld Limit positions marked on the gauge |
| Usage trend | Table memory and memsqld usage over the last 1 hour. Limits shown as horizontal lines |
| Table | Rowstore tables on this node and their size on the node. Set the range with the Size filter |
Disk drawer
| Area | Content |
|---|---|
| Overview | Gauge of Data (Master), Data (Replica), Snapshot, Log, Temp, Etc, and free space. On aggregator nodes, data appears as Data (Reference) |
| Usage trend | Data, Snapshot, Log, and Temp usage over the last 7 days |
| Table | Columnstore tables on this node, their size on the node, and compression savings. Set the range with the Size filter |
On a Leaf node, if Log and Snapshot together are 3 times the data size or more, the Inspection required tag and the "Logs are N x data" message appear.
Databases and tables
The Database panel shows, for each database, the table count (Rowstore and Columnstore counts), memory, disk, row count, and partition count. The first row, All, is selected by default. Click a row to show only that database's tables in the table list below.
Find tables that need attention
The chips above the table list show how many tables need attention. Chip counts cover the whole cluster, and chips with no matching tables are hidden.
| Chip | Criteria |
|---|---|
| Skewed partitions | Tables whose largest partition is 2 times the average or more |
| Merge backlog | Tables with a partition that has 3 or more segment groups |
| Low compression | Columnstore tables of 10 MiB or more with compression savings under 33.3% |
Click a chip to show only those tables. Click it again to clear it.
Table list
In the Size filter, select the display range from All, ≥ 100 MiB, ≥ 1 GiB, Top 5, and Top 10. The default is Top 5. The selected value is saved in the URL and persists when you reopen the screen.
| Column | Description |
|---|---|
Table | Table name |
Storage | Rowstore, Columnstore. Reference tables marked (reference) |
Size | Table size. Default sort key (descending) |
Rows | Row count |
Compression | Compression savings (%). (1 − compressed size ÷ uncompressed size) × 100. Orange under 33.3%, green at 66.7% or more |
Partitions | Bar chart of size per partition and reported partitions/total partitions |
In the Partitions bar chart, partitions that are 1.5 times the reported partition average or larger are shown as orange bars. Click a bar to open the partition detail drawer. For more information, see Partition.
Table detail drawer
Opens when you click a table row in the table list or a drawer.
| Area | Content |
|---|---|
| Overview | Size or memory, row count, Cardinality, partitions in use, size and row count of the largest partition, skew multiples (Memory Skew, Row Skew, Disk Skew), uncompressed size, and compression savings |
| Partition allocation | Partition allocation per Leaf node (Master, Replica), Shard Key, and size share per node |
| Layout | Click Real-time query to load the table layout |
A skew multiple shows how many times larger the largest partition is than the average, in 1.50x format. Values of 1.5 times or more are orange, and 2 times or more are red. Tables with fewer than 10,000 rows show N/A, and tables that use only one partition show —.
Columnstore fragmentation trend
SingleStore manages Columnstore data as segments, and a background merger combines small segments. If the merger runs slower than the INSERT rate, the number of segment groups increases and query performance drops.
- The chart shows the cluster's total segment groups for today and a comparison day side by side. Select the comparison day in N days ago (1 to 30 days, default 1 day) and the aggregation in Max or Avg. (default Max).
- The Top 5 segment group counts table shows the 5 tables with the most segment groups. Maximum per partition is orange at 3 or more, and Δ24h is red when it increases and green when it decreases. Click a row to open the table detail drawer.
If the number of segment groups keeps increasing, consider running OPTIMIZE TABLE on that table.