DBMS関連技術

2022/01/03

5章のメモ。

DBMS関連技術

トランザクション処理

複数の更新や参照の処理を一つにまとめる処理を指す。

相互依存の関係にある複数の処理を1つの処理単位にまとめて、矛盾なく処理すること。データベースにおいて、処理の一貫性を持たせるために、複数の処理を1つの処理として実行して管理する仕組みで、データの整合性を保つための要素の1つ。

引用元:https://www.otsuka-shokai.co.jp/words/transaction-processing.html

ACID特性

ロストアップデート

データベースの不整合(ロストアップデート)と戦おう! - スマートフォンアプリ開発会社のエンジニアブログ

更新されたはずのデータが元に戻ってしまい、データが消失すること。

以下三つはこの記事読んだ方がわかりやすいかも。

ダーティリード、リピータブルリード、ファントムリードをちゃんと理解してからトランザクション分離レベルを理解しよう - Qiita

ダーティリード

先読み誤読。

ノンリピータブルリード

トランザクション処理が二回、同一のデータを読み出しするときに異なる値を読み取ってしまう現象。

ファントムリード

トランザクション内で、二回同一範囲を読み取ったとき、1回目と異なる結果になること。

t1:select

t2:insert

t1:select

みたいに間に更新とか入れられると発生する。

デッドロック

防止法

ロック順序を同じにする。

2層ロック

最初にロックをかけまくって、最後に一気に解錠する。

なお、これでもデッドロックは発生する模様。

障害回復機能

ロールバック

障害発生時からログを使って戻すようにある地点まで戻し、復旧させる。

ロールフォワード

障害発生前の地点から、都合の良い場所までログを使って復旧させる。

媒体障害

媒体の障害(適当)

定期バックアップデータをコピーし、ログをロールフォワードで修復する。


終わりっ(えっ

>> Home