Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
データ分析と私たち
Search
odash
August 02, 2021
Technology
1
2.2k
データ分析と私たち
Data Engineering Study#9登壇資料です。
https://forkwell.connpass.com/event/214982/
odash
August 02, 2021
Tweet
Share
Other Decks in Technology
See All in Technology
S3 Glacier のデータを Athena からクエリしようとしたらどうなるのか/try-to-query-s3-glacier-from-athena
emiki
0
230
Claude CodeでKiroの仕様駆動開発を実現させるには...
gotalab555
3
1.1k
Delegate authentication and a lot more to Keycloak with OpenID Connect
ahus1
0
220
夏休みWebアプリパフォーマンス相談室/web-app-performance-on-radio
hachi_eiji
0
230
MCP認可の現在地と自律型エージェント対応に向けた課題 / MCP Authorization Today and Challenges to Support Autonomous Agents
yokawasa
5
2.4k
Bet "Bet AI" - Accelerating Our AI Journey #BetAIDay
layerx
PRO
4
1.8k
LTに影響を受けてテンプレリポジトリを作った話
hol1kgmg
0
380
僕たちが「開発しやすさ」を求め 模索し続けたアーキテクチャ #アーキテクチャ勉強会_findy
bengo4com
0
2.5k
Cloud WANの基礎から応用~少しだけDeep Dive~
masakiokuda
3
110
【新卒研修資料】数理最適化 / Mathematical Optimization
brainpadpr
27
13k
AIに目を奪われすぎて、周りの困っている人間が見えなくなっていませんか?
cap120
1
660
Segment Anything Modelの最新動向:SAM2とその発展系
tenten0727
0
840
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Side Projects
sachag
455
43k
Balancing Empowerment & Direction
lara
2
550
StorybookのUI Testing Handbookを読んだ
zakiyama
30
6k
Done Done
chrislema
185
16k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Six Lessons from altMBA
skipperchong
28
3.9k
Building an army of robots
kneath
306
45k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.8k
Music & Morning Musume
bryan
46
6.7k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Transcript
Bengo4.com, Inc. データ分析と私たち 2021.8.3 弁護士ドットコム株式会社 SRE室 小田島 拓
Bengo4.com, Inc. 2 専門家をもっと身近に 世界中の人達が「生きる知恵=知的情報」をより自由に活用できる社会を創り、 人々が幸せに暮らせる社会を創造するため、「 専門家をもっと身近に 」を理念として、 人々と専門家をつなぐポータルサイト「弁護士ドットコム」「税理士ドットコム」「ビジネスロイヤーズ」 Web完結型クラウド契約サービス「クラウドサイン」を提供しています
経営理念
Bengo4.com, Inc. 3 データ分析とどのように関わっていますか?
Bengo4.com, Inc. 4 データ分析とどのように関わっていますか? 規模に依って基盤や組織、関わり方が変わるはず 当社の事例についてお話します
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
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
Bengo4.com, Inc. フェイズ① 規模感と環境の話 • 2010年頃 / 社員数10人程度 • 個人開発のBIツールが爆誕
◦ Yiiの学習用に作成したがいつのまにか社内公式ツールに ◦ 有料会員数等の知りたい情報を表示する管理画面を作成した ◦ 利用者増加に伴い機能に不満が出てきた 7
Bengo4.com, Inc. フェイズ① 規模感と環境の話 • 2010年頃 / 社員数10人程度 • 個人開発のBIツールが爆誕
◦ Yiiの学習用に作成したがいつのまにか社内公式ツールに ◦ 有料会員数等の知りたい情報を表示する管理画面を作成した ◦ 利用者増加に伴い機能に不満が出てきた 8 当該ツールの • slackの検索結果97件 • esaの記事19件
Bengo4.com, Inc. フェイズ① 規模感と環境の話 • 2010年頃 / 社員数10人程度 • 個人開発のBIツールが爆誕
◦ この頃Yiiに載せ替える動きがあり、学習用に作成した 9 ※YiiはPHPフレームワークです
Bengo4.com, Inc. フェイズ① 規模感と環境の話 • 2010年頃 / 社員数10人程度 • 個人開発のBIツールが爆誕
◦ この頃Yiiに載せ替える動きがあり、学習用に作成した ▪ が、いつのまにか社内公式ツールに ◦ 有料会員数等の知りたい情報を表示する管理画面を作成した ◦ 利用者増加に伴い機能に不満が出てきた 10
Bengo4.com, Inc. フェイズ① 規模感と環境の話 • 2010年頃 / 社員数10人程度 • 個人開発のBIツールが爆誕
◦ この頃Yiiに載せ替える動きがあり、学習用に作成した ▪ が、いつのまにか社内公式ツールに ◦ 有料会員数等の知りたい情報を表示する管理画面を作成した ◦ 利用者増加に伴い機能に不満が出てきた ◦ 利用者増加に伴い機能に不満が出てきた 11 クエリのGit管理ができ作成意図が分かる仕様だったが 自由にクエリを書けず分析しにくい環境だったらしい
Bengo4.com, Inc. フェイズ① 組織と基盤の話 • 組織的には・・・ ◦ SREだけで管理運用していた ◦ ユーザーがSREに依頼してデータを抽出
◦ ユーザーが少なく運用上問題なかった • 基盤的には・・・ ◦ (恐らく)EC2インスタンスでホスティングしているだけ ◦ 本番用DBに繋いでおり、稀に重いクエリが流れる 12
Bengo4.com, Inc. フェイズ① 組織と基盤の話 • 組織的には・・・ ◦ エンジニアが管理運用していた ◦ エンジニアに依頼してデータを抽出
◦ 依頼者が少なく運用上問題なかった • 基盤的には・・・ ◦ (恐らく)EC2インスタンスでホスティングしているだけ ◦ 本番用DBに繋いでおり、稀に重いクエリが流れる 13
Bengo4.com, Inc. フェイズ① 組織と基盤の話 • 組織的には・・・ ◦ エンジニアが管理運用していた ◦ エンジニアに依頼してデータを抽出
◦ 依頼者が少なく運用上問題なかった • 基盤的には・・・ ◦ (恐らく)EC2インスタンスでホスティングしているだけ ◦ 本番用DBに繋いでおり、稀に重いクエリが流れる 14
Bengo4.com, Inc. フェイズ① 組織と基盤の話 • 組織的には・・・ ◦ エンジニアが管理運用していた ◦ エンジニアに依頼してデータを抽出
◦ 依頼者が少なく運用上問題なかった • 基盤的には・・・ ◦ (恐らく)EC2インスタンスでホスティングしているだけ ◦ 本番用DBに繋いでおり、稀に重いクエリが流れる 15
Bengo4.com, Inc. フェイズ① まとめ • Yiiとりあえずやってみよう!から始まった • とりあえずデータ見て分析してみた(本番データで) • 基盤、組織共にあまり考慮されていなかった(と思われる)
◦ 機能の問題、構成の問題からredashの導入を検討 16 人数が少ないので必要な コミュニケーションは取れていた
Bengo4.com, Inc. フェイズ① まとめ • Yiiとりあえずやってみよう!から始まった • とりあえずデータ見て分析してみた(本番データで) • 基盤、組織共にあまり考慮されていなかった(と思われる)
• 機能の問題、構成の問題からredashの導入を検討 17
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
Bengo4.com, Inc. フェイズ② 規模感と環境の話 19 • 2017年頃 / 社員数100~150人程度 •
redashが導入された ◦ 本番用DBから分析用DBを用意する仕組みも出来た • データサイエンス室が発足 ◦ 事業部へのヒアリング、ダッシュボード作成提供など
Bengo4.com, Inc. フェイズ② 規模感と環境の話 20 • 2017年頃 / 社員数100~150人程度 •
redashが導入された ◦ 本番用DBから分析用DBを用意する仕組みも出来た • データサイエンス室が発足 ◦ 事業部へのヒアリング、ダッシュボード作成提供など
Bengo4.com, Inc. フェイズ② 規模感と環境の話 21 • 2017年頃 / 社員数100~150人程度 •
redashが導入された ◦ 本番用DBから分析用DBを用意する仕組みも出来た • データサイエンス室が発足 ◦ 事業部へのヒアリング、ダッシュボード作成提供など redashの • slackの検索結果約40,000件 • esaの記事1,433件
Bengo4.com, Inc. フェイズ② 規模感と環境の話 22 • 2017年頃 / 社員数100~150人程度 •
redashが導入された ◦ 本番用DBから分析用DBを用意する仕組みも出来た • データサイエンス室の誕生 ◦ 事業部へのヒアリング、ダッシュボード作成提供など
Bengo4.com, Inc. フェイズ② 基盤の話 23 • 分析用DBを用意する仕組みはできたが
Bengo4.com, Inc. フェイズ② 基盤の話 24 • 分析用DBを用意する仕組みはできたが ◦ 各事業部が好きなように分析DBへの経路を確保していた ◦
事業部毎にやっているので連携方式が統一されていない ◦ 全体を把握している人はいなかった
Bengo4.com, Inc. フェイズ② 基盤の話 25
Bengo4.com, Inc. フェイズ② 基盤の話 26 分析用DB redash本体 BigQuery 分析用DBに データを入れる仕組み
データソースは複数
Bengo4.com, Inc. フェイズ② 組織の話 27 各サービス事業部 各サービス事業部 各サービス事業部 データサイエンス室 分析/ダッシュボード作成依頼
ダッシュボード提供/ヒアリング • データサイエンス室が事業部との橋渡しを行いダッシュボード作成提供等していた • 基盤の管理はSRE・・・? ◦ データ収集、蓄積基盤などの環境構築(BQへの転送の仕組み等) ◦ S3でホスティングするBIツール開発運用 データの理解 検証に長けていた
Bengo4.com, Inc. フェイズ② まとめ • 本番環境に影響を及ぼさない構成にはなった ◦ 基盤の管理運用は誰がするのか不明な状態 • 様々な人が関わるようになり分析は高度化した
◦ 権限管理ができておらず、誰でも全てのデータが見れた • 関係部署間で十分なコミュニケーションを行えていなかった 28
Bengo4.com, Inc. フェイズ② まとめ • 本番環境に影響を及ぼさない構成にはなった ◦ 基盤の管理運用は誰がするのか不明な状態 • 様々な人が関わるようになり分析は高度化した
◦ 権限管理ができておらず、誰でも全てのデータが見れた • 関係部署間で十分なコミュニケーションを行えていなかった • 技術的負債を片付けつつ基盤の再構築を目指すことにした 29
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
Bengo4.com, Inc. フェイズ③ 規模感と環境の話 31 • 2019年以降 / 社員数200~300人程度
Bengo4.com, Inc. フェイズ③ 規模感と環境の話 32 • 2019年以降 / 社員数200~300人程度 •
事業部とSREの会議体を持つようになった
Bengo4.com, Inc. フェイズ③ 規模感と環境の話 33 • 2019年以降 / 社員数200~300人程度 •
事業部とSREの会議体を持つようになった ◦ 技術的負債を片付けた ◦ 基盤再構築を開始した
Bengo4.com, Inc. フェイズ③ 負債を片付けた話① 34 • redashをEC2からECSに移行、v5からv8へ ◦ 導入段階からほぼバージョンアップされていなかった・・・? ◦
よく落ちるEC2からECS Fargateに移行して安定稼働するようにした
Bengo4.com, Inc. フェイズ③ 負債を片付けた話② 35 • DataSunrise(DBプロキシ)を採用し、カオスな経路をシンプルにした
Bengo4.com, Inc. フェイズ③ 負債を片付けた話② 36 • DataSunrise(DBプロキシ)を採用し、カオスな経路をシンプルにした
Bengo4.com, Inc. フェイズ③ 負債を片付けた話② 37 • DataSunrise(DBプロキシ)を採用し、カオスな経路をシンプルにした trocco導入前の環境
Bengo4.com, Inc. フェイズ③ 負債を片付けた話 38 • 分析基盤に秩序を取り戻した話 • 社内のredashをEC2からECSに移行してv5からv8にした話 ◦
詳細は https://qiita.com/t_odash/ へ
Bengo4.com, Inc. フェイズ③ 基盤再構築の話 39 データウェアハウス に入れる段階で マスキング
Bengo4.com, Inc. フェイズ③ 組織の話 40 各サービス事業部 各サービス事業部 各サービス事業部 SRE室 (全社横軸組織)
• データに関わる人を集めた会議体 • 週一開催で情報共有
Bengo4.com, Inc. フェイズ③ 組織の話 41 • データに関わる人を集めた会議体 • 週一開催で情報共有 ◦
新たな依頼を受ける場 ◦ 問題提起、相談、解決の場 ◦ テーマは問わない 各サービス事業部 各サービス事業部 各サービス事業部 SRE室 (全社横軸組織)
Bengo4.com, Inc. フェイズ③ 組織の話 42 • redash_usersチャンネルの発足 • ライトな依頼、質問などの場 •
どんな人が関わっているのか把握できる
Bengo4.com, Inc. フェイズ③ 分析基盤の権限の話 43 Admin Creator Viewer データレイク CRUD
R データウェアハウス CRUD CRUD R データマート CRUD CRUD R ※CRUD(Create、Read、Update、Delete) • SREメンバーのみAdmin権限 • データウェアハウス/マートを作成するメンバーをサービス毎に選定しCreatorを付与
Bengo4.com, Inc. フェイズ③ まとめ • 事業部とSREの会議体を持つようになった • 負債を片付け基盤を再構築した ◦ データレイク、データウェアハウス、データマートの構成
• 三層構造の構築に伴い権限設計も行った 44 反省を踏まえ コミュニケーション機会 を増加
Bengo4.com, Inc. フェイズ③ まとめ • 事業部とSREの会議体を持つようになった • 負債を片付け基盤を再構築した ◦ データレイク、データウェアハウス、データマートの構成
• 三層構造の構築に伴い権限設計も行った ◦ 誰をどこの権限に割り振るか決め切れていない面もある ◦ 試行錯誤中・・・! 45
Bengo4.com, Inc. 私たちと一緒に実現しませんか “ 専門家をもっと身近に ”
[email protected]
We Are Hiring!
46