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
4.3k
20190805_DBRE_Night
20190805 そーだいなる DBRE Night での発表資料です
_awache
August 05, 2019
Tweet
Share
More Decks by _awache
See All by _awache
o11yで育てる、強い内製開発組織
_awache
4
460
20250710-dbtech-showcase-C7.pdf
_awache
0
54
Restarting_SRE_Road_to_SRENext_.pdf
_awache
1
500
SREKaigi.pdf
_awache
3
7.8k
Practical_Tips_for_Using_Confluence__Jira__and_Findy_Team__Right_Now.pdf
_awache
2
500
【関西DB勉強会】 ~ 全部見せます ~KINTO テクノロジーズの DBRE とは
_awache
2
3.4k
KTC_DBRE.pdf
_awache
1
670
_オープニング__GitLabに学ぶ_世界最先端のリモート組織のつくりかた_そーだいなる輪読会キックオフ.pdf
_awache
0
140
[Opening] DBRE Summit 2023
_awache
0
610
Other Decks in Technology
See All in Technology
Kubernetesと共にふりかえる! エンタープライズシステムのインフラ設計・テストの進め方大全
daitak
0
450
AS59105におけるFreeBSD EtherIPの運用と課題
x86taka
0
270
TypeScript×CASLでつくるSaaSの認可 / Authz with CASL
saka2jp
2
120
グローバルなコンパウンド戦略を支えるモジュラーモノリスとドメイン駆動設計
kawauso
3
8.5k
現地速報!Microsoft Ignite 2025 M365 Copilotアップデートレポート
kasada
2
1.7k
AWS re:Invent 2025 で頻出の 生成 AI サービスをおさらい
komakichi
3
220
IaC を使いたくないけどポリシー管理をどうにかしたい
kazzpapa3
1
160
ローカルLLM基礎知識 / local LLM basics 2025
kishida
23
8.3k
AI時代の戦略的アーキテクチャ 〜Adaptable AI をアーキテクチャで実現する〜 / Enabling Adaptable AI Through Strategic Architecture
bitkey
PRO
15
9.9k
膨大なデータをどうさばく? Java × MQで作るPub/Subアーキテクチャ
zenta
0
120
PostgreSQL で列データ”ファイル”を利用する ~Arrow/Parquet を統合したデータベースの作成~
kaigai
0
160
AI × クラウドで シイタケの収穫時期を判定してみた
lamaglama39
1
390
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
340
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
A Tale of Four Properties
chriscoyier
162
23k
For a Future-Friendly Web
brad_frost
180
10k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Into the Great Unknown - MozCon
thekraken
40
2.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
980
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
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!