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
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
いざ、BSC討伐の旅
nikinusu
2
780
dev 補講: プロダクトセキュリティ / Product security overview
wa6sn
1
2.3k
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
360
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
430
AIチャットボット開発への生成AI活用
ryomrt
0
170
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
580
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
[FOSS4G 2019 Niigata] AIによる効率的危険斜面抽出システムの開発について
nssv
0
310
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
5
630
Terraform CI/CD パイプラインにおける AWS CodeCommit の代替手段
hiyanger
1
240
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Automating Front-end Workflow
addyosmani
1366
200k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
How to train your dragon (web standard)
notwaldorf
88
5.7k
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