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
K.Mitsuhashi
November 09, 2022
Technology
2
1.3k
実用的なデータ分析基盤について(個人的に思うカジュアルトーク)
2022/11/08実施「みんなの考えた最強のデータアーキテクチャ」
https://datatech-jp.connpass.com/event/258157/
の発表資料を公開用に修正。
K.Mitsuhashi
November 09, 2022
Tweet
Share
More Decks by K.Mitsuhashi
See All by K.Mitsuhashi
我が社のデータエンジニアリング現場#Chatwork編_2024/05/22
kaz3284
0
620
Other Decks in Technology
See All in Technology
リクルート新人研修2024 テキスト生成AI活用
recruitengineers
PRO
10
420
EitherT_with_Future
aoiroaoino
0
380
SHIFTの課題と目指したい組織像 / 20240827 Rinto Ikenoue
shift_evolve
0
140
Namespace, Now and Then
tagomoris
0
170
Oracle Database Backup Service:サービス概要のご紹介
oracle4engineer
PRO
0
4k
Azure SQL Database Hyperscale HA レプリカの監視
sansantech
PRO
0
190
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
9
41k
React Aria で実現する次世代のアクセシビリティ
ryo_manba
3
290
株式会社M2X エンジニアチーム紹介資料
m2xsoftware
0
320
分野に潜むツールの紹介
pojiro
1
330
スーパーマリオRPGのリメイク版の変更点からみるUX
nishiharatsubasa
1
110
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
0
13k
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
354
29k
Embracing the Ebb and Flow
colly
83
4.4k
How to name files
jennybc
75
97k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
225
22k
Web Components: a chance to create the future
zenorocha
308
41k
We Have a Design System, Now What?
morganepeng
48
7.1k
Clear Off the Table
cherdarchuk
90
320k
Writing Fast Ruby
sferik
623
60k
A better future with KSS
kneath
235
17k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
22
1.7k
A Modern Web Designer's Workflow
chriscoyier
690
190k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
33
1.7k
Transcript
© Chatwork 実用的なデータ分析基盤に ついて(個人的に思うカ ジュアルトーク) CTO室 次世代データ基盤プロジェクト データエンジニア 三ツ橋和宏 2022年11月08日
発表者について 2 ◦業務経験 前職では長年に渡ってアドテクノロジーのデータ処理を担当。 オンプレHadoop, EMR, Redshift, Spark, BigQuery, Beam...etc
◦住まい 埼玉県比企郡。森、山、田んぼ緑多い。 近くに吉見百穴という古代の遺跡あり。 ◦趣味 週末ランニング。
Chatworkとは 効率的に情報共有できる グループチャット 仕事の見える化ができる タスク管理 見落としがなくなる ファイル管理 いつでも会議ができる ビデオ/音声通話 3
Chatworkは日本最大級のビジネスチャットサービス 4 3月 リリース 30万社 突破! 20万社 突破! 導入社数37.6万社を突破! (2022年09月末日時点)
10万社 突破!
• 主要な競合は2社あるが、各社の中心となるターゲット層は異なっている • ビジネスチャットの市場浸透率が低いため、各社がそれぞれの領域で新規に市場開拓を進めている状況 業界におけるポジショニング 企業規模 大 企業規模 小 ITスキル
低 ITスキル 高 B社 A社 ターゲット層: 5
6 • スーパーアプリ = プラットフォーム化し、あらゆるビジネスの起点になるアプリ • ビジネスチャットは、他SaaSと比較して圧倒的に滞在時間が長く、プラットフォーム価値が高い • Chatworkはオープンプラットフォームとして、様々なサービスやユーザー同士の連携が容易 Chatworkはビジネス版スーパーアプリへ
* 赤字は2022年5月13日時点での提供サービス HR(ヒト) ファイナンス(カネ) CRM/SFA ドキュメント管理 Web会議 カレンダー タスク管理 プロジェクト管理 エンゲージメント 人事評価 採用 クラウド ソーシング 勤怠管理 労務管理 資金調達 (Chatwork 早期入金) (Chatwork 先払い) 助成金 (Chatwork 助成金診断) 決済 請求管理 契約管理 受発注管理 会計 コラボレーション(情報) 電話代行 (Chatwork 電話代行) ストレージ 長期ビジョン
実用的とは? 7 SECTION TITLE 1 セクションタイトル
さて、本題に入りまして、 8 実用的とは?(個人的に思うところ) • さまざまな要求に対して素早く対応できる ◦ 品質を高く(技術的負債を少なく) 保つ ◦ チームの開発モチベーションを高く保つ
=>結果、使い勝手がよく、 プロダクトに貢献できるデータ分析基盤が実現すること
さまざな要求へ素早く対応できる 9 しばしば起きる要求 • 〜の値が突然おかしくなった、調べてもらいたい。 • 〜からデータの形式が変わります • 〜からデータ量が倍増する予定です •
〜の権限が欲しい「なる早で!」 のような、要求にサッと答えられる状態
品質を高く(技術的負債を少なく) 保つ 10 よくありガチ。に流されない仕組みにしていく • 「今は品質を犠牲にしてでも、素早く新機能を出したい」 ◦ ...犠牲にされた品質が手直しされるチャンスは永遠に来ない => 品質を犠牲にしないで素早く出せる仕組みにしていく
• 「〜までに機能が欲しい、倍の人手で半分の期間で作ってくれ」 ◦ ...半分の期間で出来ない上に、品質も低いモノが出来上がる => 人手を増やさなくても短期間で作れる仕組みにしていく (裏付け) 「質とスピードはトレードオフではない」=t-wada氏、 「LeanとDevOpsの科学」でも調査から同じ結論。
チームの開発モチベーションを高く保つ 11 モチベーションが高い状態 • リリース後不具合が少ない(=事前に問題に対処できている) ◦ 足止め感なくスムーズに開発が進む • 建設的な議論が活発に起こる(=心理的安全性が高い、自己組織化) ◦
重箱のスミをつつくような感じではなく 技術的な解決 システム運用アンチパターンを無くす(少なくしていく)、 積極的に情報共有して、情報格差を作らない(ストック型のシステムを活用)
「これまで」と「これから」 12 SECTION TITLE 2 セクションタイトル
これまで 13 13 • データソースに応じて個別に ETL実装 • 重い処理では結果書き出しに数時間かかる処理 も出てきた •
属人化された(特定の人しかわからない )ETL データ取得 多様な可視化要望 解消しないと支障がある問題 (クリティカルボトルネック ) 解消できなくとも運用はできる 解消に向けて収束できるボトルネック 解消できるボトルネック 多様な データソース データ分析 データソース(データ連携)が 増える 処理のデータ量が 加速度的に増える 分析・可視要望が 加速度的に増える 都度の個別対応 データ取得 • コンピュートリソース不足 • データを貯め続けられない (ストレージ不足) • 情報保護のために、多数の中間テーブルが必 要 • リソース不足回避のための実装が必要 リソース不足が顕著 DWH(処理能力) • バッチ処理が終わらず、データが見れない • エンジニア不足による分析実装の遅延 • クエリ実行時間が不安定 データ同期、DWH制 約のダブルパンチ 分析・可視化対応
これから 14 • MDS(モダンデータスタック )を活用した開発で実用的なデータ分析基盤の形へ刷新 データ取得 多様な データソース 多様な可視化要望 データ分析
• データソースに応じて個別に ETL実装 • 重い処理では結果書き出しに数時間かかる処理 も出てきた • 属人化された(特定の人しかわからない )ETL 解消しないと支障がある問題 (クリティカルボトルネック ) 解消できなくとも運用はできる 解消に向けて収束できるボトルネック 解消できるボトルネック 個別対応不要 (周辺エコシステム利用) データ取得 • コンピュートリソース不足 • データを貯め続けられない (ストレージ不足) • 情報保護のために、多数の中間テーブルが必 要 • リソース不足回避のための実装が必要 リソース不足が解消 DWH(処理能力) • バッチ処理が終わらず、データが見れない • エンジニア不足による分析実装の遅延 • クエリ実行時間が不安定 DWH起因の制約 なくなる 分析・可視化対応
MDS(モダンデータスタック)のポイント 15 • MDS活用することで実用性が確保できるように。 ◦ 品質を高く(技術的負債を少なく) 保つ ◦ チームの開発モチベーションを高く保つ MDSツール
• Fivetran:Salesforce, Market...等からのデータ取り込み • Snowflake:DWH • dbt:データモデリング(=SQLフレームワーク) • Hightouch:Salesforce, Market...等へのデータ書き出し
DevOps(直近で目指すカタチ) 16 モデル 分析DWH DB モデル CI 開発(ローカル、 devcontainer) deploy
Iac deploy deploy マイグレーション ユーザ 管理 同期 Cloud
DevOpsのポイント 17 • 自動化により、↓システム運用アンチパターンを排除 ◦ パターナリスト症候群 ▪ ゲートキーパー:ある人が権力を持ってしまう ◦ アラート疲れ
▪ 業務時間外に緊急対応が必要になってしまう 参照:「システム運用アンチパターン」
加えて、チーム内で好評な取り組み(ふりかえり会のKPTより) 18 • 話合う機会の確保 ◦ 時間が限られた業務委託者中心だけど、 週一定例、1on1、リリース後の振り返り会を必ず実施する • こまめにdocs作成 ◦
ステークホルダーとのmtgや、実装前の設計でこまめにdocs化していく • 少数精鋭でサクッと開発が進むスピード感 ◦ 勘所が伝わる経験者が集っており、MDSの活用、運用アンチパターンの排 除も成功してスピード感ある開発が進む
まとめ。実用的なデータ分析基盤開発 19 • さまざまな要求に対して素早く対応できる ◦ 品質を高く(技術的負債を少なく) 保つ ◦ チームの開発モチベーションを高く保つ これらを支援する解決手段
◦ MDS(モダンデータスタック) ▪ 品質を高く(技術的負債を少なく) 保つ ◦ DevOps ▪ IaC化、システム運用アンチパターンの排除により開発がスムーズに進む。 ◦ 情報共有 ▪ ストック型のツールで情報格差を生まないよう、こまめに共有していく。
実現に向けて、まだまだやるべき余地(技術・組織)は大きい... 20 • マネジメント CTO(+関係各所) • フルタイム 今のところ社員一人。技術選定、要件調整、スケジュール管理...etc • 業務委託メンバー
3名(20h/月程度) • 他部署からの応援 随時 データエンジニア募集中!! https://hrmos.co/pages/chatwork/jobs/120011
21 働くをもっと楽しく、創造的に