Skip to main content

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.

DataCollection intervalShown in
Node memory and disk usage5 secondsLeaf memory and Leaf disk cards, node table
Rowstore, Columnstore1 hourDatabases, table list, Columnstore fragmentation trend
Partition statistics12 hoursOverview 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.

ColumnDescription
NodeNode name
RoleLeaf, Master Aggregator, Child Aggregator
Memsqld memorymemsqld process memory used / total (%) and trend over the last 1 hour
Table memoryMemory used by tables / limit (%) and trend over the last 1 hour
DiskDisk 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​

AreaContent
OverviewSemicircle 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 trendTable memory and memsqld usage over the last 1 hour. Limits shown as horizontal lines
TableRowstore tables on this node and their size on the node. Set the range with the Size filter

Disk drawer​

AreaContent
OverviewGauge of Data (Master), Data (Replica), Snapshot, Log, Temp, Etc, and free space. On aggregator nodes, data appears as Data (Reference)
Usage trendData, Snapshot, Log, and Temp usage over the last 7 days
TableColumnstore 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.

ChipCriteria
Skewed partitionsTables whose largest partition is 2 times the average or more
Merge backlogTables with a partition that has 3 or more segment groups
Low compressionColumnstore 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.

ColumnDescription
TableTable name
StorageRowstore, Columnstore. Reference tables marked (reference)
SizeTable size. Default sort key (descending)
RowsRow count
CompressionCompression savings (%). (1 − compressed size ÷ uncompressed size) × 100. Orange under 33.3%, green at 66.7% or more
PartitionsBar 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.

AreaContent
OverviewSize 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 allocationPartition allocation per Leaf node (Master, Replica), Shard Key, and size share per node
LayoutClick 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.