💨
Tableauのパフォーマンスを速くするための基本
Tableauのダッシュボードを速くするための基本は、データの接続方法を「ライブ」接続ではなく「抽出」にすることです。
「ライブ」接続にしなければいけない要件は主に2つです。
- リアルタイムのデータを表示する必要がある時
- 扱うデータ量が多すぎて抽出ができない時
この2点にあてはまらない場合は「抽出」に切り替えましょう。「ライブ」接続を「抽出」に変更するだけで、多くの場合は速く表示されるようになります。
逆に、「2. 扱うデータ量が多すぎて抽出ができない時」に当てはまる場合は、今一度設計を見直してみるのがいいと思います。
私が設計段階でデータソースのレコード数とパフォーマンスの考え方を以下にまとめてみました。
レコード数 | パフォーマンスの考え方 |
---|---|
500万レコード以下 | たいていは早く表示される。あまり気にする必要なし |
2, 3000万レコード | 抽出で問題なし。ある程度パフォーマンスを意識して作りこむ必要あり |
1億レコード | 抽出での限界に近い。設計からパフォーマンスを気にして作成する |
5億以上 | 「ライブ」接続1択。 DBのチューニングも必要 |
※抽出できる限度はデータのカラム数やデータ型によって変わるので、このレコード数は設計時の目安です。 |
3000万レコードぐらいまでは、いろんな要望を組み込んだ上でパフォーマンスチューニングにとりかかりますが、それを超えてくるとパフォーマンスに悪影響がある機能(たくさんのクイックフィルタ―)などを避けた設計が必要になります。
レコード数はTableauのパフォーマンスに大きな影響を及ぼしますので、とにかく少ない方が望ましいです。ただ、とにかく少なくすれば速くなるわけではないこともあるので、データソース設計の考え方やテクニックは別の記事でまとめたいと思います。
データ量の関係上、どうしても「ライブ」接続にしなければならない場合でも、速くすることは可能です。
100億以上のレコードがあるデータソースを数秒で表示するダッシュボードを開発したことがありますので、「ライブ」接続の場合のテクニックも別でまとめたいと思います。
今回のまとめ
- データ接続の基本は「抽出」
- 抽出のレコードの限界の目安としては1億レコード
- 3000万レコードを超える場合は、設計時からパフォーマンスを意識する必要がある
- 500万レコード以下はたいていは速く表示可能
Discussion