公開ダッシュボード上のビジュアルの読み込み時間について

SPICEに保存しているAmazonS3およびAthenaのデータを利用して、ビジュアルで利用するデータセットを作成しています。(データは合計で約100万行・100列)

ローコード・ノーコードでの加工が前提条件となっているため、新しい準備エクスペリエンスを利用して、図のように段階に分けて(=新しいデータセットとして利用)事前加工・列結合 or 行結合を行っています。(1画面上に10個以上の処理を配置しており操作する度に数秒フリーズする状況のため、階層を分けて処理をする形を取っています)

上記の加工を経て作成したデータセットにてビジュアルを作成・ダッシュボードに配置しているのですが、ビジュアルの読み込み時間に数十秒かかる状況となっております。

この読み込み時間を可能な限り短く(数秒程度)したいと考えておりますが、階層や加工処理数を減らす以外に何か対策がないか、アドバイスを頂けないでしょうか。

@sanada.takayuki さん、Amazon Quick Community にようこそ!
ご質問ありがとうございます。

SPICEデータセットから作成したビジュアルの表示に数十秒かかるとのことですが、これはデータセット更新直後だけではなく、更新をかけていなくても毎回ビジュアルの表示に数十秒かかるということでしょうか?

私の手元で同様の100万行・100列のデータセットを用意し試したところ、データセットの更新には4-5分かかるものの、更新が完了した後はブラウザのキャッシュ有無に関わらず、ダッシュボードのロード直後にビジュアルが表示されており、特段の遅延は見られないため念のための確認になります。

もしデータセットの更新状況に関わらずビジュアルの表示に毎回時間がかかる場合、それがデータ作成のワークフローの内容に依るものかを切り分けるのが良いかと思います。基本的にSPICEに取り込んだデータはマテリアライズされているため、処理内容はビジュアルの表示時間にはダイレクトには影響しないと想定しています。分析で全てのフィールドを「値」として配置したテーブルを作成し、CSVにエクスポートし、再度そのCSVをアップロードすることで、単一ファイルからのデータセットが作成できますので、それでワークフローによる影響有無が確認できるかと思います。
(なお、CSVのエクスポートはちょうど100万行までなのですが、先に500MBのサイズ制限に到達した場合には、そこまでのデータとなるため、厳密な確認ができるとは限りません。)

仮にワークフローの内容に依存している場合はAthenaで事前に加工し、それをSPICEに取り込むことがワークアラウンドになるかと思います。

一方、ワークフローの内容には依存していなさそうな場合、分析/ダッシュボード表示時の計算負荷による遅延が考えられます。この場合、原因や改善ポイントは様々あるのですが、以下のブログにダッシュボード表示時間を最適化するためのTips(可能な計算フィールドをデータセット側に移す、等)がまとまっているので、こちらをご覧ください。

@ytakahr さん、ご連絡頂きましてありがとうございます。

SPICEデータセットから作成したビジュアルの表示に数十秒かかるとのことですが、これはデータセット更新直後だけではなく、更新をかけていなくても毎回ビジュアルの表示に数十秒かかるということでしょうか?

⇒記載頂いている通り、データセット更新に関係なくビジュアルの表示に数十秒かかっている状態となっております。

本日切り分けを行った結果として、データ作成のワークフローが影響していることが分かりました。

CSVとしてインポートした際は即時にビジュアルが表示されたこと、CSV同士を単純に行結合して500万行程度のデータを利用した場合も即時にビジュアルが表示されました。

計算された列の追加、フィルターでデータ行分割・個別処理後データ行結合を多用した場合、それ以降に作成されるすべてのデータセットにてビジュアルの表示に数十秒かかる現象が発生しております。

Athenaを自由に利用できない環境での構築をしており、他の回避策がないかを確認していたのですが、ビジュアルで利用しているデータセットから新規作成(直接クエリ)したものを利用したところ、平均して十秒前後で表示されるようになりました。(たまに数十秒と遅くなります)

引き続き検証を進めていく予定ですが、直接クエリの場合は結局のところ数十秒かかるデータセットの内容を読み込んでいる認識なので、なぜ改善されているのかが良く分かっていない状況です。

@sanada.takayuki さん、切り分け結果のご共有ありがとうございます。
データセット作成ワークフローの処理内容に依存している模様、また、当該データセットから作成した直接クエリの子データセットではレスポンスが改善している、と理解しました。

Athena等のデータソース側で事前に処理を行っておくことが自由にできないため、可能な限りQuick内に完結してデータセット作成を行いたいものと思いますが、これより先の調査は内部的な挙動の確認が必要となるため、AWSサポートにお問合せいただくのがよろしいかと思います。恐れ入りますがAWSサポートまでケース起票をお願いできますでしょうか。 サポートケースの作成方法につきましては、こちらのステップをご参照ください。

なお企業でお使いのAWSアカウントの場合、企業の管理者の方を通してケース起票することが必要な場合がございます。この点はお手数ですが貴社内でご確認いただけますと幸いです。

@ytakahr さん、承知いたしました。

AWSへの問い合わせを含め検討いたします。

ご対応頂きましてありがとうございました。