概要と経緯
BIツールのDOMOでデータセットを作成する際、データが億単位まで達すると生成するのに多くの時間(1億レコードで3〜4時間)を要する上、カードを作ってもフィルターをかけたり、表示期間を変更すると表示が非常に遅くなります。そこで現在はレコード数が大きいデータに関してはクエリで集約してデータセットを作るようにしています。
集約するとしないのを比較検証
集約なしクエリ
SELECT
"jst_date"
,"user_id"
FROM
"access_hist"
集約ありクエリ
SELECT
"jst_date"
,COUNT("user_id") as user_cnt
FROM
"access_hist"
GROUP BY
"jst_date"
結果

集約すると処理時間はおよそ半分になりました!!
よく見るとData Outputで97万レコードと169レコードで大きな差があります。
Data Outputを少なくすることでDOMOの処理時間を大幅に減らせることがわかりました。
実際普段の仕事で使っているデータセットは2億レコードくらいあり、
集約をする前は処理に3時間かかっていたところ、集約をすると1時間ちょいで完了することができました。