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.1k
データ分析と私たち
Data Engineering Study#9登壇資料です。
https://forkwell.connpass.com/event/214982/
odash
August 02, 2021
Tweet
Share
Other Decks in Technology
See All in Technology
貧民的プログラミングのすすめ
kakehashi
PRO
2
330
OSSの実装を参考にBedrockエージェントを作る
moritalous
2
380
AI-Driven-Development-20250310
yuhattor
3
330
やっぱり余白が大切だった話
kakehashi
PRO
2
180
社内でKaggle部を作って初学者育成した話
daikon99
1
200
リクルートのエンジニア組織を下支えする 新卒の育成の仕組み
recruitengineers
PRO
2
220
VPoEの引き継ぎでやったこと、わかったこと
saitoryc
1
310
20250304_赤煉瓦倉庫_DeepSeek_Deep_Dive
hiouchiy
2
150
MLflowはどのようにLLMOpsの課題を解決するのか
taka_aki
0
170
2025/3/1 公共交通オープンデータデイ2025
morohoshi
0
130
Amazon Athenaから利用時のGlueのIcebergテーブルのメンテナンスについて
nayuts
0
150
エンジニアのキャリアパスと、 その中で自分が大切にしていること
noteinc
4
3.2k
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
69
10k
Facilitating Awesome Meetings
lara
53
6.3k
Why Our Code Smells
bkeepers
PRO
336
57k
A designer walks into a library…
pauljervisheath
205
24k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Code Review Best Practice
trishagee
67
18k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
Typedesign – Prime Four
hannesfritz
41
2.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
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. 私たちと一緒に実現しませんか “ 専門家をもっと身近に ” did@bengo4.com We Are Hiring!
46