Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Shadow paging
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{No footnotes|date=January 2014}} In [[computer science]], '''shadow paging''' is a technique for providing [[Atomic (computer science)|atomicity]] and [[Durability (computer science) | durability]] (two of the [[ACID]] properties) in [[database system]]s. A ''page'' in this context refers to a unit of physical storage (probably on a [[hard disk]]), typically of the order of 1 to 64 [[KiB]]. 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) | 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 (computer science)|atomic]]. If the referring pages must also be updated via shadow paging, this procedure may [[recursion | recurse]] many times, becoming quite costly. One solution, employed by the [[Write Anywhere File Layout]] (WAFL) file system, 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 (e.g., a file system superblock) at the cost of high commit latency.<ref>{{cite journal |title=File System Design for an NFS File Server Appliance |date=1994 |url=https://www.cs.princeton.edu/courses/archive/fall09/cos318/reading/netapp.pdf |accessdate=1 November 2019}}</ref> [[Write-ahead logging]] is a more popular solution that uses in-place updates.{{fact|date=September 2012}} 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 [[Hard disk | 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 structure]]s, in that in-place updates are avoided.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)