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
20190805_DBRE_Night
Search
_awache
August 05, 2019
Technology
1
3.4k
20190805_DBRE_Night
20190805 そーだいなる DBRE Night での発表資料です
_awache
August 05, 2019
Tweet
Share
More Decks by _awache
See All by _awache
Practical_Tips_for_Using_Confluence__Jira__and_Findy_Team__Right_Now.pdf
_awache
1
280
【関西DB勉強会】 ~ 全部見せます ~KINTO テクノロジーズの DBRE とは
_awache
2
2.5k
KTC_DBRE.pdf
_awache
1
560
_オープニング__GitLabに学ぶ_世界最先端のリモート組織のつくりかた_そーだいなる輪読会キックオフ.pdf
_awache
0
78
[Opening] DBRE Summit 2023
_awache
0
500
CUS-11_AWS-Summit-2023_DBRE_Practice.pdf
_awache
1
2.9k
DBRE 活動と information_schema
_awache
1
2.1k
クラウドネイティブとDBRE
_awache
0
210
実践:Cloud Center of Excellence を中心としたクラウド戦略/The Practice of Cloud Center of Excellence
_awache
0
5.1k
Other Decks in Technology
See All in Technology
2024年にチャレンジしたことを振り返るぞ
mitchan
0
140
私なりのAIのご紹介 [2024年版]
qt_luigi
1
120
Oracle Cloudの生成AIサービスって実際どこまで使えるの? エンジニア目線で試してみた
minorun365
PRO
4
280
10分で学ぶKubernetesコンテナセキュリティ/10min-k8s-container-sec
mochizuki875
3
350
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
270
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
170
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.3k
Google Cloud で始める Cloud Run 〜AWSとの比較と実例デモで解説〜
risatube
PRO
0
110
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
350
DUSt3R, MASt3R, MASt3R-SfM にみる3D基盤モデル
spatial_ai_network
2
180
How to be an AWS Community Builder | 君もAWS Community Builderになろう!〜2024 冬 CB募集直前対策編?!〜
coosuke
PRO
2
2.8k
LINEヤフーのフロントエンド組織・体制の紹介【24年12月】
lycorp_recruit_jp
0
530
Featured
See All Featured
Practical Orchestrator
shlominoach
186
10k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
Rails Girls Zürich Keynote
gr2m
94
13k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Into the Great Unknown - MozCon
thekraken
33
1.5k
What's in a price? How to price your products and services
michaelherold
243
12k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Music & Morning Musume
bryan
46
6.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
Embracing the Ebb and Flow
colly
84
4.5k
Transcript
そーだいなる DBRE Night #1 ~ ぼっちにならない、横断的DBAの作り方 ~ https://www.bizreach.co.jp/ プラットフォーム基盤推進室
DBRE Group
Hello!! *********** 1. row ********** name: 粟田 啓介 nickname: あわっち
title: DBRE twitter: @_awache 1 rows in set (0.00 sec) mysql > SELECT * FROM me \G
README ✅ この資料は @_awache という個人の独断と偏見により作成したものです。 ✅ 所属する組織の意見を代表するものではありません。 ✅ 合法性や安全性、情報の正確性についても保証できません。 カジュアルな会(のはず)なので内容もノリも軽めです。
カシュっとしながら 楽しんでいただければと思いますmm ✅ Theme by Template Park. >https://template-parks.com/
1. 横断組織としてのDBA
横断組織 誕生 ◦ 2018年 8月 ➢ インフラ・SREメンバーが集まって構成 ▪ DB系は一人 ▪
当時の MGR「あわっちをどうしたらいいか悩むわ」 • ならなぜ僕をここに呼んだ Σ(゚ロ゚;) ▪ 一人で組織横断DBAってどうなの? • 最初は組織横断DBAとして何をしたらいいかが分からなかった • まずは何をしたいか、自分の目標設定からスタート
自分の活動の軸を決める(1) ◦ 事業の成長を妨げる要因にならない ➢ 例えば 3年後に売り上げが 10倍 〜 となったとしても ▪
成長についていける基盤を作る必要性 ▪ Database が要因となって事業戦略を諦めさせない ▪ 同時に事業の成長スピードを上げる手助けを行う
自分の活動の軸を決める(2) ◦ 事業に対するリスクを最小化 ➢ 外部要因によるリスク ▪ 個人情報流出の危険性の排除 ➢ 流動的な人の移動を可能にさせる標準化 ▪
個別最適の削減 • 標準 Backup/Restore の仕組み • 共通モニタリング
ビズリーチのDBA事情 ◦ 専属のDBAがいる組織とそうでない組織 https://www.bizreach.co.jp/
DBAはいなくてもアプリは動く ◦ ちょっとぶっ飛びすぎ感はあるけれども ➢ 実際問題 DBA はエンジニア全体からするとかなり希少 ▪ 大抵は問題が起こった時 DBちょっとできる人が筋肉運用
▪ インフラエンジニア と呼ばれる人が兼任することが多い気が する ➢ アプリケーション設計や実際に流れるクエリの組み立ては アプリケーションエンジニアが行う ▪ DBA による Review がなくても自由に作ればいい • 最近は ORM も充実しているので。。。
なぜDBAが必要か ◦ アプリケーションの稼働率に直結するから(雑) ➢ 色々なタスクはあれど、基本的にはここに辿り着くのでは? ▪ Provisioning ▪ Backup・Restore ▪
セキュリティ ▪ パフォーマンス, etc.
ビズリーチの課題 ◦ DBA そのもののリソース不足 ➢ DB運用に必要な最低限のモノゴトが無い ▪ DB にかける時間が考慮されていない ▪
Monitoring/Backup/Restore など ➢ 各事業で同じものを別々の方法で作っている ▪ Monitoring/Backup/Restore など ➢ DB設計などの相談先の不在 ▪ アプリケーションのソースコードと密結合された DBスキーマ ▪ それまでの開発の文化が設計にそのまま反映されてしまう • 複数の意味を持つカラムの存在 • 先人のマジカルな仕様の聖域化 など
割とある解決策 ◦ 中央集権の組織を作ってそこで管理運用を行う ➢ Provisioning に必要な秘伝のタレができて ➢ スキーマやクエリ Review のフェーズができて
➢ 大量に来る依頼を無心に捌く
自分が中央集権をしたら ◦ こんな 横断DBA になりそう ➢ ゲートキーパー ➢ サイロ化 ➢
アプリケーションエンジニアとの無意味な壁、確執 ➢ アプリケーションの求めるスピードについていけない
やりたいことを整理していく中で ◦ とあるDBAからの一言 ➢ DBRE じゃん、それ ▪ なにそれ?! ➢ O'REILLY
本出てたので即購入 ▪ 英語版のみ ▪ パラパラとめくって惚れた
2. ビズリーチ流の DBRE
DBRE が守るべきものを定義 ◦ (仮置きで) 稼働率と置いた ➢ 稼働率って具体的には? ▪ DB インスタンスとしての稼働率
▪ 企業としての稼働率 ▪ ヒトとしての稼働率
DBRE グループ 稼働率の定義 ◦ DB インスタンスとしての稼働率 ➢ 直接的には 各プロダクトが守るべきもの ➢
間接的に守る手段を DBRE としての稼働率として定義 ▪ Backup ▪ Monitoring ▪ Provisioning etc. 品質と信頼性を一本化するためのアクション 本質的には各プロダクトに存在する
開発部署を雁字搦めにしない ◦ できる限りルールだけを持ち込まない ➢ ルールを取り入れたければ `Engineering` によって解決 ▪ Backup を必ず取得してください
↓↓ ▪ Backup の為の Platform を作ったので権限だけ 設定してもらえればこちらでやらせていただきます
DBRE グループ 稼働率の定義 ◦ 企業としての稼働率 ➢ 各部署のサポート ▪ 現段階では ビズリーチ、キャリトレに対して実施
• DBA が存在するところでまずは実施 • DBA がいることによる課題の吸い上げ、 アプローチ方法 などを一緒に実施できる ▪ このナレッジを横展開していく土台作りの段階
ナレッジの横展開 ◦ DBAがいない部署に展開するために ➢ できる限り コード化する ▪ PITR が必要なら •
画面からぽちぽちしていく作業をコマンドにする • 定期的にテスト実行することで信頼性も上げる ▪ 大量の Slow Query をなんとかしたい • Cloudwatch に Slow Query を吐いておいて • 時間指定で取得して pt-query-digest に喰わせる コマンドにしてみる • クエリチューニングの判断材料に
DBRE グループ 稼働率の定義 ◦ ヒトとしての稼働率 ➢ 人材育成 ▪ 新卒研修、DB設計ハンズオン ▪
DB設計相談 ▪ クエリチューニング ➢ 属人化排除 ▪ Platform 化
DBRE グループ の今後の理想像 DBRE 推進していく中で新しい技術などを積極的に取り入れて • 社内のプラットフォームだからこそ、ある程度の自由が許される • 周りから見て DBRE
って面白そうと思ってもらえるような技術の選定をしながら • 共通プラットフォームとしての機能を開発していき • 迷える若手がいた際には 「俺んとこ来ないか?」 • って自信を持って言える組織にしたい • いつでも SWE、QA、SRE などのロールに柔軟に Job Change できれば更によし
まとめ ◦ ぼっちにならない為に ➢ まずは周りを巻き込む基盤を作る ▪ ルールで雁字搦めにしない • 誰でも同じことができる仕組みを作って協業する ➢
Database を聖域化しすぎない ▪ DBA は希少かもしれないが エンジニアはたくさんいる ▪ その人たちの強みを上手く活かしつつヒトのサイクルも考えながら組織づ くりを進める
3. DBRE 本との歩き方
Database Reliability Engineering ◦ オライリー本 ➢ 英語版しかない ▪ Amazon で買うのが一番安い
• 古巣の本屋さんとかあるけど ¥12,096- とか。。 • とりあえずイギリスから届く
DBRE本 輪読会 ◦ 英語そんなに得意じゃない人材なので ➢ しっかり読むためにはまずは写経 ▪ 某翻訳さんと 某検索エンジンさんのコンボ •
大枠をそのまま翻訳にかけて • 分からないところは句や節で ggrks すると スラングにも多少は対応できた • 社内の有志が巻き込まれてくれて輪読会実施中
4. お知らせ
dbtech showcase 2019 ◦ BizReach から 3名が登壇します ➢ 応援よろしくお願いしますmm
Thanks!! @_awache Contact me!