📥
【DB】用語のまとめと、ロールバック・ロールフォワードの違い
はじめに
自社の面談で用語について質問されるのですが、うまく答えられなかったので調べてまとめました。
- 基本用語と、データベースの処理に関する用語に分けています
- 後半では、ロールバックとロールフォワードの違いについてまとめています
- ロールバックとロールフォワードの違いだけ知りたい方はコチラ
1. 基本用語
データベース(DB)
- 検索や蓄積が簡単にできるよう、整理された情報の集まり
- 厳密には 「複数人で共有・利用する」「検索・加工する」データ をデータベース(以降DB)という
DBMS(データベースマネジメントシステム)
- DBを運用・管理するためのシステムやソフトウェアのこと
- DBMS = DB と思ってOK
RDBMS(リレーショナルデータベースマネジメントシステム)
- 表のように列と行で構成されるDB のこと(DBといえば大体これ)
- リレーショナル型以外のDBには、階層型とネットワーク型がある
SQL
- RDBMSを操作するための言語
- DBにデータを挿入したり、検索したりするときに使用する
2. DBの処理に関する用語
トランザクション
- 複数の処理を1つの処理としてまとめたもの
- 分割が不可能な一連の処理で、「すべて成功」か「すべて失敗」のどちらかになる
例:口座間でのお金の移動
①A口座の残高を減らし、②B口座の残高を増やす。
→②が失敗した場合は、①も失敗となる。
コミット
- トランザクション処理において、関連する処理がすべて成功し、結果を確定させること
例:口座間でのお金の移動
①A口座の残高を減らし、②B口座の残高を増やす。
→①も②も成功したので、結果を確定(コミット)する。
バックアップファイル
- ディスク障害が発生したときのDB復旧のため、ある時点のDBの内容をコピーし、保存したファイルのこと
ジャーナルファイル(ログファイル)
- DBの更新前や更新後の値を書き出し、DBの更新履歴を記録したファイルのこと
ロールバック
- トランザクションの途中でエラーが起きたとき、その処理を取り消し、なかったことにする
ロールフォワード
- バックアップを適用して障害が起きる前の状態に戻し、それ以降の処理を再現する
3. ロールバックとロールフォワードの違い
つまりこう!(字が汚くてすみません…😂)
参考:https://wa3.i-3-i.info/diff350db.html
おわりに
プログラミングを学ぶうえで欠かせない、データベースについてまとめました。
ロールバック・ロールフォワードの違いは、発生頻度や使用する状況をイメージすると覚えやすいですね😊
Discussion