「RDBMS解剖学 よくわかるリレーショナルデータベースの仕組み」を読んだ
結構古い本です。中古で書いましたが、多分新品はあまり出回っていないと思います。
この本を読んだ動機
- CC本(Bernstein本)やweikum本をいきなり読むのはきついので、RDBMS(自体の)入門書が読みたい
- DBのコンポーネントを特定製品に依存しない形式で理解したい
- 特定の製品に依存していないMVCCの日本語解説を読みたい
などを理由にこの本を読みました。
Concurrency Control and Recovery in Database Systems
- 作者: Philip A. Bernstein,Vassos Hadzilacos,Nathan Goodman
- 出版社/メーカー: Addison-Wesley
- 発売日: 1987/02/01
- メディア: ハードカバー
- この商品を含むブログを見る
- 作者: Gerhard Weikum,Gottfried Vossen
- 出版社/メーカー: Morgan Kaufmann
- 発売日: 2001/05/30
- メディア: Kindle版
- この商品を含むブログを見る
ノート
- SQLを解釈実行するパーツ
- データベースの構造を司るパーツ
- カタログ管理
- インデックス管理
- バッファ管理
- ストレージ管理
- 複数のアプリケーションからの要求や可溶性を司るパーツ
雑感
- プランには論理プランと物理プランの2種類がある
論理プラン
データベースの処理手順を「関係代数」の言葉で(厳密にはこれだけではないが)書き下したのが「論理プラン」である(p36)
物理プラン
論理プランをコンピュータ上の実行手順に書き換えたものを物理プランという(p36)
- 論理プランではSQLで書かれた内容を関係代数の操作に書き直す(和、差、共通、選択、射影、直積、結合)
物理プランでは結合アルゴリズム(nested loop/sort merge/hash join)を選んだりスキャン方式(index/table scan)を選ぶ
WAL(Write a head log)のメリットがわかりやすく書かれている。
Create tableで宣言したテーブル情報は一般に「カタログ情報」というらしい。これは知らなかった。
- 本書ではMVCCはMVTO (Multi Version Timestamp Ordering)のプロトコルを例に説明されている
微妙な点
- 記述が若干古い
- HDDが100GBの時代。
- もちろんSSDやOn memory DBなんてない
- JOIN構文がまだ存在していない
- FROM句にテーブルをカンマ区切りで列挙してWhere句に結合条件を書くスタイル
と、こんな感じです。RDBMSの内部に切り込んでかつ特定製品に依存しないような類書はあまり無いように思います。データベーススペシャリストの獲得を目指す方が副読本として読むのがいいのではないでしょうか。
RDBMS解剖学 よくわかるリレーショナルデータベースの仕組み (DB Magazine Selection)
- 作者: 鈴木幸市,藤塚勤也
- 出版社/メーカー: 翔泳社
- 発売日: 2005/02/22
- メディア: 単行本(ソフトカバー)
- 購入: 11人 クリック: 88回
- この商品を含むブログ (26件) を見る