絵で見てわかる SQL Server の仕組み
エデミテワカルエスキューエルサーバーノシクミ
- 著者:
- 平山 理(ヒラヤマ オサム)
- 出版社:
- 翔泳社
- 出版日:
- 2020年09月14日頃
- ISBN:
- 9784798158723
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
SQL Server の物理構造と内部動作を理解しよう!
ロングセラー『絵で見てわかる SQL Server の内部構造』が 11 年ぶりに大改訂。
SQL Server の物理構造 (アーキテクチャ) や内部動作を、
豊富な図解をもとに丁寧に解説した一冊です。
最新 DB 環境をベースに、図 (絵) や解説の全体的な見直し・書き直しを行ったほか、
列ストア / インメモリ型オブジェクト、
PaaS/IaaS 各種クラウドデータプラットフォームの解説などを追加。
物理構造や内部動作を理解することで、
SQL Server の技術的な特性を十分に活かせるようになり、
現場でのデータベース開発 / 運用業務の効率化や
トラブルシューティングに役立てることができます。
また、筆者の SQL Server サポート業務の経験も随所にちりばめており、
SQL Server の実践的な Tips や活用ノウハウ集としても利用できます。
技書の森解説
SQL Server が CPU、ディスク、メモリをどう使い、受け取ったクエリをどう処理しているのかを、図を追いながら理解するための本です。『絵で見てわかる SQL Server の仕組み』 (平山 理 著、翔泳社、2020 年 9 月刊) は、版元の紹介文によるとロングセラー『絵で見てわかる SQL Server の内部構造』を 11 年ぶりに大改訂したもので、図と解説を全体的に見直して書き直したうえで、列ストアとインメモリ型オブジェクト、PaaS や IaaS の各種クラウドデータプラットフォームの解説を加えています。翔泳社の「絵で見てわかる」シリーズの一冊で、SQL Server の物理構造 (アーキテクチャ) と内部動作を豊富な図解で説明する構成です。
全 12 章の構成、CPU とディスクから障害対応まで
目次は、SQL Server が使う資源の層から順に積み上がります。第 1 章「CPU リソースの最適化」は Windows のスケジューラーと SQL Server 内のスケジューラー、SQLOS スケジューラーのモニタリングを扱い、第 2 章「ディスク I/O 操作の理解」はデータベースファイルへのアクセスパターン、I/O 用の API、ディスク構成を、第 3 章「メモリ管理」は仮想アドレス空間、NUMA、プロセス内部のメモリ管理を取り上げます。第 4 章「データベース構造の原理」でデータファイルとトランザクションログファイルの役割を押さえ、第 5 章「行ストア型テーブル」ではインデックスページとデータページの中身を DBCC PAGE で確かめます。後半は第 8 章「リレーショナルエンジンの動作」でクエリのライフサイクル、クエリオプティマイザ、統計情報を、第 9 章でクライアントとの通信を、第 10 章でバックアップと復元を扱います。第 11 章「トラブルシューティング」はクエリストアのあとに、接続が成功しない、ブロッキング、デッドロックという 3 つの事例を置き、第 12 章で Linux への対応とクラウドへの展開に触れ、巻末に付録として用語集が付きます。第 1 章から第 3 章にはモニタリングの節があり、仕組みの説明と観察の方法を組で示す並びと読めます。
列ストアとインメモリ OLTP、改訂で加わった 2 つの章
版元が改訂の目玉に挙げる 2 つの題材は、第 6 章「列ストア型オブジェクト (列ストアインデックス)」と第 7 章「メモリ最適化オブジェクト (インメモリ OLTP)」にあたります。従来の行ストアは 1 行分の値をページにまとめて格納するため、少数の行を読み書きする業務処理には向きますが、大きな表の一部の列だけを集計する分析では不要な列まで読むことになります。列指向 の格納は値を列ごとにまとめて圧縮するので、読む量そのものを減らせます。第 6 章は導入の背景、アーキテクチャと構造、圧縮がもたらすメリット、インデックスの種類と適用箇所、バッチモード、更新とメンテナンスを順に扱い、最後に SQL Server のインデックスデザインの Best Practices の節を置いています。行ストアの B ツリー型の インデックス と列ストアをどう使い分けるかを、第 5 章と並べて読める配置です。第 7 章のインメモリ OLTP は、表をメモリ上に持つことで、短いトランザクションが大量に重なる OLTP の処理を速くするための機能で、本書は概要、構成するコンポーネント、データ管理、使用時の留意点の 4 節で説明します。
SQL Server を運用、開発する人に向く理由と前提知識
版元は、物理構造と内部動作を理解することで SQL Server の技術的な特性を活かせるようになり、現場でのデータベース開発と運用の効率化やトラブルシューティングに役立てられると説明しています。筆者の SQL Server サポート業務の経験も随所に盛り込まれており、実践的な Tips や活用ノウハウ集としても使えるという案内です。章立ては SQL の書き方ではなく、スレッド、I/O、仮想アドレス空間、ページといった下の層の話から始まるため、SELECT 文の書き方や表設計の基礎を学びたい段階の人には順序が合いません。PostgreSQL や MySQL を主に使う人にとっては製品固有の記述が中心になる点も踏まえておく必要があります。また 2020 年 9 月の刊行時点の製品と環境を前提にした記述なので、手元の版との差は製品のドキュメントで確かめながら読むのが安全です。
遅いクエリやブロッキングに出会ったとき、どの資源とどの仕組みに原因がありそうかを自分で切り分けられるようになりたい人にとって、CPU からバックアップ、障害事例までを図で通して見られる本書は、日々の運用の判断を支える一冊になります。SQL Server を業務で扱っていて、画面の数値の意味を一段深く説明できるようになりたいなら、第 1 章から順に読み進める価値があります。
言及した記事 (8 件)
SQL Serverのインデックスの理解を深める
♡ 125SQLServer, DB, Database, index, インデックスSQL Server:バックアップとリストアの基本
♡ 54SQLServer, DB, バックアップ, Database, リストア業務システムと分析システムの違いについて
♡ 14SQLServer, DB, データ分析, Database, dwh「絵で見てわかるSQL Serverの仕組み」について
♡ 7SQLServer, 書籍エンジニア未経験者から初級者になる為の学習方法
♡ 4学習, プログラミング言語, 勉強法, 未経験エンジニア, プログラミング初心者SQL Server覚書
♡ 3SQLServer, 初心者, SQLServerManagementStudioSQLの基本知識や言語構造について浅く紹介
♡ 2SQL, SQLServer, DB, Database, Query「絵で見てわかるSQL Serverの仕組み」を読んで
♡ 0SQL, SQLServer
この本に興味がある方におすすめ
関連する本
関連記事
データベース本ガイド - SQL から設計まで学べる技術書の選び方
データベースの基礎から設計、パフォーマンスチューニングまで学べる技術書の選び方と学習順序を紹介します。
DevOps 本ガイド - CI/CD とインフラ自動化を学ぶ技術書の選び方
DevOps の文化と原則から CI/CD、IaC、オブザーバビリティまで学べる技術書の選び方と学習順序を紹介します。
「入門」「実践」「詳解」の次に来る本 - 中級者の壁を越える読書戦略
入門書を卒業した後、何を読めばよいかわからない。中級者が陥る「読書の踊り場」を抜け出すための選書戦略と、レベルを引き上げる本の見つけ方を解説します。