2012年8月3日金曜日

1.2 データベース管理システム


データベースを運用・管理し、データへのアクセス要求に応答する
ソフトウェアをデータベース管理システム(DBMS:DataBase
Management System)といいます。データベースへデータを格
納したり、データを検索したりする機能は、DBMSによって提供さ
れます。

1.2.1 DBMSの機能

DBMSの主な機能として、トランザクション管理、排他制御、障害回復があ
ります。
◆トランザクション管理
銀行の口座送金処理を例に取りましょう。Aさんの口座からBさんの口座へ1
万円を送金するとします。この処理は、
①Aさんの口座残高を1万円減らす
②Bさんの口座残高を1万円増やす
という2つの処理に分けることができます。しかし、㈰の処理が完了した時
点でシステムエラーが起きたとするとどうなるでしょう。Aさんの口座は1
万円引かれ、Bさんの口座はそのままなので、1万円が消えてしまいます。
つまり、これら2つの処理は、どちらかが欠けると整合性が取れなくなって
しまうわけです。そのような分割不可の処理単位をトランザクションといい
ます。正常にトランザクションが完了したときはデータベースが更新されま
すが、途中で失敗した場合はデータベースに反映されません。そのようにし
てデータベースの整合性を維持するのがトランザクション管理です。

◆排他制御
複数のユーザーが同時に一つのデータにアクセスし、別々の更新処理をかけ
るとデータに矛盾が発生してしまいます。そのようなことを防ぐのが排他制
御機能です。あるユーザーがデータにアクセスしたときにデータベースにロ
ックをかけ、他のユーザーが利用できないようにします。ロックには、デー
タの参照と更新をともにロックする「占有ロック」と、データの更新だけを
ロックする「共有ロック」があります。

◆障害回復
ハードウェアやソフトウェアに障害が発生しても、データベースの内容を復
旧する機能が障害回復機能です。障害回復処理には、ロールフォワードとロ
ールバックがあります。
DBMSは、データベースに対して更新処理が行われると、その内容をログフ
ァイル(ジャーナル)に保存します。障害が発生したとき、データベースの
バックアップに加えて、ログファイルに記録されている処理を再現し、障害
が発生する直前の状態まで復旧させるのがロールフォワードです。一方、障
害が発生したとき、バックアップ時点までデータを巻き戻してから改めて処
理を開始することをロールバックといいます。

1.2.2 アプリケーションからのデータベースの利用

アプリケーションでデータベースを利用する際の処理の流れを図に示しま
す。












アプリケーションからはDBMSに対して指示を与えます。DBMSは指示を解
釈し、OS上にあるデータベースのファイルにアクセスし、結果をアプリケ
ーションに返します。このように、DBMSはアプリケーションとデータベ
ースとの仲介役を果たしています。



0 件のコメント:

コメントを投稿