第6章 トランザクション管理 6.1 トランザクションの概念 6.2 同時実行制御 6.3 障害回復 6.1 トランザクションの概念 トランザクションとは データベースを利用するとき、複数の処理を一連 のものとしてまとめる単位 【例】 begin 東京~大阪までの乗車券を予約 東京~大阪までの新幹線特急券を予約 end 前半の予約だけ成功しても、 後半の予約に失敗しても意味がないので、 後半の予約に失敗したら前半の予約を取り消す。 トランザクションの適切な実行 複数のトランザクションが同時に実行されることが多いので 適切に実行管理(ACID特性を持つ)する必要がある。 ①原子性:1トランザクションはすべて有効/無効のいずれか ②整合性:DB内の内容に矛盾がなく整合性があること。 ③隔離性:並行処理したときそれぞれのトランザクションが隔離されてい ること(並行処理した場合でも、順番に処理した場合でも同じ 結果になること) ④耐久性:トランザクションの処理結果でデータベースが更新されても、 障害があっても失われない 原子性:Atomicity, 整合性:Consistency, 隔離性:Isolation, 耐久性:Durability ACID特性を保証するための2つの重要な処理 ①同時実行制御(並行処理制御) 複数の応用プログラムでデータ操作を行っている際 のデータの隔離性を保証するための制御を行う。 ②障害回復 トランザクションの実行中に障害が発生した場合の 耐久性を保証するために、障害に対処する処理を行 う。 トランザクションの適切な実行 複数のトランザクションが同時に実行されることが多いので 適切に実行管理(ACID特性を持つ)する必要がある。 ①原子性:1トランザクションはすべて有効/無効のいずれか ②整合性:DB内の内容に矛盾がなく整合性があること。 ③隔離性:並行処理したときそれぞれのトランザクションが隔離されてい ること(並行処理した場合でも、順番に処理した場合でも同じ 結果になること) ④耐久性:トランザクションの処理結果でデータベースが更新されても、 障害があっても失われない 原子性:Atomicity, 整合性:Consistency, 隔離性:Isolation, 耐久性:Durability トランザクションの開始と終了 ①開始 明示的に開始を宣言する場合と宣言しない場合(SQLの 場合) ②終了 ・正常終了:トランザクションの変更を有効にする。 (コミットという) ・途中放棄:何らかの理由でトランザクション処理を 取りやめる(アボートという) アボートのとき、処理開始前の状態に戻すことを指示す るためにROLLBACK文を用いる
© Copyright 2024 ExpyDoc