sstablemetadata
関連する Statistics.db ファイルおよび Summary.db ファイルから sstable に関する情報を標準出力に出力します。
このツールを実行する前に Cassandra を停止する必要があります。停止しないと、予期しない結果が発生する可能性があります。注: このスクリプトは Cassandra が停止していることを確認しません。
使用方法
sstablemetadata <オプション> <sstable ファイル名(複数可)>
--colors |
ANSI カラーシーケンスを使用する |
--gc_grace_seconds <引数> |
計算時に使用する gc_grace_seconds |
--help |
ヘルプ |
--scan |
詳細な sstable スキャンを実行します。3.0 以降の sstable でのみ使用可能です。デフォルト: false |
--timestamp_unit <引数> |
セルのタイムスタンプが書き込まれる時間単位 |
--unicode |
Unicode を使用してヒストグラムとプログレスバーを描画する 削除可能なトゥームストーン |
すべてのメタデータを出力する
テーブルに関連する *Data.db ファイルに対して sstablemetadata を実行します。必要であれば、sstableutil を使用して *Data.db ファイルを探します。
例
$ sstableutil keyspace1 standard1 | grep Data /var/lib/cassandra/data/keyspace1/standard1-f6845640a6cb11e8b6836d2c86545d91/mc-1-big-Data.db $ sstablemetadata /var/lib/cassandra/data/keyspace1/standard1-f6845640a6cb11e8b6836d2c86545d91/mc-1-big-Data.db SSTable: /var/lib/cassandra/data/keyspace1/standard1-f6845640a6cb11e8b6836d2c86545d91/mc-1-big Partitioner: org.apache.cassandra.dht.Murmur3Partitioner Bloom Filter FP chance: 0.010000 Minimum timestamp: 07/08/2023 09:11:52 (1688800312685792) Maximum timestamp: 07/08/2023 09:12:03 (1688800323542149) Duration: Days: 0 Hours: 0 Minutes: 0 Seconds: 10 SSTable min local deletion time: 07/08/2023 09:11:52 (1688800312) SSTable max local deletion time: 07/08/2023 09:12:03 (1688800323) Compressor: org.apache.cassandra.io.compress.LZ4Compressor Compression ratio: 0.553999337227618 TTL min: 86400 TTL max: 86400 First token: -9223004712949498654 (key=39373333373831303130) Last token: 9222554117157811897 (key=4f3438394e39374d3730) Covered clusterings: ALL Estimated droppable tombstones: 0.9188263888888889 SSTable Level: 0 Repaired at: 0 Originating host id: badfcb83-a283-402b-818e-78ede00aa3c4 Pending repair: -- Replay positions covered: {CommitLogPosition(segmentId=1535025390651, position=226400)=CommitLogPosition(segmentId=1535025390651, position=6849139)} Total Column Cells: 72918 Total Rows: 24306 Estimated tombstone drop times: 1535039100: 80390 1535039160: 5645 1535039220: 13965 Count Row Size Cell Count 1 0 0 2 0 0 3 0 0 4 0 0 5 0 20000 6 0 0 7 0 0 8 0 0 10 0 0 12 0 0 14 0 0 17 0 0 20 0 0 24 0 0 29 0 0 35 0 0 42 0 0 50 0 0 60 0 0 72 0 0 86 0 0 103 0 0 124 0 0 149 0 0 179 0 0 215 0 0 258 20000 0 310 0 0 372 0 0 446 0 0 535 0 0 642 0 0 770 0 0 924 0 0 1109 0 0 1331 0 0 1597 0 0 1916 0 0 2299 0 0 2759 0 0 3311 0 0 3973 0 0 4768 0 0 5722 0 0 6866 0 0 8239 0 0 9887 0 0 11864 0 0 14237 0 0 17084 0 0 20501 0 0 24601 0 0 29521 0 0 35425 0 0 42510 0 0 51012 0 0 61214 0 0 73457 0 0 88148 0 0 105778 0 0 126934 0 0 152321 0 0 182785 0 0 219342 0 0 263210 0 0 315852 0 0 379022 0 0 454826 0 0 545791 0 0 654949 0 0 785939 0 0 943127 0 0 1131752 0 0 1358102 0 0 1629722 0 0 1955666 0 0 2346799 0 0 2816159 0 0 3379391 0 0 4055269 0 0 4866323 0 0 5839588 0 0 7007506 0 0 8409007 0 0 10090808 0 0 12108970 0 0 14530764 0 0 17436917 0 0 20924300 0 0 25109160 0 0 30130992 0 0 36157190 0 0 43388628 0 0 52066354 0 0 62479625 0 0 74975550 0 0 89970660 0 0 107964792 0 0 129557750 0 0 155469300 0 0 186563160 0 0 223875792 0 0 268650950 0 0 322381140 0 0 386857368 0 0 464228842 0 0 557074610 0 0 668489532 0 0 802187438 0 0 962624926 0 0 1155149911 0 0 1386179893 0 0 1663415872 0 0 1996099046 0 0 2395318855 0 0 2874382626 0 3449259151 0 4139110981 0 4966933177 0 5960319812 0 7152383774 0 8582860529 0 10299432635 0 12359319162 0 14831182994 0 17797419593 0 21356903512 0 25628284214 0 30753941057 0 36904729268 0 44285675122 0 53142810146 0 63771372175 0 76525646610 0 91830775932 0 110196931118 0 132236317342 0 158683580810 0 190420296972 0 228504356366 0 274205227639 0 329046273167 0 394855527800 0 473826633360 0 568591960032 0 682310352038 0 818772422446 0 982526906935 0 1179032288322 0 1414838745986 0 Estimated cardinality: 20196 EncodingStats minTTL: 0 EncodingStats minLocalDeletionTime: 1442880000 EncodingStats minTimestamp: 1535025565275000 KeyType: org.apache.cassandra.db.marshal.BytesType ClusteringTypes: [org.apache.cassandra.db.marshal.UTF8Type] StaticColumns: {C3:org.apache.cassandra.db.marshal.BytesType, C4:org.apache.cassandra.db.marshal.BytesType, C0:org.apache.cassandra.db.marshal.BytesType, C1:org.apache.cassandra.db.marshal.BytesType, C2:org.apache.cassandra.db.marshal.BytesType} RegularColumns: {} IsTransient: false
gc grace seconds を指定する
設定済みの gc grace seconds を考慮した削除可能なトゥームストーンの比率を確認するには、gc_grace_seconds オプションを使用します。 sstablemetadata ツールはスキーマに直接アクセスしないため、これは削除可能なトゥームストーンをより正確に推定する方法です。たとえば、スキーマで設定されている gc_grace_seconds と一致する値を渡す場合などです。指定された gc_grace_seconds 値は、現在のマシン時刻 (秒単位) から減算されます。
例
$ sstablemetadata /var/lib/cassandra/data/keyspace1/standard1-41b52700b4ed11e896476d2c86545d91/mc-12-big-Data.db | grep "Estimated tombstone drop times" -A4 Estimated tombstone drop times: 1536599100: 1 1536599640: 1 1536599700: 2 $ echo $(date +%s) 1536602005 # if gc_grace_seconds was configured at 100, all of the tombstones would be currently droppable $ sstablemetadata --gc_grace_seconds 100 /var/lib/cassandra/data/keyspace1/standard1-41b52700b4ed11e896476d2c86545d91/mc-12-big-Data.db | grep "Estimated droppable tombstones" Estimated droppable tombstones: 4.0E-5 # if gc_grace_seconds was configured at 4700, some of the tombstones would be currently droppable $ sstablemetadata --gc_grace_seconds 4700 /var/lib/cassandra/data/keyspace1/standard1-41b52700b4ed11e896476d2c86545d91/mc-12-big-Data.db | grep "Estimated droppable tombstones" Estimated droppable tombstones: 9.61111111111111E-6 # if gc_grace_seconds was configured at 100, none of the tombstones would be currently droppable $ sstablemetadata --gc_grace_seconds 5000 /var/lib/cassandra/data/keyspace1/standard1-41b52700b4ed11e896476d2c86545d91/mc-12-big-Data.db | grep "Estimated droppable tombstones" Estimated droppable tombstones: 0.0
テーブルのスキャン
`--scan` オプションを指定して、テーブルに関する追加の統計情報を取得できます。これは時間がかかる場合があります。
例
sstablemetadata -s /var/lib/cassandra/data/data/ks/tb-dbead8501c9511ee805bb3deafc4499b/oa-1-big-Data.db
これにより、次のような統計情報が得られます。
Size: 120 Partitions: 2 Rows: 5 Tombstones: 0 Cells: 5 Widest Partitions: [2] 3 [1] 2 Largest Partitions: [2] 147 (147 B) [1] 98 (98 B)
上記で出力される各値の説明
値 | 説明 |
---|---|
SSTable |
この sstable に関連する sstable ファイル名のプレフィックス |
パーティショナー |
ノード間でデータを分散するために使用されるパーティショナーの種類。cassandra.yaml で定義されます。 |
ブルームフィルタ FP |
読み取りで使用されるブルームフィルタの精度。テーブル定義で定義されます。 |
最小タイムスタンプ |
この sstable 内のエントリの最小タイムスタンプ (エポックマイクロ秒) |
最大タイムスタンプ |
この sstable 内のエントリの最大タイムスタンプ (エポックマイクロ秒) |
期間 |
最大タイムスタンプと最小タイムスタンプの差 |
SSTable 最小ローカル削除時間 |
TTL に基づく削除日時の最小タイムスタンプ (エポック秒) |
SSTable 最大ローカル削除時間 |
TTL に基づく削除日時の最大タイムスタンプ (エポック秒) |
コンプレッサー |
デフォルトでは空白 (-)。空白でない場合は、テーブルで有効になっている圧縮の種類を示します。 |
TTL 最小 |
有効期間 (秒)。テーブル定義で定義されていない限り、デフォルトは 0 です。 |
TTL 最大 |
有効期間 (秒)。テーブル定義で定義されていない限り、デフォルトは 0 です。 |
最初のトークン |
sstable サマリーで見つかった最小のトークンと関連キー |
最後のトークン |
sstable サマリーで見つかった最大のトークンと関連キー |
推定削除可能トゥームストーン |
トゥームストーンとカラムの比率。設定されている場合は gc grace seconds を使用します。 |
SSTable レベル |
レベリングコンパクション (LCS) が使用されている場合、この sstable のコンパクションレベル |
修復日時 |
この sstable が sstablerepairedset によって修復済みとしてマークされたタイムスタンプ (エポックミリ秒) |
対象リプレイポジション |
この sstable に関連する時間と commitlog ポジションの間隔 |
totalColumnsSet |
テーブル内のセルの数 |
totalRows |
テーブル内の行の数 |
推定トゥームストーン削除日時 |
期限切れになる行の概数 (エポック秒順) |
行サイズカウント セルカウント |
2 つのカラムの 2 つのヒストグラム。1 つは行サイズの分布を表し、もう 1 つはセルカウントの分布を表します。 |
推定カーディナリティ ユニーク値の推定値。コンパクションに使用されます。 |
EncodingStats* minTTL |
エポックミリ秒単位 |
EncodingStats* minLocalDeletionTime |
エポック秒単位 |
EncodingStats* minTimestamp |
エポックマイクロ秒単位 |
KeyType |
パーティションキーの種類。ストレージとのデータの読み書きに役立ちます。テーブル定義で定義されます。 |
ClusteringTypes |
クラスタリングキーの種類。ストレージとのデータの読み書きに役立ちます。テーブル定義で定義されます。 |
StaticColumns |
テーブル内の共有カラムのリスト |
RegularColumns |
`*` エンコード統計値の場合、この値と現在のエポック時間の差分は、データを最適な方法でエンコードおよび保存するときに使用されます。