Webエンジニアのためのデータベース技術[実践]入門を読みました。良い本でした。
Webエンジニアのための データベース技術[実践]入門 (Software Design plus)
- 作者: 松信嘉範
- 出版社/メーカー: 技術評論社
- 発売日: 2012/03/09
- メディア: 単行本(ソフトカバー)
- 購入: 20人 クリック: 486回
- この商品を含むブログを見る
こんな人が読めば良いと思います
僕は「データベース」と名の付く講義を片っ端から受講しなかったので*1、データベースが何者であるのかがよく分かっていませんでした。
かつての僕の中では、
データベースは高速にデータを格納できて、高速にデータを取り出せる魔法の箱的ななにか
という漠然とした認識でしたし*2、
レプリケーション? ああ、「代表」とかそういう意味のアレね
と勘違いしていましたし*3、
トランザクションという言葉を聞いて真っ先に思い浮かぶのが「雨上がりの夜空に」
でしたし*4、まあ色々な思い違いを犯していました。
という具合に、DB の知識がほぼ無い僕でもレプリケーションがなんなのかが理解できましたし、
トランザクションが耐障害性を高めるための技術であることがわかりました。
加えて、その他のDB に関する知識も網羅的に仕入れることが出来たので大変良かったです。
なので、
「データベースってなんなのかわからないわ……いっちょここらでデータベースについて学んどくか!」
みたいな人が読むと良いと思いました。
データベースについて、ある程度知識を有している人についてはわかりませんが多分良い本です。
ただ、ここで言うデータベースというのは書籍名にあるとおり「実践」的な内容が主ですので、
「正規化がうんぬん」みたいないわゆる数学・論理的な内容はあまりカバーしていません。
そういう内容を学びたい場合は他の書籍を当たるのが良いと思います。
特に良かった点
- (リレーショナル)データベースの基礎
- インデックスの仕組み
- MySQL の基礎知識とか
- レプリケーション・トランザクションの解説
- MySQL のソースコードハックに関する章
- 実際の事例に基づいたデータベース (MySQL) のチューン
- NoSQL についての解説 (NoSQL は良く知らなかったので)
あとは
実際にデータベースの運用をしたことがないので、モニタリングとかスケーラビリティとか、「サービスを止めずにテーブルの構造を変更する」とかがいまいちイメージが沸かなかったので、
ここら辺はやっぱり経験がモノを言うのかな―と思いました。
あと、memcached とかRedis といったインメモリDB についてもうちょっと説明が欲しい所でしたが*5、
まあそこらはテメーで別の書籍読んだりWeb で調べたりしろ、って事なんでしょう。
とにかく
DB について門外漢だった僕にとっては大変勉強になりました。これをきっかけにして、他の書籍を読むなどしてデータベースに関する知識を増やしたいと思いました。