ISBN 9784798158723
絵で見てわかるSQL Serverの仕組み
概要
SQL Serverの物理構造と内部動作を図解で体系的に理解する
想定読者
SQL Serverを使ったデータベース開発・運用を担うエンジニアのうち、クエリが遅い理由やロック競合の原因を物理レベルで追跡したい人。クラウド移行(Azure SQL Database / SQL Server on IaaS)を検討しているDBAにも有用。
こんな人には向いていない
- SQLの基礎文法からデータベースを学び始めた初学者。本書はT-SQL構文の入門書ではなく、ストレージ構造やバッファプール等の内部概念を前提として論じる
- PostgreSQL・MySQLを主戦場としているエンジニア。本書の知見はSQL Server固有の物理設計に特化しており、他エンジン間の比較論点はほぼ扱わない
- SQL Serverを長年本番運用しており、列ストアインデックスやインメモリOLTPを既に実務設計したことがある上級DBA。改訂の差分確認用途には使えるが、全章通読に見合う新情報は少ない
読了後にできるようになること
- SQL Serverのバッファプール、ページ構造、エクステント管理など物理ストレージの仕組みを説明できる
- クラスター化インデックスと非クラスター化インデックスの内部B-tree構造の違いを理解し、クエリプランの読み方に活かせる
- 列ストアインデックスとインメモリOLTPオブジェクトの設計用途と適用判断ができる
- ロックとラッチの違い、行バージョン管理(MVCC)によるブロッキング回避の原理を運用に応用できる
- Azure SQL DatabaseおよびSQL Server on IaaS各サービスの特性差を物理構造の観点から比較できる
- サポート業務経験に基づいたトラブルシューティングTipsを実務の障害対応に直結させられる
ハイライト
- 物理構造や内部動作を理解することで、SQL Serverの技術的な特性を十分に活かせるようになり、現場でのデータベース開発/運用業務の効率化やトラブルシューティングに役立てることができます(本書が内部構造の習得をトラブルシューティング力の向上に直結させると明示している箇所)
- 筆者のSQL Serverサポート業務の経験も随所にちりばめており、SQL Serverの実践的なTipsや活用ノウハウ集としても利用できます(理論書に留まらず実務ナレッジが盛り込まれていることを示す記述)
編集メモ
今回の入力にQiita記事データおよびRakutenランキング情報が含まれていないため、メカニカルなシグナルスコアは算出不可。書誌情報のみから判定し、supplementaryとする。シグナルデータが入手できた時点で再評価が必要
読む前に押さえておきたいこと
- SELECT / JOIN / インデックス作成など基本的なT-SQL操作の経験
- SQL Serverを使ったシステム開発または運用に最低半年程度携わっていること
- トランザクションとACIDプロパティの概念的な理解
学習のコツ
- 第1〜2章の物理構造(ページ・エクステント・バッファプール)を土台として読んでから、インデックス章やロック章に進むと概念が繋がりやすい
- 列ストアインデックスとインメモリOLTPの章は分析系ワークロードとOLTPチューニングで別々のニーズに応えるため、担当案件の性質に合わせて優先順位を変えて読む
- クラウドプラットフォーム比較の章は現行環境がオンプレであっても、Azure移行検討時の要件整理に参照資料として活用できる
- 前著『絵で見てわかるSQL Serverの内部構造』を読んでいる場合は、追加された列ストア・クラウド章を中心に差分確認として読み進めると効率的
出版社による内容紹介
SQL Serverの物理構造と内部動作を理解しよう! ロングセラー『絵で見てわかるSQL Serverの内部構造』が11年ぶりに大改訂。 SQL Serverの物理構造(アーキテクチャ)や内部動作を、 豊富な図解をもとに丁寧に解説した一冊です。 最新DB環境をベースに、図(絵)や解説の全体的な見直し・書き直しを行ったほか、 列ストア/インメモリ型オブジェクト、 PaaS/IaaS各種クラウドデータプラットフォームの解説などを追加。 物理構造や内部動作を理解することで、 SQL Serverの技術的な特性を十分に活かせるようになり、 現場でのデータベース開発/運用業務の効率化や トラブルシューティングに役立てることができます。 また、筆者のSQL Serverサポート業務の経験も随所にちりばめており、 SQL Serverの実践的なTipsや活用ノウハウ集としても利用できます。
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。