データセットの最適化とキャッシュ

ダッシュボードは貴重なデータ分析および意思決定ツールであり、効率的な読み込み時間により、ユーザーエクスペリエンスを大幅に向上させることができます。 この記事では、キャッシュとデータセットの最適化によってダッシュボードのパフォーマンスと効率がどのように向上するかについて説明します。

クエリのパフォーマンス

ワークスペースのクエリ履歴でクエリとそのパフォーマンスを検査できます。 クエリ履歴には、SQLウェアハウスを使用して実行されたSQLクエリが表示されます。 クリック履歴アイコンクエリ履歴を表示するには、サイドバーの「クエリー履歴」をクリックしてください。 「 クエリ履歴」を参照してください。

ダッシュボードの データセット の場合、 Databricksデータセットの結果のサイズに応じてパフォーマンスの最適化を適用します。

データセットの最適化

ダッシュボード データセットには、次のパフォーマンス最適化が含まれています。

  • データセットの結果のサイズが小さい場合 (64K 行未満)、データセットの結果はクライアントにプルされ、視覚化固有のフィルタリングと集計がクライアント上で実行されます。 小さなパラメータのデータのフィルタリングと集計は非常に高速であり、パラメータを小さくすることでダッシュボードのパフォーマンスを最適化できます。 パラメータが小さい場合、クエリ履歴にはパラメータのクエリのみが表示されます。

  • データセットの結果サイズが大きい場合 (64K 行以上)、データセットのクエリ テキストは SQL WITH句でラップされ、視覚化固有のフィルタリングと集計はクライアントではなくバックエンドのクエリで実行されます。 大規模なデータセットの場合、視覚化クエリはクエリ履歴に表示されます。

  • バックエンドに送信される視覚化クエリの場合、同じGROUP BY句とフィルター述語を共有する同じデータセットに対する個別の視覚化クエリが、処理のために 1 つのクエリに結合されます。 この場合、クエリ履歴には、複数の視覚化の結果をフェッチしている 1 つの結合クエリが表示される場合があります。

キャッシュとデータの鮮度

ダッシュボードは、ベストエフォート方式で動作し、初期読み込み時間を最適化するために 24 時間の結果キャッシュを維持します。 つまり、システムは常にダッシュボードの資格情報にリンクされた履歴クエリ結果を使用してパフォーマンスを向上させようとしますが、キャッシュされた結果を作成または維持できない場合があります。

次の表は、ダッシュボードのステータスと資格情報によってキャッシュがどのように異なるかを示しています。

ダッシュボードの種類

キャッシュの種類

資格情報が埋め込まれた公開済みダッシュボード

共有キャッシュ。 すべての視聴者に同じ結果が表示されます。

資格情報が埋め込まれていない下書きダッシュボードまたは公開済みダッシュボード

ユーザーごとのキャッシュ。 閲覧者には、データ権限に基づいて結果が表示されます。

ダッシュボードは、最後のクエリの後、基になるデータが変更されていない場合、または結果が 24 時間以内に取得された場合、キャッシュされたクエリ結果を自動的に使用します。 古い結果が存在し、引数がダッシュボードに適用されている場合、過去 24 時間以内に同じ引数が使用されない限り、クエリは再実行されます。 同様に、64,000 行を超えるデータセットにフィルターを適用すると、過去 24 時間以内に同じフィルターが適用されていない限り、クエリが再実行されます。

スケジュールされたクエリ

資格情報が埋め込まれた公開済みダッシュボードにスケジュールを追加すると、すべてのダッシュボード閲覧者の初期読み込みプロセスを大幅に高速化できます。

スケジュールされたダッシュボードの更新ごとに、次の処理が行われます。

  • データセットを定義するすべての SQL ロジックは、指定された時間間隔で実行されます。

  • 結果はクエリ結果キャッシュに入力され、ダッシュボードの初期読み込み時間を改善するのに役立ちます。