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

データ分析と私たち

Cf14f4e867682556820d937eeb267fc4?s=47 odash
August 02, 2021

 データ分析と私たち

Data Engineering Study#9登壇資料です。
https://forkwell.connpass.com/event/214982/

Cf14f4e867682556820d937eeb267fc4?s=128

odash

August 02, 2021
Tweet

Transcript

  1. Bengo4.com, Inc. データ分析と私たち 2021.8.3 弁護士ドットコム株式会社 SRE室 小田島 拓

  2. Bengo4.com, Inc. 2 専門家をもっと身近に 世界中の人達が「生きる知恵=知的情報」をより自由に活用できる社会を創り、 人々が幸せに暮らせる社会を創造するため、「 専門家をもっと身近に 」を理念として、 人々と専門家をつなぐポータルサイト「弁護士ドットコム」「税理士ドットコム」「ビジネスロイヤーズ」 Web完結型クラウド契約サービス「クラウドサイン」を提供しています

    経営理念 
  3. Bengo4.com, Inc. 3 データ分析とどのように関わっていますか?

  4. Bengo4.com, Inc. 4 データ分析とどのように関わっていますか? 規模に依って基盤や組織、関わり方が変わるはず 当社の事例についてお話します

  5. Bengo4.com, Inc. 5 400 300 200 100 0 2010 フェイズ①

    ~分析基盤のおこり~ 2010年頃 社員10人程 フェイズ② ~redash導入~ 2017年頃 社員100~150人程 フェイズ③ ~基盤再構築~ 2019年以降 社員200~300人程 年 社員数(人) 分析基盤の歴史 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021
  6. Bengo4.com, Inc. 6 400 300 200 100 0 2010 フェイズ①

    ~分析基盤のおこり~ 2010年頃 社員10人程 フェイズ② ~redash導入~ 2017年頃 社員100~150人程 フェイズ③ ~基盤再構築~ 2019年以降 社員200~300人程 年 社員数(人) 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021
  7. Bengo4.com, Inc. フェイズ① 規模感と環境の話 • 2010年頃 / 社員数10人程度 • 個人開発のBIツールが爆誕

    ◦ Yiiの学習用に作成したがいつのまにか社内公式ツールに ◦ 有料会員数等の知りたい情報を表示する管理画面を作成した ◦ 利用者増加に伴い機能に不満が出てきた 7
  8. Bengo4.com, Inc. フェイズ① 規模感と環境の話 • 2010年頃 / 社員数10人程度 • 個人開発のBIツールが爆誕

    ◦ Yiiの学習用に作成したがいつのまにか社内公式ツールに ◦ 有料会員数等の知りたい情報を表示する管理画面を作成した ◦ 利用者増加に伴い機能に不満が出てきた 8 当該ツールの • slackの検索結果97件 • esaの記事19件
  9. Bengo4.com, Inc. フェイズ① 規模感と環境の話 • 2010年頃 / 社員数10人程度 • 個人開発のBIツールが爆誕

    ◦ この頃Yiiに載せ替える動きがあり、学習用に作成した 9 ※YiiはPHPフレームワークです
  10. Bengo4.com, Inc. フェイズ① 規模感と環境の話 • 2010年頃 / 社員数10人程度 • 個人開発のBIツールが爆誕

    ◦ この頃Yiiに載せ替える動きがあり、学習用に作成した ▪ が、いつのまにか社内公式ツールに ◦ 有料会員数等の知りたい情報を表示する管理画面を作成した ◦ 利用者増加に伴い機能に不満が出てきた 10
  11. Bengo4.com, Inc. フェイズ① 規模感と環境の話 • 2010年頃 / 社員数10人程度 • 個人開発のBIツールが爆誕

    ◦ この頃Yiiに載せ替える動きがあり、学習用に作成した ▪ が、いつのまにか社内公式ツールに ◦ 有料会員数等の知りたい情報を表示する管理画面を作成した ◦ 利用者増加に伴い機能に不満が出てきた ◦ 利用者増加に伴い機能に不満が出てきた 11 クエリのGit管理ができ作成意図が分かる仕様だったが 自由にクエリを書けず分析しにくい環境だったらしい
  12. Bengo4.com, Inc. フェイズ① 組織と基盤の話 • 組織的には・・・ ◦ SREだけで管理運用していた ◦ ユーザーがSREに依頼してデータを抽出

    ◦ ユーザーが少なく運用上問題なかった • 基盤的には・・・ ◦ (恐らく)EC2インスタンスでホスティングしているだけ ◦ 本番用DBに繋いでおり、稀に重いクエリが流れる 12
  13. Bengo4.com, Inc. フェイズ① 組織と基盤の話 • 組織的には・・・ ◦ エンジニアが管理運用していた ◦ エンジニアに依頼してデータを抽出

    ◦ 依頼者が少なく運用上問題なかった • 基盤的には・・・ ◦ (恐らく)EC2インスタンスでホスティングしているだけ ◦ 本番用DBに繋いでおり、稀に重いクエリが流れる 13
  14. Bengo4.com, Inc. フェイズ① 組織と基盤の話 • 組織的には・・・ ◦ エンジニアが管理運用していた ◦ エンジニアに依頼してデータを抽出

    ◦ 依頼者が少なく運用上問題なかった • 基盤的には・・・ ◦ (恐らく)EC2インスタンスでホスティングしているだけ ◦ 本番用DBに繋いでおり、稀に重いクエリが流れる 14
  15. Bengo4.com, Inc. フェイズ① 組織と基盤の話 • 組織的には・・・ ◦ エンジニアが管理運用していた ◦ エンジニアに依頼してデータを抽出

    ◦ 依頼者が少なく運用上問題なかった • 基盤的には・・・ ◦ (恐らく)EC2インスタンスでホスティングしているだけ ◦ 本番用DBに繋いでおり、稀に重いクエリが流れる 15
  16. Bengo4.com, Inc. フェイズ① まとめ • Yiiとりあえずやってみよう!から始まった • とりあえずデータ見て分析してみた(本番データで) • 基盤、組織共にあまり考慮されていなかった(と思われる)

    ◦ 機能の問題、構成の問題からredashの導入を検討 16 人数が少ないので必要な コミュニケーションは取れていた
  17. Bengo4.com, Inc. フェイズ① まとめ • Yiiとりあえずやってみよう!から始まった • とりあえずデータ見て分析してみた(本番データで) • 基盤、組織共にあまり考慮されていなかった(と思われる)

    • 機能の問題、構成の問題からredashの導入を検討 17
  18. Bengo4.com, Inc. 18 400 300 200 100 0 2010 フェイズ①

    ~分析基盤のおこり~ 2010年頃 社員10人程 フェイズ② ~redash導入~ 2017年頃 社員100~150人程 フェイズ③ ~基盤再構築~ 2019年以降 社員200~300人程 年 社員数(人) 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021
  19. Bengo4.com, Inc. フェイズ② 規模感と環境の話 19 • 2017年頃 / 社員数100~150人程度 •

    redashが導入された ◦ 本番用DBから分析用DBを用意する仕組みも出来た • データサイエンス室が発足 ◦ 事業部へのヒアリング、ダッシュボード作成提供など
  20. Bengo4.com, Inc. フェイズ② 規模感と環境の話 20 • 2017年頃 / 社員数100~150人程度 •

    redashが導入された ◦ 本番用DBから分析用DBを用意する仕組みも出来た • データサイエンス室が発足 ◦ 事業部へのヒアリング、ダッシュボード作成提供など
  21. Bengo4.com, Inc. フェイズ② 規模感と環境の話 21 • 2017年頃 / 社員数100~150人程度 •

    redashが導入された ◦ 本番用DBから分析用DBを用意する仕組みも出来た • データサイエンス室が発足 ◦ 事業部へのヒアリング、ダッシュボード作成提供など redashの • slackの検索結果約40,000件 • esaの記事1,433件
  22. Bengo4.com, Inc. フェイズ② 規模感と環境の話 22 • 2017年頃 / 社員数100~150人程度 •

    redashが導入された ◦ 本番用DBから分析用DBを用意する仕組みも出来た • データサイエンス室の誕生 ◦ 事業部へのヒアリング、ダッシュボード作成提供など
  23. Bengo4.com, Inc. フェイズ② 基盤の話 23 • 分析用DBを用意する仕組みはできたが

  24. Bengo4.com, Inc. フェイズ② 基盤の話 24 • 分析用DBを用意する仕組みはできたが ◦ 各事業部が好きなように分析DBへの経路を確保していた ◦

    事業部毎にやっているので連携方式が統一されていない ◦ 全体を把握している人はいなかった
  25. Bengo4.com, Inc. フェイズ② 基盤の話 25

  26. Bengo4.com, Inc. フェイズ② 基盤の話 26 分析用DB redash本体 BigQuery 分析用DBに データを入れる仕組み

    データソースは複数
  27. Bengo4.com, Inc. フェイズ② 組織の話 27 各サービス事業部 各サービス事業部 各サービス事業部 データサイエンス室 分析/ダッシュボード作成依頼

    ダッシュボード提供/ヒアリング • データサイエンス室が事業部との橋渡しを行いダッシュボード作成提供等していた • 基盤の管理はSRE・・・? ◦ データ収集、蓄積基盤などの環境構築(BQへの転送の仕組み等) ◦ S3でホスティングするBIツール開発運用 データの理解 検証に長けていた
  28. Bengo4.com, Inc. フェイズ② まとめ • 本番環境に影響を及ぼさない構成にはなった ◦ 基盤の管理運用は誰がするのか不明な状態 • 様々な人が関わるようになり分析は高度化した

    ◦ 権限管理ができておらず、誰でも全てのデータが見れた • 関係部署間で十分なコミュニケーションを行えていなかった 28
  29. Bengo4.com, Inc. フェイズ② まとめ • 本番環境に影響を及ぼさない構成にはなった ◦ 基盤の管理運用は誰がするのか不明な状態 • 様々な人が関わるようになり分析は高度化した

    ◦ 権限管理ができておらず、誰でも全てのデータが見れた • 関係部署間で十分なコミュニケーションを行えていなかった • 技術的負債を片付けつつ基盤の再構築を目指すことにした 29
  30. Bengo4.com, Inc. 30 400 300 200 100 0 2010 フェイズ①

    ~分析基盤のおこり~ 2010年頃 社員10人程 フェイズ② ~redash導入~ 2017年頃 社員100~150人程 フェイズ③ ~基盤再構築~ 2019年以降 社員200~300人程 年 社員数(人) 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021
  31. Bengo4.com, Inc. フェイズ③ 規模感と環境の話 31 • 2019年以降 / 社員数200~300人程度

  32. Bengo4.com, Inc. フェイズ③ 規模感と環境の話 32 • 2019年以降 / 社員数200~300人程度 •

    事業部とSREの会議体を持つようになった
  33. Bengo4.com, Inc. フェイズ③ 規模感と環境の話 33 • 2019年以降 / 社員数200~300人程度 •

    事業部とSREの会議体を持つようになった ◦ 技術的負債を片付けた ◦ 基盤再構築を開始した
  34. Bengo4.com, Inc. フェイズ③ 負債を片付けた話① 34 • redashをEC2からECSに移行、v5からv8へ ◦ 導入段階からほぼバージョンアップされていなかった・・・? ◦

    よく落ちるEC2からECS Fargateに移行して安定稼働するようにした
  35. Bengo4.com, Inc. フェイズ③ 負債を片付けた話② 35 • DataSunrise(DBプロキシ)を採用し、カオスな経路をシンプルにした

  36. Bengo4.com, Inc. フェイズ③ 負債を片付けた話② 36 • DataSunrise(DBプロキシ)を採用し、カオスな経路をシンプルにした

  37. Bengo4.com, Inc. フェイズ③ 負債を片付けた話② 37 • DataSunrise(DBプロキシ)を採用し、カオスな経路をシンプルにした trocco導入前の環境

  38. Bengo4.com, Inc. フェイズ③ 負債を片付けた話 38 • 分析基盤に秩序を取り戻した話 • 社内のredashをEC2からECSに移行してv5からv8にした話 ◦

    詳細は https://qiita.com/t_odash/ へ
  39. Bengo4.com, Inc. フェイズ③ 基盤再構築の話 39 データウェアハウス に入れる段階で マスキング

  40. Bengo4.com, Inc. フェイズ③ 組織の話 40 各サービス事業部 各サービス事業部 各サービス事業部 SRE室 (全社横軸組織)

    • データに関わる人を集めた会議体 • 週一開催で情報共有
  41. Bengo4.com, Inc. フェイズ③ 組織の話 41 • データに関わる人を集めた会議体 • 週一開催で情報共有 ◦

    新たな依頼を受ける場 ◦ 問題提起、相談、解決の場 ◦ テーマは問わない 各サービス事業部 各サービス事業部 各サービス事業部 SRE室 (全社横軸組織)
  42. Bengo4.com, Inc. フェイズ③ 組織の話 42 • redash_usersチャンネルの発足 • ライトな依頼、質問などの場 •

    どんな人が関わっているのか把握できる
  43. Bengo4.com, Inc. フェイズ③ 分析基盤の権限の話 43 Admin Creator Viewer データレイク CRUD

    R データウェアハウス CRUD CRUD R データマート CRUD CRUD R ※CRUD(Create、Read、Update、Delete) • SREメンバーのみAdmin権限 • データウェアハウス/マートを作成するメンバーをサービス毎に選定しCreatorを付与
  44. Bengo4.com, Inc. フェイズ③ まとめ • 事業部とSREの会議体を持つようになった • 負債を片付け基盤を再構築した ◦ データレイク、データウェアハウス、データマートの構成

    • 三層構造の構築に伴い権限設計も行った 44 反省を踏まえ コミュニケーション機会 を増加
  45. Bengo4.com, Inc. フェイズ③ まとめ • 事業部とSREの会議体を持つようになった • 負債を片付け基盤を再構築した ◦ データレイク、データウェアハウス、データマートの構成

    • 三層構造の構築に伴い権限設計も行った ◦ 誰をどこの権限に割り振るか決め切れていない面もある ◦ 試行錯誤中・・・! 45
  46. Bengo4.com, Inc. 私たちと一緒に実現しませんか “ 専門家をもっと身近に ” did@bengo4.com We Are Hiring!

    46