Key Visualizer の概要
このページでは、Bigtable 用 Key Visualizer 診断ツールの概要について説明します。
Key Visualizer とは
Key Visualizer は、Bigtable の使用パターンの分析に役立つツールです。テーブルにビジュアルなレポートを生成し、アクセスされた行キーごとに詳細情報を提供します。
Key Visualizer は、他の方法では得られない詳細な使用パターン情報を提供します。Key Visualizer の用途は次のとおりです。
- スキーマを反復方式で設計し、スキーマの設計を改善する。それぞれの反復で Key Visualizer を使用して、スキーマに起因する可能性のある問題を特定し、スキーマを微調整してから再度確認を行います。
- パフォーマンスの問題に対してトラブルシューティングを行う。
- Bigtable に保存されているデータへのアクセス方法を理解する。
これらの目的で Key Visualizer を使用すると、次のことを行うことができます。
- 読み取りまたは書き込みで、特定の行がホットスポット化していないかどうかを確認する。
- データ量が多すぎる行を特定する。
- テーブルの行全体がバランスよくアクセスされているかどうかを確認する。
Key Visualizer にはさまざまな指標が表示されますが、Bigtable のパフォーマンスに影響を及ぼす可能性がある指標がすべて表示されるわけではありません。たとえば、アプリケーションと Google Cloud の間にネットワークの問題がある場合、それらの問題は表示されない場合もあれば、Key Visualizer のすべてのキーで縦方向のバンドとして表示される場合もありますが、後者の場合に得られるのは問題が発生したタイミングについてのヒントのみです。Key Visualizer スキャンでパフォーマンス問題の原因を特定できない場合は、さらにトラブルシューティングを行う必要があります。
Key Visualizer スキャン
次の画像は、Key Visualizer スキャンの画面です。スキャン結果には異なる種類の情報が含まれています。
Key Visualizer には、スキャン結果の分析に役立つツールが用意されています。Key Visualizer を初めて使用する場合は、Key Visualizer スタートガイドをご覧ください。使用経験のある方は、ヒートマップの確認をご覧ください。
ヒートマップ
Key Visualizer スキャンのコア部分はヒートマップです。ここには、行キーの指標値が時系列で表示されます。ヒートマップの X 軸は時間を表す、Y 軸は行キーを表します。ある時点で行キーグループの指標値が低い場合、指標は「コールド」状態になり、暗い色で表示されます。値が高い場合は「ホット」状態になり、明るい色で表示されます。最高値は白で表示されます。
使用パターンが異なると、ヒートマップに表示されるパターンも変わるので、問題の部分を一目で特定できます。共通パターンの例については、ヒートマップのパターンをご覧ください。
デフォルトでは、Key Visualizer ヒートマップには Ops 指標が表示されます。これは、読み取りと書き込みを合わせた値を表します。ヒートマップに表示される指標はいつでも切り替えることができます。詳しくは、指標の切り替えをご覧ください。
一度に複数の指標を表示して、異なる指標間の関連性を見つけることもできます。
階層的な行キー
多くの場合、行キーは値の階層から構成され、それぞれの値が区切り文字で区切られています。たとえば、行キー memusage#1423523569918
には、メモリ使用状況をキャプチャするすべての行を表す ID と、そのグループ内の特定のデータセットを表すタイムスタンプが含まれます。
Key Visualizer は、このような行キーを自動的に認識してタブの階層に分割します(上の例の左側)。これにより、テーブル行に対するデータとアクセス パターンの分布を確認できます。また、特定の範囲の行キーの詳細もすぐに確認できます。
行キーが複数の値から構成されていない場合でも、Key Visualizer はスキャン結果の左側にタブを表示しますが、明示的な階層がある場合と異なり、予期しない方法で行キーが分割される可能性があります。
キーバケット
Bigtable テーブルに数兆個の行が含まれる可能性があります。このため、行ごとに指標をレポートするのは現実的でない場合もあります。Key Visualizer は、行キーを 1,000 個の連続範囲に分割し、それぞれの範囲にほぼ同じ数の行キーが含まれるようにします。この範囲をキーバケットといいます。
Key Visualizer の指標は、各キーバケット全体の平均値または各キーバケット内の最大値としてレポートされます。警告指標とパフォーマンス指標の場合、Key Visualizer は、キーバケット内の個々の行キーまたはキー範囲の指標をレポートすることで、より高い精度の情報を提供します。
Key Visualizer は、バックグラウンドで 15 分ごとに新しいスキャンデータを生成します。連続する期間でデータを連結できるように、Key Visualizer は前の 15 分間と同じキーバケットを維持します。削除されたキーがバケット境界として表示されることもあります。データが追加または削除されるとテーブルが変更されるため、キーバケットが再計算され、調整されます。
テーブルがあまり変更されていない場合でも、削除されたキーから残りのバケット境界を削除するため、Key Visualizer は 2 週間ごとに新しいキーバケットを生成します。このため、テーブルが安定していても、キーバケットが更新されることがあります。
集計値
Key Visualizer スキャンでは、ヒートマップの他に集計値も表示されます。集計値は、ヒートマップの右下に棒グラフで表示されます。集計値の上にカーソルを置くと、Key Visualizer のヒートマップの特定の領域がハイライトされ、次の情報が表示されます。
- X 軸には、現在の指標の平均値と一緒に合計値または最大値が表示されます。これらの値は、表示可能なすべてのキー範囲の 15 分間隔の値を表します。
- Y 軸には、現在の指標の平均値と一緒に表示可能な時間範囲がキー範囲ごとに表示されます。
制限
スキャンの最小テーブルサイズ
Key Visualizer は、1 クラスタあたり 1 GB 以上のデータが格納されているテーブルで使用できます。テーブルがそのサイズに達してからスキャンが使用できるようになるまでに、最大 1 時間かかります。
タイムスパン
- 最小: Key Visualizer で表示できる最小のタイムスパンは 15 分です。
- 最大: 表示可能な最大のタイムスパンは 14 日です。
- 増分サイズ: Key Visualizer データは 15 分単位で増分されます。
データ期間
Key Visualizer では、過去 14 日間のデータを利用できます。たとえば、12 月 19 日の午後 12 時 45 分に Key Visualizer を起動した場合、開始時間として 12 月 5 日の午後 12 時 45 分を選択できます。
また、Key Visualizer スキャンの URL をブックマークに登録するか、共有する場合、その URL の有効期間は最大 14 日になります。
次のステップ
- Key Visualizer の使い方を学習する。
- Key Visualizer ヒートマップに表示されるパターンを学習する。
- ヒートマップの確認方法を理解する。
- ヒートマップで確認できる指標について読む。
- Twitter が Key Visualizer を使用して Bigtable スキーマを設計した方法を動画で確認する。