Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
SmartHRを支える従業員データ基盤とそのインフラ_Innovative Crosstal...
Search
ItoJum
August 01, 2026
380
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SmartHRを支える従業員データ基盤とそのインフラ_Innovative Crosstalk Jamboree Geeks '26
ItoJum
August 01, 2026
More Decks by ItoJum
See All by ItoJum
従業員データ基盤でのパターンマッチをご紹介_Roppongi.rb スポンサーLT
itojum
0
32
DXRuby互換のPicoRuby.wasmライブラリを作っている
itojum
1
32
RubyKaigi_2026_follow_up_SmartHRスポンサーLT
itojum
0
13
サマーインターンシップのメン ターをやって得た学び5選_あつまれ!若⼿エンジニアのLT&ゆるっと交流会
itojum
0
75
VRChat.rbの野望.pdf
itojum
0
12
なぜtree-sitter-rubyの日本語シンボルはシンタックスハイライトされないのか
itojum
0
93
Ractorを試してみるぞ!+メタバースにおける地域.rbをやっているぜ
itojum
0
52
新卒一年目のコミュニティ駆動ライフ_新卒N年目のLT交流会.pdf
itojum
0
120
VRChat.rb_4_Ractorで始める並列処理.pdf
itojum
0
19
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
390
WCS-LA-2024
lcolladotor
0
820
From π to Pie charts
rasagy
0
360
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
A Soul's Torment
seathinner
7
3.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Become a Pro
speakerdeck
PRO
31
6.2k
Evolving SEO for Evolving Search Engines
ryanjones
0
280
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
380
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Transcript
SmartHRを⽀える従業員デー タ基盤とそのインフラ SmartHR プロダクトエンジニア Jumpei Ito (@itojum1230) 2026/08/02 © SmartHR,
Inc.
スピーカー紹介 Jumpei Ito (@itojum1230) • いとじゅん (itojum) • 株式会社SmartHR (2026/04~)
◦ 新卒⼀期⽣(26卒) ◦ 業務連携基盤ユニット ◦ プロダクトエンジニア • ⿃取県出⾝ • VRChat.rb Organizer 写真撮影‧SNS共有 歓迎🙌 2
お品書き 1 SmartHRとマルチプロダクト 2 従業員データ基盤(EDP)とは 3 GraphQL Federationによる横断取得 4 Database
Federationによる横断検索 5 EDPを⽀えるGoogle Cloud 6 なぜDataprocをやめたのか 7 まとめ 3
SmartHRとマルチプロダクト 4
5
6
SmartHRのマルチプロダクト 7
SmartHRのマルチプロダクト このあたりの 話をします 8
マルチプロダクトの課題 キャリア台帳 従業員データベース スキル‧資格‧研修 ⼈事評価 キャリア台帳: タレントマネジメントに必要な従業員情報を1ページで確認できるプロダクト 9
マルチプロダクトの課題 従業員データ が分散 キャリア台帳* 従業員データベース スキル‧資格‧研修 ⼈事評価 *キャリア台帳: タレントマネジメントに必要な従業員情報を1ページで確認できるプロダクト 10
マルチプロダクトの課題 従業員データ が分断 キャリア台帳 個別にリクエ ストを実⾏ 従業員データベース スキル‧資格‧研修 ⼈事評価 キャリア台帳:
タレントマネジメントに必要な従業員情報を1ページで確認できるプロダクト 11
マルチプロダクトの課題 従業員データ が分断 個別に実装‧ 保守が発⽣ キャリア台帳 個別にリクエ ストを実⾏ 従業員データベース スキル‧資格‧研修
⼈事評価 キャリア台帳: タレントマネジメントに必要な従業員情報を1ページで確認できるプロダクト 12
解決したい... 13
従業員データ基盤(EDP)とは 14
従業員データを横断 活⽤するための基盤 15
EDPの構成要素 GraphQL Federation Database Federation 各プロダクトのGraphQL サービスを統合した、1 つのGraphQLエンドポイ ントを提供 分散SQLエンジンTrinoを
使って、各プロダクトの データソースを統合 16
EDPがない場合 キャリア台帳 従業員データベース スキル‧資格‧研修 ⼈事評価 17
EDPの全体像 利⽤プロダクト 提供プロダクト 18
GraphQL Federationによる横 断取得 19
GraphQL Federationとは GraphQLサービス(subgraph)を統合 し、単⼀のGraphQLエンドポイント (supergraph)を提供する仕組み https://graphql.org/learn/federation/ 20
横断取得の構成 利⽤プロダクト 提供プロダクト type Crew @key(fields: ID!) { firstName: String!
lastName: String! subgraph } type Crew @key(fields: ID!) { firstName: String! lastName: String! skills: [Skill!]! } supergraph type Crew @key(fields: ID!) { skills: [Skill!]! } type Skill { name: String! level: Int! } type Skill { name: String! level: Int! } subgraph 21
GraphQL Federationのメリット 関⼼の分離 複雑さの解消 リアルタイム性 22
GraphQL Federationのメリット 複雑な検索 ソート ページネーション 23
Database Federationによる横 断検索 24
Trinoとは 複数の分散しているデータソースに対し て、SQLクエリを通じてアクセスできる SQLクエリエンジン https://trino.io/ 25
横断検索の構成 データソースアプリのDB クライアントアプリ Railsアプリは検索 クエリをTrinoSQL に変換する EDP 26
ここまでの全体像 利⽤プロダクト 提供プロダクト 27
2つのFederationに よって、マルチプロ ダクトは⽀えられて いる 28
EDPを⽀えるGoogle Cloud 29
インフラ構成図 30
edpの構成図 31
searchの構成図 32
searchの構成図 最近Dataprocから GKEに移⾏完了した 33
なぜ Dataproc をやめたのか 34
Dataprocとは Google Cloud上でデータ処理フ レームワークを実⾏できるフルマ ネージドサービス (新称 Managed Service for Apache
Spark) 35
Trino on Dataprocの採⽤理由 構築‧運⽤の⼿軽さ 36
Trino on Dataprocの課題 Trinoのバージョン の固定化 37
GKEに移⾏する ぞ!!1 38
移⾏計画 1. 調査‧技術検証 移⾏案の⽐較 a sandbox環境でTrino on GKE検証 2. 移⾏準備‧環境構築
GKEクラスタ作成 CD整備 性能⽐較検証 3. カナリアリリース 4. Dataproc削除 DataprocとGKEのルー ティング⽐率を段階的に移 ⾏ Dataproc関連リソースの 削除 39
調査‧技術検証 1. 調査‧技術検証 移⾏案の⽐較 a sandbox環境でTrino on GKE検証 2. 移⾏準備‧環境構築
GKEクラスタ作成 CD整備 性能⽐較検証 3. カナリアリリース 4. Dataproc削除 DataprocとGKEのルー ティング⽐率を段階的に移 ⾏ Dataproc関連リソースの 削除 40
移⾏案の⽐較 Google Kubernetes Engine Compute Engine 安定性 ◎自動回復・自動更新 ◦自前で構成すれば 運用負荷
◦基盤はGoogle管理 ×全て自社管理 課題 k8sの学習コスト 運用負担大 結論 採用 見送り 41
移⾏準備‧環境構築 1. 調査‧技術検証 移⾏案の⽐較 a sandbox環境でTrino on GKE検証 2. 移⾏準備‧環境構築
GKEクラスタ作成 CD整備 性能⽐較検証 3. カナリアリリース 4. Dataproc削除 DataprocとGKEのルー ティング⽐率を段階的に移 ⾏ Dataproc関連リソースの 削除 42
性能⽐較検証 検証目的 • Dataproc→GKE移行の判断材料 ◦ 実運用に近い検索クエリでの性能差を事前に把握する 検証環境 • 社内の検証用テナント •
従業員データ約20万件 実行方法 • Apollo Studio Explorerから実行、ウォームアップ後の値を採用 • Trinoのクエリ統計から数値取得 ※注意点※ • 厳密なベンチマークではなく参考値で傾向を見るためのもの • Trinoバージョンが異なる ◦ Dataproc: 432 / GKE: 476 43
性能⽐較検証 Trino on Dataproc(旧) Trino on GKE(新) 全体実行時間 (elapsedTime) 1.71s
0.64s (62%高速) CPU時間 (totalCpuTime) 403ms 168ms (58%高速) ピークメモリ使用量 (peakTotalMemoryRes ervation) 1MB 132KB (87%削減) TIPS: 改善の主要因はTrinoの最新バージョンに追従したこと 44
カナリアリリース 1. 調査‧技術検証 移⾏案の⽐較 a sandbox環境でTrino on GKE検証 2. 移⾏準備‧環境構築
GKEクラスタ作成 CD整備 性能⽐較検証 3. カナリアリリース 4. Dataproc削除 DataprocとGKEのルー ティング⽐率を段階的に移 ⾏ Dataproc関連リソースの 削除 45
カナリアリリース時のインフラ構成 46
Dataproc破棄 1. 調査‧技術検証 移⾏案の⽐較 a sandbox環境でTrino on GKE検証 2. 移⾏準備‧環境構築
GKEクラスタ作成 CD整備 性能⽐較検証 3. カナリアリリース 4. Dataproc削除 DataprocとGKEのルー ティング⽐率を段階的に移 ⾏ Dataproc関連リソースの 削除 47
私が消した!!!! 48
まとめ 49
まとめ • SmartHRのマルチプロダクトは従業員データ基盤に⽀え られている ◦ EDPはGraphQL FederationとDatabase Federation で構成されている •
従業員データ基盤はGoogle Cloudに⽀えられている ◦ TrinoのDataproc→GKE移⾏の意思決定を紹介 50
None