忘プロ

忘れんぼうプログラマーのメモ帳

データベース勉強中 SQL Server 1-1

データベースは物理的には

データファイル(.mdf、.ndf)

ログファイル(.ldf)で構成されている。

 

データファイル(.mdf、.ndf)

ユーザが参照・挿入・更新・削除を行う

データ本体が格納されている。

SQL Serverはデータファイルの中を8KBのブロック(ページ)

論理的に分割して使用している。

ページは物理ディスクの読み書きの際の最小の論理的な単位。

1つのデータベースに対して、1つのデータファイルを指定することも

複数のデータファイルを割り当てることも出来る。

一般的に、複数のスピンドル(*1)を持つディスク装置にデータベースを配置する場合は、

データファイルを複数に分割したほうが物理アクセスの速度が向上する。

 

ログファイル

SQL Serverが管理するデータに対して実行した更新内容を記録する。

データに対して更新が行われると

データ更新前に変更内容の履歴をすべて物理ディスクに存在するログファイルに書き込む。

変更に関するログがすべて正しく書き込まれると、データ更新処理が実行される。

この動作は「先行書き込みログ(Write Ahead Logging)」と呼ばれ

トランザクションとデータの関係を維持するために、重要な役割を持っている。

 

*1. ここでのスピンドルは、回転軸を保有するディスク装置を意味する。