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

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

クエリのパフォーマンス

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

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

データセットの最適化

AI/BI dashboards データセットには、次のパフォーマンス最適化が含まれています。

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

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

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

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

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

複数ページのダッシュボードには、以下が適用されます。

  • ドラフトダッシュボードを編集すると、すべてのデータセットが読み込まれてキャッシュされます。

  • 閲覧者が公開済みダッシュボードを開くと、アクティブ ページをサポートするデータセットのみが実行され、キャッシュされます。

  • スケジュールが設定されている場合、すべてのデータセットはスケジュールに従って更新され、その結果はキャッシュされます。

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

ダッシュボードの種類

キャッシュの種類

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

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

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

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

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

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

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

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

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

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