Upgrade to Pro — share decks privately, control downloads, hide ads and more …

グノシーにおけるデータ分析基盤移行と Amazon QuickSight 導入について

グノシーにおけるデータ分析基盤移行と Amazon QuickSight 導入について

JAWS-UG ビッグデータ支部による 2022/04/14(木) 開催の『BigData-JAWS 勉強会#20』https://jawsug-bigdata.connpass.com/event/241265/ での発表資料です。

動画アーカイブはこちら: https://youtu.be/XmQ3c1FvpR8

Avatar for Izumu KUSUNOKI

Izumu KUSUNOKI

April 14, 2022
Tweet

More Decks by Izumu KUSUNOKI

Other Decks in Technology

Transcript

  1. 株式会社 Gunosy Gunosy Tech Lab Data Reliability & MLOps Group

    楠 湧夢 <KUSUNOKI Izumu> 2022年4月14日(木) グノシーにおけるデータ分析基盤移行と Amazon QuickSight 導入について
  2. (C) Gunosy Inc. All Rights Reserved. PAGE | 2 自己紹介

    - 楠 湧夢 < KUSUNOKI Izumu > (@iSM_kit) - Gunosy Tech Lab - Data Reliability & MLOps Group - 経歴 - 大学院修士課程: Wi-Fi 通信の応用技術 - Gunosy (2021/04 ~): データ基盤の開発運用 - 技術関心: 新しいもの好き - コンテナオーケストレーション , サービスメッシュ - DevOps, CI/CD, データ基盤, データマネジメント
  3. (C) Gunosy Inc. All Rights Reserved. PAGE | 3 本日話すこと

    - Gunosy 社内では SaaS 版 Redash を用いてデータ分析をしていた - 2021年12月の Redash サービス終了を期に、これからの分析基盤を検討 - その際、新たな BI ツールとして Amazon QuickSight を導入した - データ基盤の移行と QuickSight 導入としてやったことを共有 - 移行に際してどういう意思決定をしたのか、 組織論に関心のある方 - データ分析基盤ユースケースに関心がある、特に QuickSight に興味のある方 想定する視聴者
  4. (C) Gunosy Inc. All Rights Reserved. PAGE | 4 Gunosy

    の展開するメディアで取得されるデータを集約するデータレイク Baikal: Gunosy のデータ活用を支える統合データ基盤 Amazon RDS Amazon DynamoDB Amazon S3 AWS Glue Data Catalog Amazon Athena Data Source Data Lake AWS Lake Formation BI 一般社員 データ専門家
  5. (C) Gunosy Inc. All Rights Reserved. PAGE | 5 2021年12月の

    Hosted Redash End of Life に対応する必要が出てきた Baikal: Gunosy のデータ活用を支える統合データ基盤 What is happening? We are shutting down the hosted Redash service at app.redash.io, effective November 30, 2021. No new customer sign ups are allowed. Existing customers can continue to use the service free of charge until November 30, 2021. ref: https://redash.io/help/faq/eol 意訳:サービス終了します、 2021年11月30日まで利用できます BI 一般社員 データ専門家
  6. (C) Gunosy Inc. All Rights Reserved. PAGE | 6 Gunosy

    におけるデータ分析 いままで Redash はどう使われてきた?:「データ分析」を二つに分解する 1. ダッシュボードでの KPI モニタリング:改善 - 全社で情報を受動的に得る(届ける)ために使う - ダッシュボード用に使われるクエリの信頼性に難アリ - 2. のクエリと混在している・GitHub 管理にのってほしい 2. SQL を用いたアドホック分析:維持 - 仮説に基づいて能動的にインサイトを得るために使う - エキスパート以外も SQL を書ける文化 が強み* *Gunosy Tech Blog, 非エンジニアが最速で SQLをマスターする方法 BI 一般社員 データ専門家
  7. (C) Gunosy Inc. All Rights Reserved. PAGE | 7 データ分析と組織

    BI 一般社員 データ専門家 1. ダッシュボードでの KPI モニタリング:改善 - ダッシュボードからの分析を可能にする + 高信頼化 - Amazon QuickSight 導入 + Athena View 活用で達成 2. SQL を用いたアドホック分析:維持 - 全社で SQL を書いていく文化は継続したい - クエリ実行環境として 社内に Redash をホスティング これからのデータ分析、どうする?:利用コンテキストに応じて使い分ける [new!] Amazon QuickSight
  8. (C) Gunosy Inc. All Rights Reserved. PAGE | 8 Amazon

    QuickSight 導入 BI 一般社員 データ専門家 [new!] Amazon QuickSight なぜ QuickSight?:コスト面で優位と判断 1. セッション課金なので、利用しなければ安い - 利用時に都度 30 分アクセス権を買うイメージ 2. Editor / Reader アカウントを切り分けられる - Reader はダッシュボード閲覧のみ可能で安価 - せっかくライセンス買ったのに ...が発生しない 3. AWS サービスである - 新規導入に際して認知的負荷が少ないことを重視 - AWS サポートが受けられる・他サービスとの接続性
  9. (C) Gunosy Inc. All Rights Reserved. PAGE | 9 プロジェクト概要

    1. SaaS Redash → 社内 Self Hosted Redash - 既存クエリのバックアップ・Redash サーバーのホスト 2. QuickSight の導入 - Redash 側ダッシュボード調査 - ダッシュボードに必要なデータを Athena View で定義 - ダッシュボード作成(一部で BigQuery 使用) - Lambda function で共有設定自動化 移行のために以下の 2 項目の作業を実施
  10. (C) Gunosy Inc. All Rights Reserved. プロジェクト概要 1 SaaS Redash

    → 社内 Self Hosted Redash - 既存クエリのバックアップ・Redash サーバーのホスト QuickSight の導入 - Redash 側ダッシュボード調査 - ダッシュボードに必要なデータを Athena View で定義 - ダッシュボード作成(一部で BigQuery 使用) - Lambda function で共有設定自動化 2
  11. (C) Gunosy Inc. All Rights Reserved. プロジェクト概要 1 SaaS Redash

    → 社内 Self Hosted Redash - 既存クエリのバックアップ・Redash サーバーのホスト QuickSight の導入 - Redash 側ダッシュボード調査 - ダッシュボードに必要なデータを Athena View で定義 - ダッシュボード作成(一部で BigQuery 使用) - Lambda function で共有設定自動化 2
  12. (C) Gunosy Inc. All Rights Reserved. PAGE | 12 project

    1. SaaS Redash → Self Hosted Redash 01. 既存クエリのバックアップ - Redash 公式が python3 バックアップスクリプトを配布している - getredash/redash-toolbelt - この際に大掃除ということで、すべて移植はせずオンデマンドでコピー 02. Redash サーバーのホスト - コミュニティ管理の Helm チャートがあるので、社内 EKS に展開 - getredash/contrib-helm-chart 既存クエリのバックアップ・Redash サーバーのホスト Redash はこれで対応完了
  13. (C) Gunosy Inc. All Rights Reserved. プロジェクト概要 1 SaaS Redash

    → 社内 Self Hosted Redash - 既存クエリのバックアップ・Redash サーバーのホスト QuickSight の導入 - Redash 側ダッシュボード調査 - ダッシュボードに必要なデータを Athena View で定義 - ダッシュボード作成(一部で BigQuery 使用) - Lambda function で共有設定自動化 2
  14. (C) Gunosy Inc. All Rights Reserved. PAGE | 14 project

    2. QuickSight の導入 (1/4) Redash 側ダッシュボード調査 → 必要なデータを Athena View で定義 全社で Redash EoL を宣言、情報共有を呼びかけ - 各チームで現在使っているダッシュボードをスプレッドシートに - 優先度や使用頻度などを整理してもらう、場合によっては引き継がない - 別チーム間で同じものを見ていて、簡潔なクエリで集約できたりした 優先順位に従ってダッシュボードクエリを書き直す - QuickSight のデータソースとして Athena View を選択
  15. (C) Gunosy Inc. All Rights Reserved. PAGE | 15 project

    2. QuickSight の導入 (2/4) Athena View について:Athena に仮想テーブルとして登録できる集計処理 テーブル 03 テーブル 02 テーブル 01 BI 一般社員 データ専門家 Amazon QuickSight 集計ロジック Amazon Athena 実体データがない - 柔軟に変更可能 - 一貫性はない - SPICE 定期更新 ロジック共通化可能 - 定義ズレ問題解消 - 利用者負担減 低コスト - 専用ツールは過度 - IaC も容易: .tf のみ Data Lake
  16. (C) Gunosy Inc. All Rights Reserved. プロジェクト概要 1 SaaS Redash

    → 社内 Self Hosted Redash - 既存クエリのバックアップ・Redash サーバーのホスト QuickSight の導入 - Redash 側ダッシュボード調査 - ダッシュボードに必要なデータを Athena View で定義 - ダッシュボード作成(一部で BigQuery 使用) - Lambda function で共有設定自動化 2
  17. (C) Gunosy Inc. All Rights Reserved. PAGE | project 2.

    QuickSight の導入 (3/4) 17 ダッシュボード作成(& BigQuery もちょっと使用) ダッシュボード作成 - 優先度順 Biz 側の要件 - スプレッドシート利用 - BigQuery 連携で解決 - コネクテッドシート BI 一般社員 データ専門家 Amazon QuickSight テーブル 02 テーブル 01 Data Lake BigQuery Spread Sheet 集計ロジック Amazon Athena テーブル 03
  18. (C) Gunosy Inc. All Rights Reserved. プロジェクト概要 1 SaaS Redash

    → 社内 Self Hosted Redash - 既存クエリのバックアップ・Redash サーバーのホスト QuickSight の導入 - Redash 側ダッシュボード調査 - ダッシュボードに必要なデータを Athena View で定義 - ダッシュボード作成(一部で BigQuery 使用) - Lambda function で共有設定自動化 2
  19. (C) Gunosy Inc. All Rights Reserved. PAGE | 19 project

    2. QuickSight の導入 (4/4) カスタマイズする:Lambda function で共有設定・権限管理自動化 QuickSight のデータソース/分析/ダッシュボード等々は作成ユーザー単位 - ただ作成しても共有されない ← 共有自動化したい - ユーザーを、共有するための「グループ」に割り振る ← 自動化したい QuickSight 上のイベントで発火する lambda function 稼働 - ユーザー作成イベント → ルールに従ってグループ分け - リソース作成イベント → 作成者の所属するグループにも共有 Amazon QuickSight Amazon EventBridge AWS Lambda Event Rule
  20. (C) Gunosy Inc. All Rights Reserved. プロジェクト概要 1 SaaS Redash

    → 社内 Self Hosted Redash - 既存クエリのバックアップ・Redash サーバーのホスト QuickSight の導入 - Redash 側ダッシュボード調査 - ダッシュボードに必要なデータを Athena View で定義 - ダッシュボード作成(一部で BigQuery 使用) - Lambda function で共有設定自動化 2 すべて完了!
  21. (C) Gunosy Inc. All Rights Reserved. PAGE | 21 プロジェクトを終えて

    当初の目的を達成できた! データ分析基盤を二つにわけ、それぞれを使ってもらう - 維持:Redash による SQL の分析基盤 - 改善:QuickSight によるグラフィカル・インタラクティブな分析基盤 QuickSight 気になったポイント - QuickSight は Slack へのダッシュボードの定期通知が難しいと感じた - bot メッセージにグラフを載せて毎朝見る、などは難しい ... - redash だとリンクを貼ればメッセージ上にレンダリングされていた - GUI から操作できる部分が増えると嬉しいかもしれない - API 呼び出ししかないというケースがちらほら ... - CLI スクリプト管理はやや面倒