Shadow paging

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 2^{10} to 2^{15} bytes.

Shadow paging is a copy-on-write technique for avoiding in-place updates of pages. Instead, when a page is to be modified, a shadow page is allocated. Since the shadow page has no references (from other pages on disk), it can be modified liberally, without concern for consistency constraints, etc. When the page is ready to become durable, all pages that referred to the original are updated to refer to the new replacement page instead. Because the page is "activated" only when it is ready, it is atomic.

If the referring pages must also be updated via shadow paging, this procedure may recurse many times, becoming quite costly. One solution, employed by the WAFL file system (Write Anywhere File Layout) is to be lazy about making pages durable (i.e. write-behind caching). This increases performance significantly by avoiding many writes on hotspots high up in the referential hierarchy (eg: a file system superblock) at the cost of high commit latency.

Write ahead logging is a more popular solution that uses in-place updates.

Shadow paging is similar to the old master-new master batch processing technique used in mainframe database systems. In these systems, the output of each batch run (possibly a day's work) was written to two separate disks or other form of storage medium). One was kept for backup, and the other was used as the starting point for the next day's work.

Shadow paging is also similar to purely functional data structures, in that in-place updates are avoided.

External references

* [http://www.netapp.com/tech_library/3002.html File System Design for an NFS File Server Appliance] (The WAFL paper)


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • 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

  • Architecture of Btrieve — Btrieve is a database developed by Pervasive. The architecture of Btrieve has been designed with record management in mind. This means that Btrieve only deals with the underlying record creation, data retrieval, record updating and data deletion… …   Wikipedia

  • Btrieve — In computing, Btrieve is a transactional database product based on Indexed Sequential Access Method (ISAM), which is a way of storing data for fast retrieval. There have been several versions of the product for DOS, Linux, older versions of… …   Wikipedia

  • Btrieve — Btrieve  программный продукт (СУБД), для организации транзакционных (или «навигационных»[1]) баз данных. Основан на методе организации данных ISAM, обеспечивающем высокую скорость поиска и извлечения данных. Существовало несколько версий… …   Википедия

  • 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

  • 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 …   Wikipedia

  • Polyhedra DBMS — Infobox Software name = Polyhedra DBMS caption = developer = ENEA AB released = 1993 latest release version = 8.0 latest release date = 4 July 2008 latest preview version = latest preview date = release location = operating system = Cross… …   Wikipedia

  • Транзакция — Не следует путать с трансакция. Транзакция (англ. transaction)  в информатике, группа последовательных операций, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена либо целиком и успешно,… …   Википедия

  • Транзакция (информатика) — У этого термина существуют и другие значения, см. Транзакция (значения). Транзакция (англ. transaction)  группа последовательных операций с базой данных, которая представляет собой логическую единицу работы с данными. Транзакция может… …   Википедия

  • Business and Industry Review — ▪ 1999 Introduction Overview        Annual Average Rates of Growth of Manufacturing Output, 1980 97, Table Pattern of Output, 1994 97, Table Index Numbers of Production, Employment, and Productivity in Manufacturing Industries, Table (For Annual… …   Universalium

Share the article and excerpts

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