Designing Data-Intensive Applications
https://dataintensive.net/images/book-cover.png
買った本
和訳が無いので英語版
和訳本製作中?
PDFで613ページ
各章ごとにイントロとサマリーがついてる
さらに、クロスリファレンスもしっかりしている
目次見て気になったとこから読んでOK
もともと結果整合性のあるシステムを設計するときの知見を体系的に得たくて本を探していた この本はカバーする範囲がやや広くて理論・基盤に寄った印象がある
分散システムというとパフォーマンスや信頼性といった話が中心になりがち
この本はメンテナンスや運用の簡単さにも焦点を当てている
副題に挙がっている「信頼性」「スケーラビリティ」「メンテナンス性」は最初の章で定義されているので、試し読みしてから自分に合っているか判断すればいい
自分が興味があるのはメンテナンス性の話
DBもメッセージキューもキャッシュもそれらを組み合わせたアプリケーションも全部data systemsだよ、というのがこの本の視点
面白いと思ったトピック
ドキュメントデータベースでMany-to-Manyをどう実現するか
最古のコンピューターデータベースIMSを紹介
これは階層式レコードがモデル
Many-to-Manyの問題を解決するべく発明されたネットワークモデル(CODASYL)vsリレーショナルモデルのおさらい
ネットワークモデルは難しすぎた
一つのレコードに至るアクセスパスがいくつもあって、読み書きするコードが複雑化し、データモデルに変更を加えることが難しかった
ネットワークDBではアクセスパスをたどることによってしかデータノードにアクセスできなかった
RethinkDBのjoin機能に言及
第3部 Derived Data
異種のデータシステムを連携させる方法