Database Design and Implementation を読んだ

Database Design and Implementation: Second Edition (Data-Centric Systems and Applications) を読んだのでメモ程度の読書感想文です。

これは何

この本はSimpleDBという機能を省略したRDBMSを作っていきながらDBの仕組みについて学んでいく本です。 機能を省略したといいつつ根本的な機能は一通り揃っていて、例えばFileManagerやLog Managerなどのディスクに書き込むところやBufferPoolを管理するBufferManagerもちゃんとあるし、トランザクション管理をしてクラッシュ時にリカバリーする処理などもある。SQLのパースもやるしインデックスも使うしPlannerやOptimizerなども作るのでベースのコンポーネントとして抑えるべきところはしっかり抑えている印象がありました。

詳しい書評は先人達の記事を参照すると良いと思います。

読んだ感想

とりあえず一周じっくり読んだので2週目を実装しながら読み返しています。 https://github.com/matsu-chara/MySimpleDB

単純にRDBMSの内部を知ることが出来たというのもあるし、MySQLの実行計画読むときも今までとは別の直感が得られた気もするので満足度の高い一冊になりました。専門じゃない割にRDBMSの論文をよく読んでい たのですが、興味範囲が偏りすぎて知らなかったことも結構あったので体系的な知識を身につけられたのも良かったかなと思いました。(特にOptimizer周りの具体的な実装とかほぼ何も知らなかった)