📥

【DB】用語のまとめと、ロールバック・ロールフォワードの違い

2021/10/24に公開

はじめに

自社の面談で用語について質問されるのですが、うまく答えられなかったので調べてまとめました。

  • 基本用語と、データベースの処理に関する用語に分けています
  • 後半では、ロールバックとロールフォワードの違いについてまとめています
  • ロールバックとロールフォワードの違いだけ知りたい方はコチラ

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

https://itmanabi.com/rollback-rollforward/
https://meaning-difference.com/?p=14929

おわりに

プログラミングを学ぶうえで欠かせない、データベースについてまとめました。
ロールバック・ロールフォワードの違いは、発生頻度や使用する状況をイメージすると覚えやすいですね😊

Discussion