データ指向アプリケーションデザイン(データシコウアプリケーションデザイン)
信頼性、拡張性、保守性の高い分散システム設計の原理
- 著者:
- Martin Kleppmann/斉藤 太郎/玉川 竜司(サイトウ タロウ/タマガワ リュウジ)
- 出版社:
- オライリー・ジャパン
- 出版日:
- 2019年07月18日頃
- ISBN:
- 9784873118703
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
。
技書の森解説
データベース、メッセージキュー、バッチ処理、ストリーム処理。バックエンドを支えるこれらの技術は個別に学ぶと断片的になりがちですが、 Martin Kleppmann はそれらを「データをどう保存し、取り出し、流し、整合性を保つか」という一本の問いで貫いて解説します。特定の製品のマニュアルではなく、あらゆるデータシステムに通底する設計原理 (レプリケーション、パーティショニング、トランザクション、線形化可能性) を掘り下げる構成です。
読者層はバックエンドエンジニアとして 2 〜 3 年の実務経験を持ち、「自分が使っているシステムはなぜこう動くのか」を根本から理解したい人です。内容は決して易しくなく、一度で全てを消化するのは困難ですが、それは守備範囲の広さゆえです。特定の章だけを拾い読みしても十分な知見が得られるため、辞書的に手元に置く使い方が合います。
本書で得られるのは、技術選定やアーキテクチャ設計の場面で「トレードオフを構造的に語れる力」です。 CAP 定理の暗記ではなく、整合性と可用性の間でシステムが実際にどう振る舞うかを具体的に論じられるようになります。原著 (Designing Data-Intensive Applications) が世界中のエンジニアに読み継がれているのは、この力の汎用性ゆえです。
言及 Qiita 記事 (31 件)
【最新技術に振り回されない】 低レイヤーに強くなるための鉄板コンテンツ集
♡ 1073CPU, コンパイラ, OS, システムプログラミング, 低レイヤNewSQLのコンポーネント詳解
♡ 194RDBMS, NewSQL, Database, raftSE 3年目で読んだ技術書52冊
♡ 80技術書, Se, 新人プログラマ応援【読書の夏?】各分野のおすすめ技術書を75冊まとめてみた
♡ 68AWS, Security, 初心者, 技術書, AI急にマイクロサービスやってと言われた時に読む本
♡ 51アーキテクチャ, microservices, マイクロサービス, マイクロサービスアーキテクチャ, 分散システム新卒データサイエンティスト1年目が読んでおいてよかった本10選
♡ 33コンピューターサイエンス, データサイエンス, 計量経済学, 計量政治学Gemini に「オブジェクト指向の継承を使わずにポリモーフィズムする方法」を訊いてみた
♡ 20JavaScript, 関数型プログラミング, オブジェクト指向プログラミング, Gemini, 継承とポリモフィズム今年やってよかった輪読会の本と進め方
♡ 14技術書, 輪読会自称テックリードを支える技術書Top10
♡ 12技術書, キャリア, 本の紹介Aurora DSQLの同時実行制御について
♡ 8AWS, Aurora, DSQL
言及 Zenn 記事 (4 件)
この本に興味がある方におすすめ
この本に関連
関連記事
データベース本ガイド - SQL から設計まで学べる技術書の選び方
データベースの基礎から設計、パフォーマンスチューニングまで学べる技術書の選び方と学習順序を紹介します。
技術書の読む順番戦略 - 複数冊を組み合わせて理解を加速させる
技術書を 1 冊ずつ読むのではなく、複数冊を戦略的に組み合わせることで理解の深さと速度を飛躍的に高める方法を解説します。
OS・低レイヤー本ガイド - コンピュータの仕組みを学ぶ技術書の選び方
OS、コンパイラ、ネットワークなど低レイヤーを学べる技術書の 4 ジャンルと、どこから始めるべきかの指針、賞味期限の見極め方を紹介します。
関連用語
C4 Model
ソフトウェアアーキテクチャを 4 つの抽象レベルで図示するモデル
クリーンアーキテクチャ
ビジネスロジックを外部の技術的詳細から分離し、依存関係を内側に向けることで変更に強い設計を実現するアーキテクチャ原則
オニオンアーキテクチャ
ドメインロジックを中心に据え、外側の層が内側に依存する同心円状のアーキテクチャ
YAGNI
You Aren't Gonna Need It - 今必要でない機能を先回りして実装しない原則
アーキテクチャ
システム全体の構造設計。コンポーネントの分割と関係を決める最上位の設計判断
マイクロサービス
1 つの大きなアプリケーションを複数の小さなサービスに分割し、それぞれが独立してデプロイ・スケール可能な状態で協調動作するアーキテクチャパターン