ロングセラー『絵で見てわかるOS/ストレージ/ネットワーク』の新装版です。企業システムにおけるOS/ストレージ/ネットワークという重要なITインフラ技術について、絵(図)を多用してわかりやすく説明します。次のような幅広い読者の方々に読んでいただける内容となっています。
●データベース管理者経験1~5年目の若手エンジニア
●アプリケーション開発経験1~5年目の若手エンジニア
●OS/ストレージ/ネットワーク管理を初めて行なうエンジニア
●アプリケーションやデータベースがOS/ストレージ/ネットワークをどのように使っているのかを振り返りたい、アプリケーションやデータベース担当のベテランエンジニア
本書の特徴は、データベースにおけるデータのI/O(入出力)、ハードディスクやメモリの役割/動作に重点を置き、抽象的な技術概念を可視化している点です。図と解説で難解なインフラ技術を俯瞰でき、実際の業務システム開発や保守運用にも活かせるノウハウも満載です。新装版では、クラウドや仮想化の追補など全体的な内容の最新化を行なっています。
第1部~第3部では、できる限り個々のDBMS製品に依存しない内容を解説。APPENDIXでは、解説した内容がOracleデータベースの場合はどのようになるのか、ポイントになる部分を取り上げます。
【本書の構成】
■第1部 OS――プロセス/メモリの制御からパフォーマンス情報の見方まで
第1章 DBサーバーにおけるOSの役割
第2章 システムの動きがよくわかる超メモリ入門
第3章 より深く理解するための上級者向けOS内部講座
■第2部 ストレージ――DBMSから見たストレージ技術の基礎と活用
第4章 アーキテクチャから学ぶストレージの基本と使い方
第5章 ディスクを考慮した設計とパフォーマンス分析
■第3部 ネットワーク――利用する側が知っておくべき通信の知識
第6章 ネットワーク基礎の基礎――通信の仕組みと待ち行列
第7章 システムの性能にも影響するネットワーク通信の仕組みと理論
第8章 現場で生かせる性能問題解決とトラブルシューティングの王道
■APPENDIX OracleデータベースはOS/ストレージ/ネットワークをこう使っている
★システム開発における基盤技術の仕組みや全体像が知りたいという方は、同シリーズ『絵で見てわかるITインフラの仕組み 新装版』がおすすめです。こちらでは、アーキテクチャ、ネットワーク、サーバー、プロセス、要素技術といったITインフラ技術について解説しています。
第1部 OS――プロセス/メモリの制御からパフォーマンス情報の見方まで
第1章 DBサーバーにおけるOSの役割
1.1 OSとDBMSの関係――第1部で学ぶこと
1.2 アプリケーションやDBMSの状態を読み取ってみよう
1.3 OSで処理が実行される仕組みと制御方法
1.4 CPU技術の進化とアプリケーションやDBMSとの関係を探る
1.5 今後CPUはどうなるのか?
1.6 まとめ
第2章 システムの動きがよくわかる超メモリ入門
2.1 メモリの仕組み
2.2 DBMSのメモリの構造(一般論)
2.3 32ビットと64ビットでは扱えるサイズが変わる
2.4 仮想メモリと物理メモリの関係
2.5 スワップとページングは要注意
2.6 I/O性能にとって重要なファイルキャッシュとは?
2.7 ページの割り当ての仕組みとラージページ
2.8 メモリ情報の見方は難しい、でも基本はこう考える
2.9 まとめ
第3章 より深く理解するための上級者向けOS内部講座
3.1 システムコールはOSとの窓口
3.2 OSはI/Oをどう処理するのか?
3.3 スタックでプロセスやスレッドの処理内容を推測
3.4 「セマフォ」とは?
3.5 OSにもロックがある
3.6 時間の変更は慎重に
3.7 OSの統計情報が記録されるタイミング
3.8 プロセスファイルシステムを知る
3.9 プロセスに通知や命令を行なう「シグナル」
3.10 クラスタソフトとOSの密接な関係
3.11 ハードウェアからOSへの通知を行なう「割り込み」
3.12 DBサーバーの定常監視で取得すべきOS情報とは?
3.13 OSの性能情報を確認するときによく使うコマンド
3.14 まとめ
第2部 ストレージ――DBMSから見たストレージ技術の基礎と活用
第4章 アーキテクチャから学ぶストレージの基本と使い方
4.1 ディスクのアーキテクチャ
4.2 ストレージのインターフェイス
4.3 SANとNASはどこがどう違うのか?
4.4 複数のディスクを組み合わせて信頼性を高めるRAID
4.5 物理的な複雑さを隠蔽するストレージの仮想化
4.6 ストレージにはどんな障害があるのか?
4.7 同期I/Oと非同期I/O
4.8 書き込みI/Oと同期書き込み(書き込みの保証)
4.9 ライトキャッシュが効果的なアプリケーションとは?
4.10 ファイルシステム
4.11 アプリケーションやRDBMSから見たファイルキャッシュ
4.12 RDBMSのI/O周りのアーキテクチャ
4.13 仮想化基盤やクラウドにおけるストレージ構成
4.14 これからのストレージはどうなっていくのか?
4.15 そのほかの注目すべき機能
4.16 ストレージとOSの関係図
4.17 まとめ
第5章 ディスクを考慮した設計とパフォーマンス分析
5.1 キャッシュの存在
5.2 スループット(I/O数)重視で考える
5.3 ディスクのI/Oネックを避ける設計
5.4 表とインデックスの物理ディスクは分けるべきか?
5.5 ディスクの設計方針
5.6 DBシステムの耐障害性について
5.7 ディスクを含めたシステムのパフォーマンスについて
5.8 ストレージを利用する側でしか実施できない性能分析の方法
5.9 まとめ
第3部 ネットワーク――利用する側が知っておくべき通信の知識
第6章 ネットワーク基礎の基礎――通信の仕組みと待ち行列
6.1 ネットワークの理解に必要な基礎知識
6.2 パケットの受け渡し
6.3 ネットワークの処理は階層構造
6.4 通信相手にパケットを届けるには?
6.5 TCPレイヤーの役割
6.6 通信の開始からソケットを作るまで
6.7 待ち行列
6.8 ネットワークの仮想化
6.9 まとめ
第7章 システムの性能にも影響するネットワーク通信の仕組みと理論
7.1 WebシステムにおけるアプリケーションとDBMSとネットワーク
7.2 問題が起きたときの対処の仕組み
7.3 帯域の制御
7.4 負荷分散
7.5 DBMSで効果があるACKのチューニング
7.6 接続処理とセキュリティ
7.7 まとめ
第8章 現場で生かせる性能問題解決とトラブルシューティングの王道
8.1 「接続できない」というトラブル
8.2 性能問題の発生パターン
8.3 トラブルを分析するには?
8.4 WANの性能
8.5 ネットワーク障害のテストの仕方
8.6 まとめ
ネットワークを勉強するのにお勧めの参考資料
APPENDIX OracleデータベースはOS/ストレージ/ネットワークをこう使っている
A.1 OS関連のポイント
A.2 ストレージ関連のポイント
A.3 ネットワーク関連のポイント
マコっちゃん さん
2020-10-06
良書。DBからストレージまで、待ち行列等の性能問題発生ポイントを中心に、図を見ながらデータの流れを通してポイントを学べるので、実務に役立つなと感じた。この本読んでからそれぞれのフェーズについて、個別に深耕して行くのが効率的だと思う
じゅんぺい - 理工書読み さん
2020-08-21
基礎知識が足りない自分には手を出すのはまだ早い本だった
yu2ta7ka さん
2020-08-14
インフラ技術のキーワードを概観したり、自分の知識がどの程度か確認できる本。 本書で各種技術については学べない。インフラの守備範囲が広すぎて、ざっくり解説になっている。この広大な技術をよく一冊にまとめられたなと脱帽します。 なお、「絵で見てわかる」とあって中にも確かに絵はあるのですが、文字の方が圧倒的に多いので、若干タイトル詐欺では?とも。 終始チャレンジングな本だったと思います。