パフォーマンス最適化の判断 — 遅いワークブックを速くする改善手順
導入
ダッシュボードを開くたびに読み込みに時間がかかって困った経験はないでしょうか。Tableauのパフォーマンス問題は原因のパターンが決まっており、正しい手順で診断すれば大幅に改善できることがほとんどです。
くわしく知ろう
パフォーマンス最適化の出発点となるのが「パフォーマンスレコーダー」です。これはTableauに内蔵された診断ツールで、ビューの読み込み中にどの処理(クエリ実行・レンダリング・計算など)にどれだけ時間がかかっているかをウォーターフォール図で可視化します。ヘルプメニューから起動でき、計測後に生成されるワークブックを見ることで、ボトルネックとなっている処理を特定できます。
速度低下の代表的な原因のひとつがハイカーディナリティです。カーディナリティとはフィールドの取りうる値の種類数のことで、数百万件の一意のIDや細かい日時スタンプのように種類が膨大なフィールドをビューに配置すると、クエリが重くなります。こうしたフィールドは日付を年・月単位に丸めたり、カテゴリを粗い粒度に統合したりすることで負荷を下げられます。
データソース側の対策としては、ライブ接続を抽出(.hyper)に切り替えることが効果的な場合があります。ライブ接続はクエリのたびにデータベースにアクセスしますが、抽出はTableauが最適化した形式でローカルに保存しているため高速です。ただし抽出はリアルタイム性が下がるため、更新頻度との兼ね合いで判断する必要があります。
ビュー設計面では、1つのダッシュボードに多数のビューを詰め込まない、不必要なカスタム計算を減らす、フィルターに「データソースフィルター」を活用して最初に返すデータ量を絞る、といった手法が有効です。コンテキストフィルターは他のフィルターより先に評価されるため、絞り込みの効率を高める用途で使われます。
具体例
たとえばパフォーマンスレコーダーでクエリ実行が全体の80%を占めていると判明した場合、ライブ接続を抽出に変更したり、データソースフィルターで取得行数を絞ったりするアプローチが有効です。一方、レンダリング時間が長い場合はビューのマーク数を減らす設計変更が先決になります。
まとめ・試験ポイント
- パフォーマンスレコーダー=ボトルネックをウォーターフォール図で可視化する診断ツール
- ハイカーディナリティ=値の種類が多いフィールドはクエリを重くする
- ライブ接続→抽出への切り替えでクエリ速度が改善するケースが多い
- コンテキストフィルター=他フィルターより先に評価され、絞り込み効率を高める
- ダッシュボードのビュー数・マーク数を減らすこともパフォーマンス改善に有効
- 試験ではパフォーマンスレコーダーの役割とハイカーディナリティへの対処が問われる
学習した内容を模擬試験で確認しよう。Tableau Data Analyst模擬試験で実力を測ろう。
Tableau DA模擬試験を見る