データ指向アプリケーションデザインの表紙

データ指向アプリケーションデザイン(データシコウアプリケーションデザイン)

信頼性、拡張性、保守性の高い分散システム設計の原理

プログラミング
著者:
Martin Kleppmann/斉藤 太郎/玉川 竜司(サイトウ タロウ/タマガワ リュウジ)
出版社:
オライリー・ジャパン
出版日:
2019年07月18日頃
ISBN:
9784873118703
在庫:
在庫あり
4.67(10 件 / 楽天ブックス)
中級者向け
プログラミングデータベースアーキテクチャデザインパターンマイクロサービスデータ構造パフォーマンス最適化システム設計データモデリングスケーラビリティ

なぜ注目されているか

総合37 3 ランクアップ 43 件の言及
言及数
68
05920222023202420252026

書籍紹介

技書の森解説

分散データシステムを学ぶエンジニアの間で、原書タイトル Designing Data-Intensive Applications の頭文字から DDIA の略称で知られる定番書があります。『データ指向アプリケーションデザイン 信頼性、拡張性、保守性の高い分散システム設計の原理』 (Martin Kleppmann 著、斉藤太郎監訳、玉川竜司訳、オライリー・ジャパン、 2019 年 7 月刊) はその邦訳にあたる大著です。データベース、メッセージブローカー、バッチ処理、ストリーム処理といった個別に学びがちな技術を、データをどう保存し、取り出し、流し、整合性を保つかという一本の問いで貫いて解説します。

「データ指向」という言葉の意味と狙い

書名の「データ指向」は、データの量や複雑さ、変化の速さがシステムの主要な課題になるアプリケーションを指して本書が名づけた言葉です。本書は特定製品のマニュアルではなく、リレーショナルデータベース、 NoSQL データストア、ストリーム、バッチプロセッサ、メッセージブローカーといった数多くのツールの背後にある特性とトレードオフを詳述し、自分のアプリケーションの課題に適した技術を選び取れるようになることを狙いとしています。この方針は版元の紹介文にも明記されています。

3 部 12 章の構成、核は第 II 部

構成は 3 部 12 章です。第 I 部「データシステムの基礎」は、信頼性・スケーラビリティ・メンテナンス性という評価軸の定義から始まり、データモデルとクエリ言語、ストレージと抽出、エンコーディングとスキーマの進化までを扱います。第 II 部「分散データ」が本書の核で、レプリケーション、パーティショニング、トランザクション、分散システム特有の問題、一貫性と 合意 という難所を正面から解説します。第 III 部「導出データ」はバッチ処理とストリーム処理を扱い、データシステムの将来を論じる章で締めくくられます。各章末に「まとめ」が置かれているので、関心の強い章から読み始める使い方もできます。

効く理由は分散システムの現実の言語化

本書が効く理由は、分散システムでは単一マシンの直感が通用しないという現実を逃げずに言語化している点にあります。ネットワークは遅延し分断され、時計はずれ、レプリカ間にはラグが生じます。クオラムの一貫性、書き込み衝突の処理、線形化可能性、合意といった概念は個々のデータベースのドキュメントには断片的にしか現れませんが、障害の切り分けや技術選定の判断はまさにこの層で決まります。通読すると、強い整合性か可用性か という標語レベルの二択ではなく、どんな保証をどんな障害条件の下でどれだけのコストで得るのかという粒度でトレードオフを語れるようになります。製品の流行が入れ替わってもこの原理の層は世代交代を越えて通用するため、 2019 年の邦訳刊行から時間が経っても読む価値が保たれています。

対象読者と 660 ページを読む価値

対象読者は、実務でデータベースや分散システムに触れ、自分の使っているシステムはなぜこう動くのかという疑問が溜まってきたバックエンドエンジニアです。前提として、何らかの言語での開発経験と、リレーショナルデータベースやウェブアプリケーションの基本的な理解が要ります。内容の密度は高く通読には相応の体力を要しますが、版元が本書をソフトウェアエンジニア、アーキテクト必携と位置づけるとおり、読後は技術選定の文書や設計レビューで根拠をトレードオフの形で書けるようになり、投じた時間の回収先がはっきりしています。

一方で、プログラミングを学び始めたばかりの人や、特定データベースの操作手順・チューニングのハウツーを知りたい人には向きません。個別製品の使い方は公式ドキュメントや各製品の専門書が早道です。逆に、マイクロサービスやデータ基盤のアーキテクチャを設計する立場の人、複数のミドルウェアを比較して選定する立場の人にとって、本書は判断の土台をまとめて手に入れられる投資です。障害対応や設計レビューのたびに断片的な検索で埋めてきた知識の欠落を一冊で体系化できると考えれば、 660 ページという分量はむしろ効率のよい近道です。

言及 Qiita 記事 (32 件)

言及 Zenn 記事 (4 件)

この本に興味がある方におすすめ

この本に関連

関連記事

関連用語

共有:Xはてブ