これはすごい「Linux-DB システム構築/運用入門」を読んだ

Linux-DB システム構築/運用入門 (DB Magazine SELECTION)

Linux-DB システム構築/運用入門 (DB Magazine SELECTION)

読み始めた瞬間からこれは良い本だと思って一気に読んだ技術書はEffective Java 第2版 (The Java Series)以来かもしれない。Effective Javaを読んだときは既にJavaが本業ではなくなっていたけれど、このLinux-DB本は今自分がもっとも知るべき内容だったことも大きいかもしれない。
自分が是非購入しようと思ったきっかけは奥さん「Linux-DBシステム構築/運用入門」がすごい - あなたのシステム、ガラパゴス化していませんか?というエントリ。特に次の文に興味を持った。

なぜそうなるのか、どう応用すればいいのか、といった点まで広くカバーしている

http://d.hatena.ne.jp/kazuhooku/20090915/1252992493

いざ購入して読んでみると、よくある技術書の苛立ちの真逆をいく痛快な展開となっていた。自分が(特にOSやミドルウェアについて書かれた)技術書を読んでいてどうもスッキリしないのは次のような体験が多かったからだと思う。

  • 網羅的に書かれているが辞書のようになっている
    • ほとんど実務で利用しないことが多く、学習効率が悪いし印象にも残らない
  • 初歩的なところはやたらと説明が厚いが肝心の実務で使えそうな部分は「こんなこともできますので試してみてください」などと説明が逃げ腰
    • 一番知りたいところを隠された気分(というか著者もわからないのかな?)
  • 実務で必要なオペレーションが考慮されていない
    • 例えばバックアップが不要なDBは実務だとあまりないだろうけれども、なぜかそういう設定がスルーされている

しかし、本書はこれらに全く当てはまらない。言うなれば百戦錬磨の予備校講師が書き下ろした受験生専用の参考書のようなものだ。
本書は、高可用性編とパフォーマンス編からなり、高可用性編ではDBサーバが落ちたときのような単純なケースに留まらず「プライベートネットワークは生きているが外部ネットワークが切断されてしまった場合にどうフェイルオーバーするか」など実践的な解説があり、パフォーマンス編ではハードディスク、メモリ、Linux、DB(特にMySQL)がそれぞれがどういう処理を行うがゆえにボトルネックが発生するのか、そしてどうチューニングすべきかが記されている。
24時間365日稼働が要求されたり、大量トラフィック・大量データにおけるパフォーマンスが必要な現場エンジニアに非常にお勧めできる一冊。