データベースリライアビリティエンジニアリング
データベースリライアビリティエンジニアリング
回復力のあるデータベースシステムの設計と運用
- 著者:
- Laine Campbell / Charity Majors / 八木和生(レイン キャンベル / チャリティ メジャーズ / ヤギ カズオ)
- 出版社:
- オライリー・ジャパン
- 出版日:
- 2021年04月16日頃
- ISBN:
- 9784873119403
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
物理サーバからパブリッククラウドへの遷移と、DevOps/SRE のムーブメントをワークフローを取り入れるために求められるサーバ設計管理の考え方を詳述!
スケールを前提とした Web アプリケーションの設計、マイクロサービスからおこる障害、開発と運用の協業など、開発環境の変化に応じて、データベース設計・管理でも、これまでになかった新たな方法が求められています。データベースの世界では従来のように自分でサーバ上に MySQL や Oracle などを構築した方法から、AWS や GCP などのマネージドなデータベースサービスを使うように変わってきており、それに応じたデータベースの管理方法を学習します。
技書の森解説
データベースを長期にわたって安定して動かすための考え方と手法を、「データベースリライアビリティエンジニアリング」と名づけて紹介する本が『データベースリライアビリティエンジニアリング』 (Laine Campbell、Charity Majors 著、八木 和生 訳、オライリー・ジャパン、2021 年 4 月 16 日発行) です。原書は Database Reliability Engineering で、副題は「回復力のあるデータベースシステムの設計と運用」です。版元の紹介文は、パフォーマンスやスケーラビリティに加えて、セキュリティ、インフラのコード化、CI/CD、クラウド活用にも取り組む必要があるという状況を出発点に置き、読者として「開発者、システム管理者、データベースの本質を究めてデータベースリライアビリティエンジニアへと進化したい DBA はもちろん、サービスのリライアビリティに関わるすべてのエンジニア」を挙げています。
DBRE の指針からデータアーキテクチャまで、全 13 章の構成
1 章のイントロダクションは DBRE の指針として 5 つの項目を掲げ、2 章のサービスレベルマネジメントでは SLO の指標としてレイテンシ、可用性、スループット、耐久性、費用対効果を取り上げて、その監視とレポートまでを扱います。3 章のリスクマネジメント、4 章のオペレーションの見える化 (テレメトリとメトリクス、イベント、ログを入力にする OpViz フレームワーク) と続き、5 章ではホスト、仮想化、コンテナ、DBaaS という動かす基盤の選択肢を並べます。6 章のインフラストラクチャマネジメントはバージョンコントロール、インフラ設定の定義と管理、オーケストレーション、テストとコンプライアンス、サービスカタログ、開発環境を扱い、7 章のバックアップとリカバリ、8 章のリリースマネジメント、9 章のセキュリティへ進みます。後半の 10 章はストレージ、インデックス、レプリケーション、11 章はデータストアフィールドガイド、12 章はさまざまなデータアーキテクチャで、最後の 13 章がデータベースリライアビリティ文化を扱う実践 DBRE です。
SLO と復旧戦略をデータベースの運用に持ち込む意味
この本の土台にあるのは、Web サービスの運用で広まった SRE の考え方をデータベースにも当てはめる発想です。中心になるのが、利用者から見た品質を数値の目標として決める SLO です。「速く安定して動いている」という感覚の代わりに、たとえば応答時間や可用性を測れる形で目標に置けば、障害対応や改善の作業にどこまで手をかけるかを、目標との差で判断できるようになります。データベースはアプリケーションより後ろにあるため利用者から見えにくい部品ですが、遅延や停止はそのまま利用者の体験に響くので、指標を決めて監視する意味が大きい領域です。
もう一つの柱は、構成と変更を手作業から切り離すことです。サーバーやデータベースの設定をコードとして書き、バージョン管理の下でテストしてから適用する Infrastructure as Code の手法を使えば、同じ構成を何度でも作り直せるので、壊れたものを修理するより作り直す運用が選べるようになります。バックアップについても、取得できているかではなく、決めた時間の範囲で決めた時点まで戻せるかが問われます。7 章の節も、基本的原則に続いてリカバリ考察、リカバリのシナリオ、リカバリ戦略の解剖、リカバリ戦略の定義と、復旧の側から並んでいます。
製品の手順書ではない点と、2021 年刊の時点
章題には特定のデータベース製品の名前が無く、10 章から 12 章もストレージやレプリケーション、データストアの属性、アーキテクチャの組み立てを概念として扱う並びです。特定の製品のパラメーター設定やチューニングの手順を引ける本ではないため、手元の製品の内部構造や SQL の書き方を深めたい場合は データベースの技術書の選び方 を参考に、製品ごとの本を組み合わせるのが近道です。また日本語版の発行は 2021 年 4 月で、楽天ブックスの書誌の紹介文が示すとおり、マネージドなデータベースサービスへの移行が論点になっていた時期の本です。各クラウドのサービスの機能や名前はその後も変わり得るので、具体的な設定は各社の公式ドキュメントで確かめる前提で読むと、原則の部分を長く使えます。
アプリケーション開発の傍らでデータベースの運用も任されるようになった人や、DBA としての経験を自動化と計測を軸にした働き方へ広げたい人にとって、SLO の決め方から復旧戦略、リリースと変更の管理までをデータベースの視点で 1 冊にまとめた本書は、何から整えるべきかの優先順位を自分のチームで決めるための地図になります。
言及した記事 (7 件)
SREとDevOpsのおすすめ書籍まとめ
♡ 118devops, SREデータ基盤設計の実践書5選
♡ 1データエンジニアリング, データモデリング, 分散システム, devops, Database【3章】データベースリライアビリティエンジニアリングの読書メモ
♡ 1oreilly, dbre【2章】データベースリライアビリティエンジニアリングの読書メモ
♡ 1oreilly, dbre【1章】データベースリライアビリティエンジニアリングの読書メモ
♡ 1oreilly, dbre「データベースリライアビリティエンジニアリング」読了
♡ 0読書, Database読書メモ: データベースリライアビリティエンジニアリング――回復力のあるデータベースシステムの設計と運用
♡ 0db, dbre
関連記事
データベース本ガイド - SQL から設計まで学べる技術書の選び方
データベースの基礎から設計、パフォーマンスチューニングまで学べる技術書の選び方と学習順序を紹介します。
障害対応の夜に思い出す、あの本の 1 ページ
本番障害の緊迫した場面で、過去に読んだ技術書の知識が助けてくれることがあります。「いつか役立つ」知識が「今この瞬間」に変わる読書の価値を考えます。
バグを生むのは知識不足ではなく想像力不足である
バグの多くは、コードを書いた時点で「こういうケースもありうる」と想像できなかったことが原因です。想像力を鍛える読書法と、エッジケースへの感度を高める方法を解説します。
関連用語
Firebase
Google が提供するアプリ開発基盤。サーバー構築なしで認証や DB を利用できる
AWS
Amazon が提供するクラウドサービス群で、サーバーやデータベースを必要な分だけ利用できる
Django
Python 製のフルスタック Web フレームワーク。必要な機能を一式備え高速開発を支える
HATEOAS
REST API のレスポンスにリンクを含め、クライアントが次に取れるアクションを動的に発見できるようにする設計原則
Database
データを整理して保存 / 検索 / 更新するための仕組み。システムの根幹を担う
Web アプリケーション
ブラウザーを通じて利用するアプリケーション。インストール不要で幅広い端末で動く