はじめに
2018年に発表されたQuickSightのBlackBeltと2020年に発表されたアップデート機能の内容をまとめました。一部公式ドキュメントなどから2023年時点での情報を追加しています。
内容の順番や表現を変えている部分もございます。
2018年
2020年
QuickSightの役割
大規模データの分析基盤の可視化を担当するサービス
- 収集
- 保存
- 分析
- 可視化 ←ここを担当
QuickSightの特徴
ユースケース
- AWS上のRDS/RedshiftやS3にデータを蓄積している
- 分析をすぐに、ローリスクで開始したい
- BIサーバを運用する人材が居ないが分析はしたい
- どこからでもアクセスできるBI環境が欲しい
利用イメージ
下記の3種類のアクターが存在。
- QuickSight管理者
- データソース定義
- 分析用データセットを準備
- QuickSightユーザ(分析)
- データソースを分析
- QuickSightユーザ(閲覧)
- レポートを閲覧
データソースとの接続
- QuickSightからデータソースにアクセスする
- データソースにはパブリックなアクセスが基本だったが、現在はプライベートなアクセス方法も充実している様子
- 他リージョンやオンプレのデータソースにもアクセス可能
- 対応リージョン(こちらから最新情報を確認できる)
- 米国東部 (オハイオ) (us-east-2)
- 米国東部 (バージニア北部) (us-east-1)
- 米国西部 (オレゴン) (us-west-2)
- アジアパシフィック (ムンバイ) (ap-south-1)
- アジアパシフィック (ソウル) (ap-northeast-2)
- アジアパシフィック (シンガポール) (ap-southeast-1)
- アジアパシフィック (シドニー) (ap-southeast-2)
- アジアパシフィック (東京) (ap-northeast-1)
- カナダ (中部) (ca-central-1)
- ヨーロッパ (フランクフルト) (eu-central-1)
- 欧州 (アイルランド) (eu-west-1)
- ヨーロッパ (ロンドン) (eu-west-2)
- 欧州 (パリ) (eu-west-3)
- 欧州 (ストックホルム) (eu-north-1)
- 南米 (サンパウロ) (sa-east-1)
- AWS GovCloud (米国西部) (gov-west-1)
- 対応リージョン(こちらから最新情報を確認できる)
SPICE
- インメモリ処理に最適化されたDB
- フルマネージド
- カラムナ
- データソースのデータをSPICEに保存し高速処理が可能
- S3上のファイルや、PC上のファイルはSPICEに取り込むことで分析が可能になる
- RDB(RDS)、Athena、RedshiftのデータはSPICE無しで直接SQLを発行してアクセス、もしくはSPICEに一部取り込むかを選択できる
- 自動ディスカバリ機能により自動でデータソースを追加できる
- リージョン内のRDS/Redshiftは自動的にインスタンスが検索され、ホスト名やDB名、ポート番号は入力不要
- S3やRDS、Redshiftの読み取りアクセスをQuickSightに付与する事で自動ディスカバリーやS3連携が可能になる
- ホスト名、ポート番号、ID、パスワード等を指定して手動で接続する事も可能
- SPICEへのデータ取り込みをスケジュール実行できる
- 繰り返しの最小単位は一日置き
- 全データを読み直す(差分更新ではない)
- QuickSightStandard Editionでは、1ユーザあたり10GBのSPICE用領域が利用可能
- SPICE領域は追加で購入可能
- 不要になった分を返却も可能
- 購入したリージョンで使用可能
- 総量がユーザ全員で共有される
分析手順
- データソースを準備
- 抽出してデータセット作成
- アップロードファイル、S3 → SPICEに取り込み
- RDB → SPICEを利用するか選べる
- 加工
- 列名のリネーム
- 不要な列の削除
- 計算フィールド(Calculated field)の追加
- 使える関数はこちらを参照
- ジョイン
- 型の変換
- フィルタ条件の追加
- カスタムクエリの登録
- 分析
- ビジュアルタイプ
- 棒グラフ(水平・垂直)
- 積み上げ棒グラフ(水平・垂直)
- 100%積み上げ棒グラフ(水平・垂直)
- 折れ線グラフ
- エリアラインチャート(面グラフ)
- ピボットテーブル
- フラットテーブル
- 散布図
- ツリーマップ
- 円グラフ
- ヒートマップ
- KPI
- コンボチャート
- 地理空間
- ゲージ
- ドーナツ
- ワードクラウド
- オートグラフで自動選択も可能
- カスタマイズも可能
- 複数のビジュアルタイプを組み合わせる
- 色、配置、アグリゲーションなどのカスタマイズ
- フィルタで任意の値をグラフから排除できる
- 軸の階層を定義し、ドリルダウン分析可能
- ストーリー
- 分析結果をキャプチャして保存できる
- ダッシュボードの共有
- 閲覧のみの共有
- フィルタによる絞り込み以外の操作ができない
- 閲覧のみの共有
- ビジュアルタイプ
ユーザ管理
- 最初にAdminユーザを作成
- Adminユーザがユーザを追加
- IAMユーザかメールアドレスを指定
- ユーザ指定で課金が発生
- 追加したユーザ間でストーリーやダッシュボードを共有できる
- モバイルからでもアクセス可能
- iOS, Androidアプリもある
エディションと費用
- Standard Edition
- 標準的なBI機能を全て提供される
- Enterprise Edition
- 運用のための機能が追加されるイメージ
- データ暗号化(Encryption at Rest)
- Active Directory との統合
- Managed Microsoft ADやAD Connectorを通して既存のADにも接続可能
- 行レベルのセキュリティ(RLS)
- プライベートVPC接続プレビュー
- 運用のための機能が追加されるイメージ
データソース側のセキュリティグループ
QuickSightサービスのIPアドレスレンジが公開されているので、そのIPアドレスからのみSQLアクセスを許可するようにセキュリティグループを設定する
レポート
- ダイナミックレポート
- 常にデータソースの最新状態を反映
- レポートの閲覧や変更をするたびにデータソースにアクセス(SQLクエリ)が発生
- 静的なレポートの作成方法
- RDBで静的なデータマートを作成
- SPICEに取り込む
- RDBから表の一部をデータセットとして取り込む
- CSVやEXCELデータを取り込む
- データソースから負荷をオフロードできる
GUIがサポートする言語
- デンマーク語
- ドイツ語
- 英語
- スペイン語
- フランス語
- イタリア語
- オランダ語
- ノルウェー語
- ポルトガル語
- フィンランド語
- スウェーデン語
- 日本語
- 韓国語
- 簡体字中国語
- 繁体字中国語
MLインサイト
- MLベースの異常検知:自動的に異常値を発見し、報告
- MLベースの予測:過去の値から将来を予測
- 自動ナラティブ:分かりやすい文章で分析結果を提供
SageMakerとの連携
- ビルトインモデル以外に、独自のモデルを利用可能に
- SageMakerで作成した独自モデルと連携
- ポイント&クリックで連携:コーディング不要
- 可視化とインサイトを高速化
Webサイトへのダッシュボード埋め込み
- フル機能のダッシュボードを埋め込み可能
- iFrameでの埋め込み
- JavaScriptの埋め込み用ライブラリを提供
- 閲覧には、QuickSightへのサインインが必要
- ユーザIDによって表示するデータを変えたり(行レベルセキュリティ)デフォルト値を変える(ダイナミックデフォルト)事が可能
- QuickSightアカウントを持たない人は閲覧できないため、パブリックWebサイトには不向き
テーマ
- 各種要素や背景、テキストの色、ボーダーの幅等を好みに合わせてカスタマイズ“テーマ”として保存しておくことが可能に
- ダークテーマにも対応
条件付き書式(conditional format)
- 条件に合わせたカラーグラデーションや、追加のアイコン等を指定可能
- 例
- 収益に合わせてアイコンをつける
- 達成率上位25%は青色にする
アクション(ワンクリックフィルタ)
グラフやチャートの特定の項目をクリックすると、その項目についてフィルタリングができるようになる機能
- 既存のフィルタ機能
- 用意されているダイアログやパラメータに値を指定して、フィルタする
- アクション
- ビジュアルをクリックすると、クリックされた値やディメンジョンでフィルタ
- 引数を付けてURLを呼び出す事も可能
クロスソースジョイン
- 複数のデータソースにまたがったジョインを実現
- 3つ以上のソースからのジョインにも対応
- 結果セットがSPICEに格納されるため、サイズに注意
- SPICEでの1データセットの最大サイズ
- Enterprise Edition : 最大1億行(もしくは200GB)
- Standard Edition : 最大2,500万行(もしくは25GB)
きめ細かなアクセスコントロール(Fine Grained Access Control)
- ユーザがアクセスできるデータソースを制限する機能
- IAMポリシーをQuickSightユーザやグループに紐付けておくと、データソースへのアクセス時に反映される
- S3, Athena, RDS, Redshiftに対応
- 過去との互換性のため、デフォルト全許可の設定も可能
Athena Workgroup サポート
- QuickSightがAthenaのWorkgroupをサポート
- Athenaデータセット作成時に、利用するWorkgroupを指定可能に
- Athena Workgroupによる分離
- スキャン量の最大値等の制限
- ログや結果出力のバケットを分離等
レベル対応の集計(LAA : Level Aware Aggregations)
- 表示時点の集計とは”別のレベル”で集計を行う関数(SQLのWindow関数に近い働き)
- 例)顧客の売上合計が100,000以下は集計しない
- salesPerCustomer= sumOver({売上},[{顧客ID}],PRE_AGG)
- 集計関数を適用するタイミングを指定できる
- PRE_FILTER
- PRE_AGG
- POST_AGG_FILTER
APIの機能拡充
- 各種APIが追加
- JavaScript
- Java
- .NET(C#)
- Python 3
- CLI をサポート
- ユーザ・グループ操作
- データソース、データセット操作
- SPICE操作
- 埋め込み
- テンプレート
- 事前作成の雛形と任意のデータセットを元にダッシュボードを作成