データベース
アーキテクチャ
クエリ評価エンジン
プラン実行機能
パーサ
演算評価機能
オプティマイザ
メイン
アクセスメソッド
バッファマネージャー
ディスク容量マネージャ
補助
トランザクションマネージャ
ロックマネージャ
同時実行制御
リカバリマネージャ
記憶装置
一次記憶装置(アクセス速、記憶コスト高)
レジスタ、メモリ
二次記憶装置
HDD(⭐️、DBMSが利用する),CD,DVD,フラッシュメモリ
三次記憶装置
テープ
アーキテクチャ要点
ディスクへのアクセス回避
SQLの実行時間の大半は、ストレージに対するI/Oに費やされる
メモリ上のバッファ
データキャッシュ
ログバッファ
行いたい実行を全て一旦受け止めるところ(全部貯めてから、実際にストレージに変更をかける)
(実行した瞬間に揮発しないよう)永続的なストレージにログを書き込む
DBMSのクエリ処理の流れ
パーサー
オプティマイザ
プラン生成
コスト評価
カタログマネージャ(常にカタログを更新することが大事)
各テーブルのレコード数
各テーブルの列数と列のサイズ
列値のカーディなりティ(値の個数)
列値のヒストグラム
列内のNULLの数
インデックス情報
プラン評価
スキャン方法
フルスキャン
インデックススキャン
結合方法
ntested Looops
Sort Merge
ワーキングメモリが必要
Hash
ワーキングメモリが必要