書籍『データベース技術[実践]入門』の感想

タイトルの括弧が気になる

 いやー、GWは「夏ちゃうか?」と思うような暑さでしたが、最近ようやく春らしくなりまして、ちと肌寒いくらいですね。気温の急激な変化にカラダがついていかんわーってことで、連日カラダはだるいし、ずっと風邪気味な感じが続いておりまする。
 そんな中、MySQLエキスパートの松信さんが書かれた本のタイトルを見て、「Webエンジニアのための・・・」って書いてあったので、これは買うしかと直感的にピーンときまして買いました。体調のせいで、買ってから読むのに時間がかかり、さらに読んでからブログ書くのにまたもや時間がかかっております。
 しばらくぶりにブログ書こうとして表紙を眺めてみると、タイトルの「実践」が大括弧の「[]」で括られていて、「[実践]」って書いてあるのに気づいてしまいました。わざわざ「実践」の箇所に括弧をつけて強調しているのは、きっと深い意味があるんでしょうなー。どんな意味があるのか、ワタシなどには想像もできません。。。(誰か教えてください)
 というわけで、基本的なことを学ぶのはとても勉強になるので、初心なつもりで本書を読むことにしました〜♪

なぜデータベースを使うのか

 書籍の感想は、大体次のような感じです。

  • なぜデータベースを使うのかが分かる
  • 運用のテクニックがたくさん書いてあってステキ
  • 将来的な展望も書いてあって大変勉強になります

 第1章 データベースがないと何が困るのか

 しょっぱなからサイコーの第1章だと思いました。データベースがないと何が困るのか、なぜデータベースを使うのか。そんなことあまり考えたことがなかったので、改めて聞かれると、うっかり「なんとなく必要だから」という答えてしまいそうですねぇ。簡単に答えを纏めちゃうと「大量データの扱い」「障害の対応」「排他の制御」「データの整合性」の4点とのことでした。逆にこの4点がどっちでもええなら、データベースを使う理由はないんですね。あと4点とも全部、運用よりのお話だと思いました。しばらく運用しないと大量データにならないでしょうし、障害が起こったときに排他制御やデータの整合性がしっかりしていないと困るのも運用の方々ですね。ワタシはどちらかというと運用より開発側の人間なので、運用のときに困らないようにデータベースを使うということなんですねーと気づいたときは、なんだかハッとしました。なんか当たり前の事なんでしょうけど、改めて理解できたような気がしましたヨ。
 運用のこともたくさん書いてあります。運用の勘どころとしては、最初に「よく知っていて枯れた技術を使う」っていう記述がありました。重要ですねー、コレ。あと、興味深かったのは、レプリケーションの仕組みを使ってできるだけ止めないででスキーマの変更をする方法でした。テーブル定義のスキーマを変更するときには、テーブルがロックされて更新ができないのを回避する方法です。データベース側でマスターとスレーブを簡単に入れ替える仕組みと、アプリ側に見に行くデータベースを簡単に切り替える仕組みが必要なのですが、すごいテクニックですなーと思いました。
 将来的な展望やSSDやNoSQLにもたくさん触れられています。本書の最初に、「既存の技術をしっかり理解しておけば、新しい技術がでてきたときにもより深く理解できる」とありました。ハイ、大変勉強になります。そして耳が痛い。。。まずは既存の技術を理解するところから出直したいと思っておりますデス。

MySQLのソースを見てみようかな

 本書には、MySQLソースコードの追い方まで書いてありますね。既存の技術を理解するには、やはりソースコードを見て勉強するのが理解が早いんだろうなと思いますが、なかなかハードルが高くて腰が重いです。最初は本書のとおりにそのままやってみようカナー?。
 まぁ、ワタシの場合、体調次第になってしまうのですが、近いうちに一度ソースコードを眺めてみようかなぁと思います。本書を読むとMySQLに限らずオープンソースのデータベースに興味を持ってしまうような、そんなステキな一冊だと思いましたですヨー。

Webエンジニアのための データベース技術[実践]入門 (Software Design plus)

Webエンジニアのための データベース技術[実践]入門 (Software Design plus)