読者です 読者をやめる 読者になる 読者になる

futoase

よろしくお願いします。

データベース実践入門を読んだ

人生 読書


会社に買ってもらって、読んだ。
感想書いてなかった。軽く残しとく。

軽い感想

  • メインとしてはSQLの書き方ではなく、リレーショナル・データベースとは何かを説いた本である
  • 集合論について書かれていて、それに1章割かれている
  • 正規化の扱いについても手厚いが、nullについての扱いで1章食いつぶすほど書いてくれているのが印象的だった
  • 正規化について6NFなんて知らなかった…(そんなにあるのね)
  • ただ、場合によっては許容すべきという現実的な解も書かれているので、極端ではなく実務的。まさに実践入門という感じ。
  • SELECT万能論が面白かった。データ取るにはSELECTしかないのでSELECTの機能豊富すぎという話。COUNTやMAXなどの集計関数を利用する場合と、JOINやUNIONを利用して新しい集合を作る場合、など。
  • グラフをRDBで実現する場合、入れ子構造にしたものをパスとして管理するというのが面白かった。自分はフォロー・フォロワー関係のものしかやったことがなかった(1:1)ので、入れ子構造にすれば、どの親の子孫となるのか(枝)が分かるというのが楽しい。
  • 中間テーブル(キャッシュ作成)に関して1章使って説明していたのがよかった。中間テーブルに頼りすぎると一度マスターデータが変わってしまうと集計し直すことになるので、データ量が多くなった場合の扱いが難しいが。
  • キャッシュを作るなら、RedisのField、value, keyをうまく使って一次キャッシュ(フラッシュしても問題ないもの)を作るのが良いということが最初に書かれていた。堅実。
  • 最後の章、「トランザクションの本質」も良かった。リカバリ時のバイナリログからの復旧などオペレーションとしては認識しているものが多いものの、本質については深くしらない箇所もあった。PostgreSQLの場合WALの扱いなどもあるのでそこら辺は自分で調べるしかないか。

読んでみて

これは必読書だ。

Copyright (c) 2013-2017 Keiji Matsuzaki