パフォーマンス

デザインパターンというものがある。classをデザインするときのパターンを汎化してまとめたものである。多くのデザインがこのパターンのどれかに近いもので実現できる。 データアクセスパスも同じようにパターンを型として理解しておけば、その型をベースに多様な状況に対応できる。 下記にデータアクセスをパターン化して型として整理する。 概要(型の使い方) 1.アクセスパターン 参考)サイジング:ストレージ 2 […]

パフォーマンス

Index コストの目的 コストの使い方(概要) コストの使い方(詳細) 実際のデータベースでのコストの例 参考(Postgresqlのマニュアルから抜粋)データベースの実行計画のマニュアルや解説で下記の図のようなコストという概念が出て来る。私はデータベースの実行計画を勉強し始めたころ、こ […]

パフォーマンス

システムの処理時間はCPU、ストレージ、ネットワークの処理時間の合計である。それぞれの処理時間の規模感が理解できるとパフォーマンスチューニングでどこがボトルネックか判断できるようになる。 例えば、DBからのレスポンスタイムが3秒だったとき、「CPUで数マイクロ秒、IOで数秒、NWで数ミリ秒でほとんどがIOの処理時間だろう」というように規模感がわかればどこにフォーカスするべきか判断できる。また、実測 […]

パフォーマンス
DBの実行計画とは

Index 実行計画の目的 実行計画とはどのように作成されるか?データベースの実行計画がどのようなもので、どのように利用されるか記載する。本質の理解を目的としているため特定のシンプルな構成を例に説明する。 実行計画の目的 実行計画は、ストレージのデータをユーザーに渡すために、ハードウェアをより効率的に使う手順を計画したものである。主に以下のように利用され […]

To Page Top