💨

Tableauのパフォーマンスを速くするための基本

2022/01/16に公開

Tableauのダッシュボードを速くするための基本は、データの接続方法を「ライブ」接続ではなく「抽出」にすることです。

「ライブ」接続にしなければいけない要件は主に2つです。

  1. リアルタイムのデータを表示する必要がある時
  2. 扱うデータ量が多すぎて抽出ができない時

この2点にあてはまらない場合は「抽出」に切り替えましょう。「ライブ」接続を「抽出」に変更するだけで、多くの場合は速く表示されるようになります。

逆に、「2. 扱うデータ量が多すぎて抽出ができない時」に当てはまる場合は、今一度設計を見直してみるのがいいと思います。

私が設計段階でデータソースのレコード数とパフォーマンスの考え方を以下にまとめてみました。

レコード数 パフォーマンスの考え方
500万レコード以下 たいていは早く表示される。あまり気にする必要なし
2, 3000万レコード 抽出で問題なし。ある程度パフォーマンスを意識して作りこむ必要あり
1億レコード 抽出での限界に近い。設計からパフォーマンスを気にして作成する
5億以上 「ライブ」接続1択。 DBのチューニングも必要
※抽出できる限度はデータのカラム数やデータ型によって変わるので、このレコード数は設計時の目安です。

3000万レコードぐらいまでは、いろんな要望を組み込んだ上でパフォーマンスチューニングにとりかかりますが、それを超えてくるとパフォーマンスに悪影響がある機能(たくさんのクイックフィルタ―)などを避けた設計が必要になります。

レコード数はTableauのパフォーマンスに大きな影響を及ぼしますので、とにかく少ない方が望ましいです。ただ、とにかく少なくすれば速くなるわけではないこともあるので、データソース設計の考え方やテクニックは別の記事でまとめたいと思います。

データ量の関係上、どうしても「ライブ」接続にしなければならない場合でも、速くすることは可能です。
100億以上のレコードがあるデータソースを数秒で表示するダッシュボードを開発したことがありますので、「ライブ」接続の場合のテクニックも別でまとめたいと思います。

今回のまとめ

  • データ接続の基本は「抽出」
  • 抽出のレコードの限界の目安としては1億レコード
  • 3000万レコードを超える場合は、設計時からパフォーマンスを意識する必要がある
  • 500万レコード以下はたいていは速く表示可能

他のTableau関連の記事はこちら

Discussion