本文へスキップ

ストレージエンジン

ストレージエンジン画面では、SingleStoreクラスターのLeafノードがメモリとディスクをどれだけ使用しているか、どのデータベースとテーブルが領域を占めているかを確認できます。データが特定のパーティションに集中しているテーブル、マージが遅延しているテーブル、圧縮率が低いテーブルも併せて見つけられます。

RowstoreとColumnstore​

SingleStoreはデータを2つの方式で保存します。

  • Rowstore はデータをメモリに行単位で保存します。高速な読み取りと書き込みに有利ですが、メモリを多く使用します。
  • Columnstore はデータをディスクに列単位で圧縮して保存します。大容量の分析に有利で、ディスク効率が高いです。

画面のテーブル一覧では、Storage 列で2つの方式を区別します。すべてのノードに同じデータを置くReferenceテーブルは Rowstore (reference)、Columnstore (reference) と表示します。

照会条件と収集周期​

  • 時間: デフォルトはリアルタイムです。過去の時点を10分単位で選択することもできます。
  • クラスター: 照会するクラスターを選択します。最初は名前順で1番目のクラスターが選択されています。

データごとに収集周期が異なります。画面右上で収集周期別の最終収集時刻を確認でき、各パネルの右上にはそのデータの収集周期が表示されます。

データ収集周期表示される場所
ノードのメモリ、ディスク使用量5秒Leafメモリ、Leafディスクのカードとノード表
Rowstore、Columnstore1時間データベース、テーブル一覧、カラムストア断片化の推移
パーティション統計12時間ディスクドロワーの概要

リアルタイム照会中は、5秒周期のデータが約5秒ごとに更新されます。テーブルとパーティションの情報は5分単位で再照会します。

LeafメモリとLeafディスク​

画面最上部の2つのカードに、Leafノード全体の使用量を 使用量 / 全体容量 の形式で表示します。カードタイトル横の数字はLeafノード数です。

  • Leafメモリ: Leafノードのmemsqldプロセスのメモリ使用量の合計とホストメモリの合計
  • Leafディスク: Leafノードのデータディスクの使用量の合計と全体容量の合計

ノード​

クラスターのノードごとに、メモリとディスクの使用量を表で表示します。

ColumnDescription
Nodeノード名
RoleLeaf、Master Aggregator、Child Aggregator
Memsqld memorymemsqldプロセスのメモリ使用量 / 全体(%)と最近1時間の推移
Table memoryテーブルが使用するメモリ使用量 / 上限(%)と最近1時間の推移
Diskディスク使用量 / 全体(%)と最近24時間の推移

メモリのセルをクリックするとメモリドロワーが、行をクリックするとディスクドロワーが開きます。

メモリドロワー​

領域内容
概要テーブルメモリ、memsqld (Non-table)、Others、可用 (Free) の半円ゲージ。中央の数字はホストメモリに対するmemsqldの使用率。ゲージ上に Table Limit、memsqld Limit の位置を表示
使用量推移最近1時間のテーブルメモリとmemsqld使用量の推移。上限は横線で表示
テーブルこのノードにあるRowstoreテーブルとノード内のサイズ。サイズ フィルターで範囲を指定

ディスクドロワー​

領域内容
概要Data (Master)、Data (Replica)、Snapshot、Log、Temp、Etc、空き容量をゲージで表示。アグリゲーターノードではデータがData (Reference)として表示
使用量推移最近7日間のData、Snapshot、Log、Tempの使用量推移
テーブルこのノードにあるColumnstoreテーブルとノード内のサイズ、圧縮削減率。サイズ フィルターで範囲を指定

LeafノードでLogとSnapshotを合わせたサイズがデータの3倍以上になると、点検が必要です。 タグと「ログがデータのN倍」という案内が表示されます。

データベースとテーブル​

データベース パネルに、データベース別のテーブル数(RowstoreとColumnstoreの件数)、メモリ、ディスク、行数、パーティション数が表示されます。1行目の 全体 がデフォルトで選択されており、行をクリックすると下のテーブル一覧にそのデータベースのテーブルのみが表示されます。

注意が必要なテーブルを見つける​

テーブル一覧の上のチップで、注意が必要なテーブルの数を確認できます。チップの数字はクラスター全体が基準で、該当するテーブルがないチップは表示しません。

チップ基準
Skewed partitions最も大きいパーティションが平均の2倍以上のテーブル
Merge backlogセグメントグループが3個以上のパーティションがあるテーブル
Low compression10 MiB以上のColumnstoreテーブルのうち、圧縮削減率が33.3%未満のテーブル

チップをクリックすると該当するテーブルのみが表示され、もう一度クリックすると解除されます。

テーブル一覧​

サイズ フィルターで、All、≥ 100 MiB、≥ 1 GiB、Top 5、Top 10 から表示範囲を選択します。デフォルトは Top 5 で、選択した値はURLに保存されるため、画面を開き直しても維持されます。

ColumnDescription
Tableテーブル名
StorageRowstore、Columnstore。Referenceテーブルは (reference) を表示
Sizeテーブルサイズ。デフォルトのソート基準(降順)
Rows行数
Compression圧縮削減率(%)。(1 − 圧縮後のサイズ ÷ 圧縮前のサイズ) × 100。33.3%未満はオレンジ色、66.7%以上は緑色
Partitionsパーティション別サイズの棒グラフと 報告されたパーティション数/全体のパーティション数

Partitions の棒グラフでは、報告されたパーティションの平均より1.5倍以上大きいパーティションのバーがオレンジ色で表示されます。バーをクリックするとパーティション詳細ドロワーが開きます。詳細はパーティションを参照してください。

テーブル詳細ドロワー​

テーブル一覧やドロワーでテーブル行をクリックすると開きます。

領域内容
概要サイズまたはメモリ、行数、Cardinality、使用中のパーティション数、最も大きいパーティションのサイズと行数、偏り倍率(Memory Skew、Row Skew、Disk Skew)、圧縮前のサイズと圧縮削減率
パーティション配置Leafノード別のパーティション配置(Master、Replica)とShard Key、ノード別のサイズ比率
レイアウトリアルタイム照会 ボタンをクリックすると、テーブルレイアウト情報を照会

偏り倍率は、最も大きいパーティションが平均の何倍かを 1.50x の形式で表します。1.5倍以上はオレンジ色、2倍以上は赤色で表示します。行数が1万未満のテーブルは N/A、パーティションを1つだけ使うテーブルは — と表示します。

カラムストア断片化の推移​

SingleStoreはColumnstoreデータをセグメントで管理し、バックグラウンドのマージャーが小さなセグメントを統合します。マージャーの処理速度がINSERTの速度より遅いと、セグメントグループ数が増加して照会性能が低下します。

  • チャートは、クラスターのセグメントグループの合計を今日と比較日で並べて表示します。N日前(1~30日、デフォルト1日)で比較日を、最大値 または 平均値(デフォルトは最大値)で集計方式を選択してください。
  • セグメントグループ数Top5 の表に、セグメントグループが多いテーブル5個が表示されます。パーティションごとの最大 が3以上の場合はオレンジ色、Δ24h が増加した場合は赤色、減少した場合は緑色で表示します。行をクリックするとテーブル詳細ドロワーが開きます。

セグメントグループ数が増加し続ける場合は、そのテーブルに OPTIMIZE TABLE を実行するかどうかを検討してください。