DBの「生きてる」をどう定義する?DBREが実践するSLO/SLI設計ガイド
「データベースは正常に動いていますか?」
この問いに対して、単に「プロセスが死んでいないからOK」と答えるだけでは、現代の大規模・複雑なシステムを守るには不十分です。
システムの信頼性をエンジニアリングの手法で管理するDBRE(Database Reliability Engineering)にとって、最も重要な道具の一つがSLO(サービスレベル目標)とSLI(サービスレベル指標)です。
実践DBRE Vol.1で移行を整理し、実践DBRE Vol.2で最適化を整理した先に待っているのは、「継続的に信頼性を管理し続けるための仕組み作り」です。
本記事では、実践DBRE Vol.3の内容をベースに、データベースにおけるSLO/SLIの具体的な設計方法を解説します。
1. なぜデータベースに独自のSLOが必要なのか
アプリケーション全体のSLO(例:HTTPレスポンス 500ms以内)だけでは、データベースの「予兆」を捉えることができません。
- アプリは正常に見えるが、DBのコネクション数が上限ギリギリである
- 特定のバッチ処理が走り、一部の読み取りクエリだけが異常に遅延している
こうした「部分的な不健全さ」が大きなインシデントに発展する前に、データベース特有の視点で指標(SLI)を定義する必要があります。
2. DBREが選ぶべき「4つの主要SLI」
データベースの「健康状態」を定義する際、以下の4つのカテゴリから指標を選定するのが実践的です。
① 可用性(Availability)
-
指標案:
(成功したクエリ数) / (実行された全クエリ数) - ポイント: 単なるアップタイムではなく、アプリケーション側から見て「意図した通りに応答が返っているか」を重視します。
② レイテンシ(Latency)
-
指標案:
クエリ実行時間の p95 / p99 - ポイント: 平均値ではなくパーセンタイルで見ることが重要です。特に「100億円キャンペーン」のようなスパイク時には、テールレイテンシの悪化がシステム全体の死を招きます。
③ スループット(Throughput)
-
指標案:
秒間クエリ数 (QPS) / 秒間書き込みデータ量 - ポイント: 現在の負荷が、Vol.2で設計したスケーラビリティの限界に対してどの位置にあるかを可視化します。
④ 飽和度(Saturation)
-
指標案:
CPU利用率 / コネクション使用率 / ディスクI/O待ち - ポイント: 「あとどれくらいでリソースが尽きるか」を測ります。これは将来のキャパシティプランニングに直結します。
3. 開発チームとの「責任共有モデル」とエラー予算
SLOを定義する真の目的は、「開発速度(Velocity)」と「信頼性(Reliability)」のトレードオフを組織的に解決することにあります。
ここで重要になるのがエラー予算(Error Budget)という考え方です。
- SLOが守られている間: 開発チームは自由に新機能をリリースできる。
- エラー予算を使い果たした場合: リリースを一時停止し、DBREと開発チームが協力して「信頼性向上(バグ修正やパフォーマンス改善)」にリソースを集中させる。
この「ルール」をあらかじめ合意しておくことで、インシデントが発生した際に「誰の責任か」を押し付け合うのではなく、共通の指標(SLO)に基づいて建設的な意思決定ができるようになります。
4. インシデント対応とポストモーテム(事後分析)
どれだけ完璧なSLOを設計しても、障害はゼロにはなりません。DBREの価値は、障害後にどう振る舞うかで決まります。
- Blameless Post-mortem(非難のない事後分析): 人を責めるのではなく、プロセスの欠陥を探ります。
- RCA(根本原因分析): 「なぜDBが止まったか」だけでなく、「なぜ監視が検知できなかったか」「なぜ復旧に時間がかかったか」まで深掘りします。
このプロセスを通じて得られた知見をSLO/SLIの再設計にフィードバックする。このサイクルこそが、チームとしての「運用の信頼性」を育てます。
結論:指標は「対話」のための道具である
SLO/SLIは、ただのグラフではありません。エンジニアリングチームとビジネスサイド、あるいは開発者とDBREが、「今、何に投資すべきか」を正しく判断するための共通言語です。
まずはスモールステップで、今のDBの「健康」を定義することから始めてみませんか。
大規模プロジェクトのリーダー・マネージャーの皆様へ
私の著書『実践DBRE(Database Reliability Engineering)vol.3』では、本記事で触れたSLO/SLIの具体的な計算式や、開発チームとの調整で役立つコミュニケーション術、さらにはセキュアなデータ管理の実践方法まで、組織として信頼性を高めるための「人とプロセス」のノウハウを網羅しています。
技術だけでなく、チームの力で最高の信頼性を築きたい方は、ぜひ本編をチェックしてみてください。

Discussion