Google
 
   
Login
Username:

Password:


Lost Password?

Register now!
Search
Main Menu
top books
Polls
What do you think about php-deluxe.net?
Excellent!
Cool
Hmm..not bad
What the hell is this?
encyclopedia
recommendation
Freenet DSL
Who's Online
15 user(s) are online (7 user(s) are browsing encyclopedia)

Members: 0
Guests: 15

more...
browser tip
recommendation!
Sponsored
partner

Shadow paging

In computer science, shadow paging is a technique for providing Atomic (computer science) and Durability (computer science) (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 Durability (computer science), 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 (computer science).

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 cards!). 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)