https://www.oreilly.co.jp/books/9784873118703/
データに大きく関わる仕事をしている以上、読んでおいたほうが良いと思い購入。電子で買うと厚さがわからない分気軽に読めるがなんせ長い。
さすがに長すぎるので今回は下記の手順で読んだ。
- 目次と本全体を流し読み
- 再度流し読みして、本に対する質問を作る
- 「CAP定理が有益でないのはなんで?」とか
- 質問を作った部分は読書メモを取りながら、全体を改めて読む。
正直完璧に理解できたとは全く言えないが、とても学びがある本だった。
個人的に好きだったのは「第2部 分散データ」のあたり。
これまではなんとなく理解していたパーティショニング・レプリケーション・トランザクションあたりが言語化された感覚がある。多少でもRDBや他のデータストアに関わっている人なら楽しく読めそう。
「8章 分散システムの問題」「9章 一貫性と合意」もとても面白かった。これまで「Elasticsearchはnノードにしようか。replica数はいくつで〜」という会話をよくしてきた。しかしその設定の裏にあるこれらの問題と苦労までは意識できておらず、これらを隠蔽してくれている数多の製品・サービスには本当に頭が下がる気持ちになった。
ここを読むのに合わせて、こちらのスライド資料も非常に参考になった。この本の中で「2相コミットは問題が多い」という記述は多々みたが、実際にはどのような問題があるのかという理解の助けになった。
また、この本を読むのにあわせて、MySQLのドキュメントの確認 + 手元での設定を試してみたがなかなか良かった。本ではこう言っているが実際はどうやるの?みたいなところがクリアになる。
改めて、本で語られていることのうち実際に吸収できたのは半分にも満たない気がするが、とても学びのある本だった。第二版や後継となる本が出たら是非買いたい。