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
【若手エンジニア応援LT会】AWS Security Hubの活用に苦労した話
kazushi_ohata
0
160
[JAWS-UG金沢支部×コンテナ支部合同企画]コンテナとは何か
furuton
3
250
「視座」の上げ方が成人発達理論にわかりやすくまとまってた / think_ perspective_hidden_dimensions
shuzon
2
1.5k
Amazon_CloudWatch_ログ異常検出_導入ガイド
tsujiba
4
1.6k
10分でわかるfreee エンジニア向け会社説明資料
freee
18
520k
CyberAgent 生成AI Deep Dive with Amazon Web Services / genai-aws
cyberagentdevelopers
PRO
1
480
ガバメントクラウド先行事業中間報告を読み解く
sugiim
1
1.3k
Java x Spring Boot Warm up
kazu_kichi_67
2
490
わたしとトラックポイント / TrackPoint tips
masahirokawahara
1
240
Apple/Google/Amazonの決済システムの違いを踏まえた定期購読課金システムの構築 / abema-billing-system
cyberagentdevelopers
PRO
1
220
スプリントゴールにチームの状態も設定する背景とその効果 / Team state in sprint goals why and impact
kakehashi
2
100
「 SharePoint 難しい」ってよく聞くけど、そんなに言うなら8歳の息子に試してもらった
taichinakamura
1
620
Featured
See All Featured
Practical Orchestrator
shlominoach
186
10k
GraphQLの誤解/rethinking-graphql
sonatard
66
9.9k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Designing for Performance
lara
604
68k
Rails Girls Zürich Keynote
gr2m
93
13k
A better future with KSS
kneath
238
17k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Unsuck your backbone
ammeep
668
57k
Raft: Consensus for Rubyists
vanstee
136
6.6k
The Power of CSS Pseudo Elements
geoffreycrofte
72
5.3k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
No one is an island. Learnings from fostering a developers community.
thoeni
19
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. 私たちと一緒に実現しませんか “ 専門家をもっと身近に ”
[email protected]
We Are Hiring!
46