Write ahead logging

Write ahead logging

In computer science, write ahead logging (WAL) is a family of techniques for providing atomicity and
durability (two of the ACID properties) in database systems.

In a system using WAL, all modifications are written to a log before they are applied. Usually both redo and undo information is stored in the log.

The purpose of this can be illustrated by an example. Imagine a program that is in the middle of performing some operation when the machine it is running on loses power. Upon restart, that program might well need to know whether the operation it was performing succeeded, half-succeeded, or failed. If a write-ahead log were used, the program could check this log and compare what it was supposed to be doing when it unexpectedly lost power to what was actually done. Based on this comparison, the program could decide to undo what it had started, complete what it had started, or keep things as they are.

WAL allows updates of a database to be done in-place. Another way to implement atomic updates is with shadow paging, which is not in-place. The main advantage of doing updates in-place is that it reduces the need to modify indexes and block lists.

ARIES is a popular algorithm in the WAL family.

In file systems, WAL is often called Journaling.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Write Ahead Physical Block Logging — provides meta data journaling for file systems in conjuction with Fast File System (FFS) to accomplish rapid filesystem consistency after an unclean shutdown of the filesystem. And better general use performance over regular FFS. [cite… …   Wikipedia

  • PostgreSQL — Developer(s) PostgreSQL Global Development Group Stable release 9.1.1[1] / 9.0.5 …   Wikipedia

  • Extensible Storage Engine — For JET Red storage engine of Microsoft Access, see Microsoft Jet Database Engine. For the teacher s term, Exceptional education. Extensible Storage Engine (ESE), also known as JET Blue, is an Indexed Sequential Access Method (ISAM) data storage… …   Wikipedia

  • ACID — For other uses, see Acid (disambiguation). In computer science, ACID (atomicity, consistency, isolation, durability) is a set of properties that guarantee database transactions are processed reliably. In the context of databases, a single logical …   Wikipedia

  • Algorithms for Recovery and Isolation Exploiting Semantics — In computer science, Algorithms for Recovery and Isolation Exploiting Semantics, or ARIES is a recovery algorithm designed to work with a no force, steal database approach; it is used by IBM DB2, Microsoft SQL Server and many other database… …   Wikipedia

  • Tracing (software) — In software engineering, tracing is a specialized use of logging to record information about a program s execution. This information is typically used by programmers for debugging purposes, and additionally, depending on the type and detail of… …   Wikipedia

  • Shadow paging — In computer science, shadow paging is a technique for providing atomicity and durability (two of the ACID properties) in database systems.A page in this context refers to a unit of physical storage (probably on a hard disk), of the order of… …   Wikipedia

  • Shadow Paging — Als Shadow Paging wird in der Informatik ein Verfahren bezeichnet, um in Datenbanksystemen die beiden ACID Eigenschaften Atomarität und Dauerhaftigkeit zu unterstützen. Eine Seite (Page) bezeichnet in diesem Kontext eine Einheit physischen… …   Deutsch Wikipedia

  • Column-oriented DBMS — A column oriented DBMS is a database management system (DBMS) that stores its content by column rather than by row. This has advantages for data warehouses and library catalogues where aggregates are computed over large numbers of similar data… …   Wikipedia

  • GiST — In computing, GiST or Generalized Search Tree, is a data structure and API that can be used to build a variety of disk based search trees. GiST is a generalization of the B+ tree, providing a concurrent and recoverable height balanced search tree …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”