データ指向アプリケーションデザイン 信頼性、拡張性、保守性の高い分散システム設計の原理
- オライリー・ジャパン (2019年7月18日発売)


- 本 ・本 (660ページ)
- / ISBN・EAN: 9784873118703
作品紹介・あらすじ
。
感想・レビュー・書評
-
データモデルとデータ構造、それを格納するストレージ、前方/後方互換性を持ったスキーマ定義、レプリケーションとシャーディング、分散トランザクションの問題、一貫性と合意アルゴリズム、バッチ処理とストリーム処理など、大量のトラフィックと大量のデータを扱う現代の分散システムを構成する要素一つ一つに対して詳しい説明を行い、分散システムの本質的な難しさに正面から立ち向かって解説しています。分厚く歯応えのある大著であり、分散システム設計の教科書のような存在です。
詳細をみるコメント0件をすべて表示 -
分厚い上に内容は抽象的なので、実務経験を積んでいなければ理解することは難しい。その上で、実務で大規模なデータを取り扱うITエンジニアにとっては有用な指針となるだろう。
スケーラブルで信頼性のあるシステムをどう作れば良いか、という点について絶対の解は存在しない。その上で、どうやって立ち向かっていけば良いかを丁寧に説明してくれる。
中盤、特に5章のレプリケーションと7章のトランザクションについては理解が曖昧だったり足りなかった部分を説明してくれて非常に良い。コードレビューの際にこういった部分を指摘できるようになれたら開発の安全性に寄与するだろう。
秀逸なのが9章で合意が取り扱われることで、8章までの内容を理解しなければ合意アルゴリズムの妙を理解できないということが嫌でも分かる構成になっていることだ。
終盤はRDBやKVSにまつわる問題よりはデータエコシステム全体に関することが説明されるが、モダンなシステムにおいてはやはり考えるべきことであり、学びの多い一冊だった。 -
データを扱うシステムの要素について包括的に解説してある。各要素をゼロから組み立てるような人は完全に理解した方が良いが、組み合わせて構築するほとんどの人は概観を知るだけでも勉強になると思った。
-
素晴らしい本。めちゃくちゃ骨があるが学びがある。
1ヶ月半くらいかかって読了。
ソフトウェア開発に携わるエンジニアであれば全員読んだ方がいいと思った。
特に3章のデータベースエンジンの歴史的な経緯と詳しい実装、7章のトランザクションと発生しうるスキュー、8章のネットワークとクロックの信頼性の低さとそれに対する担保、についての学びが深かった。
障害が起きてから考えるのではなく、実装の段階からこれらの例外を考慮できると一個レベルが上のエンジニアになれると思う。
いくつか実装をしながら記事とかにまとめたい。 -
実務で大規模なシステムの設計や実装をしてる人じゃないと、ついていけない所がいろいろ出てくる。それでも興味がある人は、エンジニアでなくとも読むと面白いと思える内容。
自分は、すべて理解できた訳ではないので、手元に置いといてまたいつか読み直そうと思う。 -
学生購入希望で購入した図書(2022年度)
【所在】図・3F開架
【請求記号】007.6||KL
【OPACへのリンク】
https://opac.lib.tut.ac.jp/opac/volume/463098 -
読んでよかったと思う。
例えば、自分たちが仕事で持っている設計で自然と意識していることが、「スキーマオンリード」という発想に基づく、という名前を得られたといったレベルでの発見や、分散システム上でのデータの分散のさせ方、フェンシングトークンのような自分が今まで知らなかった概念の発見など、触れられてよかった。
もう少し具体としてデータ指向アプリをデザインすることについて語られることを期待していたから、少し抽象度が高いというか、方向性が期待とは異なっていた部分はあるけれど、依然として人に薦められる内容だった。
一回で全て吸収するのは難しい場合もありそうだから、そういう前提で読んでいく方が良さそう。 -
資料ID :82000592
請求記号 : 007.64||T
配置場所:工枚教員推薦図書
(※配置場所は、レビュー投稿時のものです。)
☆特集展示「ITエンジニア本大賞」☆ -
今年、部で輪読していた本。
600Pの分厚い壁をなんとか突破。
途中冗長な部分もあったが、後半はかなり今風の内容もあり、データ志向のアプリケーションをデザインするにはDBの所作や分散システムを理解しておかねばならないということがわかった -
2021年に読んだ技術書の中では一番おもしろかった気がする。タイトルにある分散システムは本書の後半で出てくるが、前半のデータベース基礎論みたいな部分だけでも十分におもしろいし、分散システムを扱わないアプリケーションエンジニアでも有益。実装しながら読むとなお身になりそう。