『データベースリライアビリティエンジニアリング』(通称DBRE本)を読んだ

DBRE 本を読みました。せっかくなので感想を書きます。 www.oreilly.co.jp

なお、この感想を書いている人間は DBA を3年ほど経験しています。

DBRE については、ざっくり言うと SRE の DB 版というイメージを持っています(単なるデータの管理者ではなく、コードを書いて仕組みを作ったり、他のロールと協業する人)。

どんな本?

従来の DBA (Database Administorator) はデータの管理者、門番という印象が強い。しかし昨今では、データベースそのものの進化に加え、IaC, CI/CD, クラウドインフラといった技術が主流になり、データベース管理(者)をとりまく状況は変わってきている。データベースの本質は「長期的に安定していること」(Reliability) であることに変わりないが、データベースもまた、他のインフラと同じように管理されることが期待されている。このギャップを埋めるための、基本的な概念を解説している書籍…… って感じでしょうか。原著は2017年に出ています。

感想など

目次を見ると分かりますが、前半はオペレーションについて、後半はデータベースを効率的に使用するためのアーキテクチャについて書かれています。SRE本 (O'Reilly Japan - SRE サイトリライアビリティエンジニアリング) と DDIA本 (O'Reilly Japan - データ指向アプリケーションデザイン) をデータベースという具体的なドメインで語りつつ、要約したような内容です。実際にこの2冊は参考書籍としても挙げられています。先にこの2冊を読んでいた場合、インプットとしては少し物足りなさを感じるかも?SRE本+DDIA本で約1200Pほどに対し、DBRE本は約1/4の分量なので、お得にエッセンスを学べるとも言えます。

個人的には、これまで自分が DBA をやってきたときの経験・考え方がいい感じに言語化されていて、読んでいてよい振り返りになりました。7章の「リカバリ戦略の解剖」のくだりを例に挙げると、

バックアップ戦略と呼ばずリカバリ戦略というのには、理由があります。リカバリこそバックアップの帰結となるものだからです。バックアップはその手段となるものであり、究極的には、リカバリの要求仕様に則って実行される必要があります。

これは本当にそのとおりで、"我々はつい気軽にバックアップという言葉を使いがちだけど、本当にやりたいのはデータの保護なんだから、暗黙的にリストアを包含してしまっていたな。たしかに、リカバリ戦略という言葉のほうが実態を表しているなあ……。" といった具合で、頷きながら読める本でした。 主に考え方・哲学を学ぶための本のように感じているので、もっと具体的な実装、ハウツーを知りたいのであれば、この本ではないかもしれないです。

DBRE のあり方として「チームの枠を超えて活動をしよう」と繰り返し述べられています。これは DBA をやったことがある人ほど耳が痛い話だと思います。実際に、開発チームと対立とまでは言わないけど、何らかの壁を感じることはありました。SWE からしたら DB の細かい作法まで守ってコードを書くのは大変ですし、DBA からしたら「なんでこんなクエリ書いちゃったんだ……」「なんでこんな設計でサービスインしちゃったんだ……」と愚痴ってしまうことはあったはず。DBRE らしくあるためには、データベースの世話をする人、面倒を見る人(ケツを拭く人)という気持ちを早めに捨てて、オープンに・積極的に議論に参加していくべきだなあー、と改めて意識できました。

蛇足

  • 英語

原著が発売されたのは2017年です。英語が読めないとそれだけ情報を得ることが遅れると考えると、読めるようになっておきたいなあと思いました。(2018年に Kindle 版の原著を買ったけど、積んでいました ^q^) 正直に言ってしまうと、やや古さを感じる記述がちらほらありましたが、発売当時に読んでいたらそうは感じなかったかもしれません。typo もそれなり。。

  • DBRE というポジション

知っている範囲では、日本では freee さんやビズリーチさん、海外では gitlab さんが DBRE というロールを設けているのを見ています。これらの JD を見たほうが分かりやすいのかも。https://about.gitlab.com/job-families/engineering/infrastructure/database-reliability-engineer/ など。

  • DDIA 本のすすめ

SRE 方面からこの本を読んで、データに関わるシステムの設計に興味を持った方は、ぜひ『データ指向アプリケーションデザイン』も読んでもらいたいです。DBRE 本の 10章-12章 にあったような話題が非常によくまとまっていました。この本の魅力は、もう他の方によりだいぶ語られているので、ここでは話しません。