- Amazon.co.jp ・本 (200ページ)
- / ISBN・EAN: 9784865940251
作品紹介・あらすじ
◆◆◆一番の近道は DB技術の“再入門”だった!◆◆◆
RDBの本格普及から四半世紀、未だシステム障害の多くはDBMSの誤用に起因しています。
本書はそうしたDB利用のアンチパターンを暴き出し、基礎理論の要諦を再確認。
DB設計やSQLの最適化、運用の改善策を明示します。
設計・実装・障害対応の最前線を渡り歩き、RDBMSを知り尽くした著者が経験知を凝縮して、
読者の“再入門”を手引きします。
感想・レビュー・書評
-
データベースを業務に使ってある程度分かってる人にたいしての、データベース本。といっても、書いてあることは難しくないので、SQLは分かったけど次のステップに進みたいという人にはいいかもしれないと思った。内部構造や実行計画の見方など、そういうところを知りたかったということが書かれてある。
データベース、というよりリレーショナルデータベースというのはただ表形式でデータをまとめたものというイメージがあるけど、そんな単純なものではないのだろうなというのがよく分かった。
なんでもSQLでやってしまおうというのは、自分がまさにそのタイプだな。昔、JOINはあまり使いたくないから何度もSQLを呼ぶタイプの人と対立したことあるけど、今思うともう少し耳を傾けてもよかったかなと思う(どっちもどっちかもしれないけど)。
テーブル同士の差を求めるMINUSという演算子があるけど、あれが有効なことってあるのだろうか。NOT EXISTSを使えばいいだけだし、そのほうが速いそうだし。MINUSなんてデータベースでの差分をとる例でしか見たことがないのだけど。
リレーショナルモデルにおける商については、初めて知った。有用といえば有用だけど、NOT EXISTSの中にNOT EXISTSがあってかなりややこしい。joinとgruop by使った方がシンプルな気もするのだけど、集計関数使う分、そっちのほうがコスト高いのだろうか。
CAP定理という言葉は初めて知った。「一貫性(Consistency)」「可用性(Availability)」「分断耐性(Partition)」の略だそうだけど、いまいち分からなかった。この本でも詳しくは書かれてなかったし、そこまで気にする必要もないのかな。
後、インデックステーブルというのがよく分からなかった。検索キーと最低限必要な列をもった、レコード長の小さなテーブルにすることでアクセス性能を高めるということだけど、具体例が書いておらず。ググっても普通のインデックスのことについて書かれたページしかヒットせず。データの二重持ちになるからあまり使わないほうがいいのだろうけど、ちょっと気になった。
いろいろ書いてあったけど、やっぱりSQLの基本は実行計画なんだろうなと思った。特に、更新が多いテーブルなんかは、実行計画も変わるだろうから注意したほうがいいのかもしれない。詳細をみるコメント0件をすべて表示