ダッシュボードのキャッシュ
ダッシュボードは、描画するすべてのチャートの結果をキャッシュします。ダッシュボードを最初に開いた人のクエリはデータウェアハウスに対して実行され、その後に開く人には保存された結果が返されます。2回目の表示が1回目よりもはるかに速いのはこのためです。
キャッシュされた結果が破棄され、次の表示でウェアハウスに再クエリされるのは、次の2つの場合です。チャートの元になっているテーブルが再公開された場合と、結果がキャッシュの有効期間の終わりに達した場合です。
テーブルを再公開するとキャッシュされた結果が消去される
Section titled “テーブルを再公開するとキャッシュされた結果が消去される”ワークフローの実行でテーブルが再公開されると、そのテーブルを読み取るすべてのチャートは、キャッシュされた結果をただちに破棄します。ダッシュボードを次に開いた人には、待つことなく、手動で強制更新することなく、更新された数値が表示されます。
つまり、キャッシュが原因でダッシュボードに更新前の数値が表示されることはありません。ワークフローの実行後にダッシュボードが古く見える場合、原因はキャッシュではなくワークフローです。実行が完了したこと、そして想定したテーブルが再公開されたことを確認してください。
キャッシュの有効期間
Section titled “キャッシュの有効期間”キャッシュされた結果にはそれぞれ有効期間があり、その期間が過ぎると自動的に失効します。デフォルトは1時間です。
ダッシュボードを最新の状態に保つのは有効期間ではなく、再公開です。そのため、ワークフローを実行したときだけ変化するデータでは、短い有効期間には何のメリットもなく、大きなコストがかかります。最後の結果が失効した後の表示では、ウェアハウスにゼロから再クエリされるためです。朝のレビューや月次決算のようにまとめて使われるダッシュボードでは、ほぼすべての読み込みでこのコストが発生します。
2026年8月まで、デフォルトは5分でした。再公開してもキャッシュされた結果が確実に消去されなかったため、ダッシュボードを最新の状態に保つ手段が失効だけだったからです。再公開で消去されるようになった現在は、1時間でも安全で、コストもはるかに低くなっています。
変更頻度の低いテーブルでは、さらに長くすることもできます。たとえば、夜間に再読み込みされるテーブルには1日が適しています。その場合も、テーブルを再読み込みするワークフローは、新しいデータが反映された時点でキャッシュを消去します。
キャッシュの有効期間を変更する
Section titled “キャッシュの有効期間を変更する”有効期間は秒単位で、データベースまたは個々のデータセットに設定します。データセットの値はデータベースの値より優先され、どちらも設定していない場合はデフォルトの1時間が適用されます。どちらを変更する場合も、ダッシュボード領域で対応する編集権限が必要です。
データベース上のすべてのデータセットに設定する場合:
- ダッシュボード領域で Data → Databases に移動します
- データベースの編集アイコンをクリックします
- 高度タブを開き、Performance を開きます
- Chart cache timeout に秒単位で値を入力します。たとえば、1時間なら
3600です - Finish をクリックします
1つのデータセットに設定する場合:
- Data → Datasets に移動します
- データセットの編集アイコンをクリックします
- 設定タブを開きます
- Cache timeout に秒単位で値を入力します
- 保存をクリックします
2つの値には特別な意味があります。0 は失効しないことを意味し、結果は再公開によってのみ消去されます。-1 は、そのデータベースまたはデータセットのキャッシュを完全に無効にします。
変更は、その時点以降にキャッシュされた結果に適用されます。すでにキャッシュにある結果は、失効するかテーブルが再公開されるまで、保存されたときの有効期間のままです。
ダッシュボードを手動で更新する
Section titled “ダッシュボードを手動で更新する”必要になることはまれですが、ダッシュボードのキャッシュされた結果を自分で破棄することもできます。Edit dashboard の横にあるメニューを開き、Force refresh dashboard を選択します。チャートが古い結果を表示している場合は、右上に、データがどれくらい前にキャッシュされたかを示すメモが表示され、これをクリックしても同じ更新が強制されます。
ブラウザーのページを再読み込みするよりも、これらのいずれかの方法をお勧めします。ブラウザーを再読み込みすると、チャートは再リクエストされますが、キャッシュされた結果が返されます。