ord7 Performance Best Practice 復習
こんばんは。Riekoです。
今回はord7について、私なりに復習したことをまとめます。
個人の見解なので、間違っている可能性もあります。
あくまで参考にしてください。
Q1
パフォーマンスが悪いと、Tableauでせっかく実現しようとしていた、vizを見て瞬時に理解することでShort-Term Memoryを使う思考のプロセスを阻害してしまう。
思考のフローに乗るためには、Short-Term Memoryを空けておくことが大事。
ぐるぐる回っているアイコンを見ると、思考のフローが途切れてしまう。
Q2&Q3
表計算で処理される機能
マーク
表計算
ソート
↑主にビジュアライズする部分がTableau側の処理
DB側で処理される機能
結合
集計
計算
↑データを取得するプロセスはDB側に依頼する
Q4
Serverは色んな処理を一度にしているので、遅くなりやすい。
ただ、Tableauがどこにあるかが大事。
サーバーにあればそのサーバーが処理を頑張っているし、Tableau DesktopでローカルPCで処理している場合、ローカルPCが頑張っている。
Q5&Q6
Tableauはデータソースの件数を減らす機能が備わっている。
これ以上小さな粒度で集計しない場合や、いらないデータ項目がある場合、それらをフィルターしておくとよい
Q7&Q8
トランザクションデータとマスタデータを結合する場合、
同じデータベース上にあれば結合を利用し、異なるデータベース上に存在すればクロスデータベース結合を利用するのが速い。
トランザクション同士の結合だと、結合を利用すると行が増えてしまうので、集計してからくっつけるブレンドを利用するとよい
Q9
Tableauのデータエンジン(データの更新・抽出に使われるもの)は相対的なもので、データエンジンが比較的早いケースと遅いケースがある。
比較的遅いケースは高速マシンのクラスタの場合で、ライブ接続の方が速くなる。データエンジンが比較的早いケースは最適化されていないデータベースの場合。
Q10
Q5&6と同じ。
Tableauは不必要なデータをフィルターしたり、必要なデータを抽出したりすることができる。
Q11
行レベル計算を1つ目の計算式に入れ、集計計算でその計算式を格納する方が速くなるし、だらだらと長い計算式を書くより可読性が高くなる。
Q12
計算式よりネイティブ機能を使うこと。
ネイティブ機能は処理が遅くならないように設計されているが、計算式はそうはいかないのでネイティブ機能の方がパフォーマンスがよい
Q13
データ型の処理の速さは
整数
ブール
文字列
なるべく文字列を使わないことが大切
Q14
ネイティブ機能を使った方が速いのでそれを使うこと。
それができない事情があればDATEPARSE(日付を指定した形式で日付型に変換する)を使う
Q15
不連続のフィルターはデータを全て持ってくる必要があるため遅い。
連続は、データの範囲だけとってこればいいので不連続より早い。
相対日付はもっと早く、NOW()やTODAY()は日付ではないので、一瞬で取ってこれる可能性が高くなる
Q16
項目がデータに依存しないフィルターは速く、データを全て表示するフィルターは遅い。
カスタム値やワイルドカードなどは、入力が完了して初めてクエリが走るが、項目がデータに依存するフィルターはその項目を表示するためだけにクエリが走る。
Q17
「関連値のみ」とは、2つのフィルターがあったらそれを連動させることができる。ただ、そのために余計なクエリが走るのでその分重くなる
Q18
クエリパイプラインは以下の順
抽出フィルター
データソースフィルター
コンテキストフィルター
FIXED
セットフィルター
ディメンションフィルター
INCLUDE/EXCLUDE
メジャーフィルター
表計算フィルター
Q19
Tableauは本来visualを表示するものである。
大量のクロス集計表は大量のマークがあるので、その分重くなる。
チャートにした場合、特に連続にするとマーク数が減るのでその分速い。
Q20
ダッシュボードのサイズを自動にすると、
画面サイズが変わるたびにレンダリングを行うのでその分遅くなる
Q21
フィルターは、それ自体から何も得られないが、フィルターアクションにするとシートからインサイトを得ると同時にそれを選択などして動きを生じさせることができる。このように、パフォーマンスがよいように工夫すると他の人が見たときにもわかりやすいデザインになる。
おわりに
ord7はあまり迷わずにクリアしてしまったので、
その分自分の言葉で説明するのに結構てこずりました。
最終試練の復習としてKTチャンネルを見てまとめ、
さらにもう一度ord7を復習してよかったです。
ここまで読んでくださって、ありがとうございます。
Rieko