トランザクションログとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > トランザクションログの意味・解説 

トランザクションログ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/05/29 01:56 UTC 版)

ナビゲーションに移動 検索に移動

計算機科学データベースの分野において、トランザクションログ: transaction log)(または データベースログ, バイナリログ とも呼ばれる)とは、クラッシュやハードウェア故障があったとしてもデータベース管理システムACID特性を保障するための操作履歴を指す。ログは電源が途絶えてもデータを保持できる補助記憶装置上のファイルに出力される場合が多い。

データベースが起動後に、整合性の無い状態であるか、正常に終了されていないことを検知すると、データベース管理システムはトランザクションログを読み取り、以下の操作を行う。どちらも原子性永続性を保障するために必要である。

トランザクションログの目的は、データログとは異なる。一般にデータログは操作履歴を人間が読みやすい (human-readable) 表現で記録するために用いられる。そのため、データベース管理システムによってはトランザクションログとデータログの両方を提供している場合も多い。

トランザクションログの構造

トランザクションログは以下の構造を持つ。

  • ログシーケンス番号: Log Sequence Number): ログレコードの一意識別子。一般に、番号は一意に増加する値が割り当てられ、ARIES のようなリカバリ・アルゴリズムで利用される。
  • 直前のLSN: 直前のレコードへの参照。これにより、トランザクションログは連結リスト状の構造を持つことになる。
  • トランザクション番号: レコードを生成したデータベースのトランザクション番号。
  • 種類: レコードの種類を表す。

全てのログレコードは共通の属性の他に、操作ごとに固有の属性を持っている。以下は、一般的なデータベースが使用するログレコードの種類である:

  • 更新レコード はデータベースの更新(変更)を記録し、以下の属性を持つ:
    • ページ番号: 更新したページの番号を表す。
    • 長さと位置: ページ内で変更した領域を表す。
    • 更新前および後イメージ: 更新した領域の更新前および更新後の値。データベースによって両方または片方のみを記録する違いがある。
  • 補償レコード は更新のロールバックを記録する。レコードはそれぞれ独立な更新レコードを指す。その内容は:
    • Undo Next LSN: 補償処理が必要な次のレコード番号。
  • コミットレコード はトランザクションのコミットを記録する。
  • アボートレコード はトランザクションのロールバックを記録する。
  • チェックポイントレコード はチェックポイント処理が完了したことを記録する。このレコードは読み込むべき最も古いレコードを示すため、リカバリ処理の高速化に貢献する。その内容は:
    • Redo LSN: チェックポイント以降最初に行った変更処理レコード番号。このレコード以降の処理を再実行する必要がある。
    • Undo LSN: チェックポイント中に実行中だったトランザクションが記録した最古のレコード番号。このレコード以降の処理は補償が必要な可能性がある。





英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「トランザクションログ」の関連用語

トランザクションログのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



トランザクションログのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのトランザクションログ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS