データ アクセラレーション

管理者は、特定のワークブックのデータ アクセラレーションを有効にして、パフォーマンスを向上できます。

パブリッシュされたワークブックやダッシュボードの読み込みは、次の 2 つのステップで行います。 

  1. クエリ: 基になるデータ ソースに接続してから必要なデータをフェッチします。
  2. レンダリング: レイアウト、図形の描画、色の割り当てなどの視覚的レンダリングを行います。

ワークブックの読み込み時間は、この 2 つのステップにかかる合計時間によって決まります。多くの場合、データ アクセラレーションによりクエリのステップが高速になります。Tableau Server でアクセラレーションを有効にしたワークブックの読み込みが高速になるのは、ワークブックのデータがバックグラウンド プロセスにより事前に計算されてフェッチされるためです。ただし、すべてのワークブックでデータ アクセラレーションの利点を活かすことができるわけではありません。データ アクセラレーションは、クエリのステップのパフォーマンスを向上させるだけなので、次の場合ではワークブックの読み込みが顕著に高速にならない可能性があります。

  • クエリのステップがすでに高速であり、負荷に対するパフォーマンスのボトルネックになっていない。
  • NOW() や TODAY() などの一時的な関数を使用している。
  • ユーザーごとに異なる結果を返すユーザー ベースの関数に依存している。すべてのユーザーの結果を事前に計算できる場合でも、CPU、メモリ、ストレージの使用量を大幅に増加させてしまう可能性があります。

このリリースで使用できる機能

データを事前に計算するには、Tableau Server がバックグラウンドでデータ ソースに接続する必要があるだけで、ユーザーによる操作は不要です。このため、データ アクセラレーションを使用できるのは、接続認証資格の情報が埋め込まれているワークブックのみです。

データ アクセラレーションを有効にすると、抽出が埋め込まれたワークブックのデータの読み込みは自動的に高速になりますが、パブリッシュされたデータ ソースとライブ データ ソースを持つワークブックには、アクセラレーションのスケジュールを追加する必要があります。

このリリースで使用できない機能

次のワークブックは現在対応していません。

  • 暗号化された抽出を使用するワークブック
  • ユーザーに認証資格情報を要求するワークブック
  • フェデレーション データ ソースからデータをフェッチするワークブック
  • データ ブレンドは一部対応していますが、セカンダリ データ ソースに対してクエリを実行したデータの読み込みは高速になりません。

ワークブックのデータ アクセラレーションを有効にする

既定ではワークブックのアクセラレーションが有効になっていません。

データ アクセラレーションを最も簡単に構成するには、accelerate_workbooks.py Python スクリプトを使用します。これは、Tableau データ アクセラレーション クライアント(新しいウィンドウでリンクが開く)の GitHub リポジトリからダウンロードできます。

または、Tableau Server REST API を使用することができます。詳細については、Tableau Server REST API ドキュメンテーションの「データ アクセラレーション」(新しいウィンドウでリンクが開く)を参照してください。

データ アクセラレーションのスケジュール設定

パブリッシュしたデータ ソースやライブ データ ソースを使用しているワークブックでアクセラレーションを有効にした場合、そのデータを最新の状態に保つには、Tableau Server によるバックグラウンドでの事前計算を定期的に行う必要があります。それには、抽出更新のスケジュール設定と同様に、事前計算のスケジュールを定義します。ここでは、スケジュールのタイプに DataAcceleration を使用する必要があります。

事前計算のユーザー コンテキスト

アクセラレーションを有効にしたワークブックの事前計算は、ユーザー 1 人によるユーザー コンテキストで実行されます。ユーザーは次のいずれかに該当します。

  • ワークブックの所有者 (ワークブックまたはデータ ソースにユーザー フィルターがない場合、またはデータ ソースにユーザー フィルターはあるが、データ ソースがパブリッシュされている場合)。
  • - または -
  • 前回ワークブックをパブリッシュしたときに、サムネイルの生成のために選択したユーザー (ワークブックにユーザー フィルターがあり、データ ソースがパブリッシュされていない場合)。

データ アクセラレーションのコスト

この機能を有効にすると、データ アクセラレーションのバックグラウンド プロセスによりデータ ソースから必要なデータがフェッチされるため、Tableau Server のバックグラウンドで処理される計算負荷とジョブ数が増加します。この機能を有効にしたワークブックのデータを事前に計算するバックグラウンド ジョブは、次のいずれかが発生した場合に実行されます。 

  • ワークブックをもう一度パブリッシュする (これには Web 編集の保存も含まれます)。
  • ワークブックで使用する抽出を更新する。 
  • DataAcceleration ワークブックに関連付けられたスケジュールされたタスクを実行する。

管理者は、多数のワークブックでデータ アクセラレーションを有効にしたり、アクセラレーション ジョブのスケジュールを頻繁に設定する前に、そのコストを検討してください。 

  • ワークブックを頻繁に編集してパブリッシュを繰り返す場合は、パブリッシュするたびに事前計算が行われるため、アクセラレーションには不向きです。アクセラレーションは、情報を開示するためにパブリッシュするワークブックに使用することをお勧めします。
  • ワークブックで複数の抽出を使用している場合は、その更新によってデータの事前計算がトリガーされます。そのため、この機能を有効にしたワークブックで抽出更新を頻繁に行う場合、特に、意図的な抽出更新を正常に行ったあとでデータ アクセラレーション ジョブを実行すると、バックグラウンド ジョブの負荷が急増することがあります。 
  • 埋め込み抽出を使用するワークブックの事前計算済みデータはディスクに保存され、パブリッシュしたデータ ソースとライブ データ ソースのデータはキャッシュ サーバーに保存されます。そのため、アクセラレーションにより、サーバーのディスク ストレージやキャッシュ メモリの使用量が増加することがあります。

注:この機能を使用する場合は、Tableau Server の外部キャッシュのサイズを 2 GB 以上に増やすことをお勧めします。現在の Tableau Server の外部キャッシュのサイズ設定を表示するには、tsm configuration get -k redis.max_memory_in_mb と入力してください。

Tableau Server の外部キャッシュのサイズを 2 GB に設定するには、tsm configuration set -k redis.max_memory_in_mb -v 2048 と入力し、さらに tsm pending-changes apply と入力します。詳細については、「tsm configuration set のオプション」(新しいウィンドウでリンクが開く)を参照してください。

ありがとうございます!