Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a21cb165eba87089

Jump to content

// Workers AI · dad joke modeWhat did shadow paging say? It's always copied.

From Wikipedia, the free encyclopedia

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), 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 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. Since 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 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 in the referential hierarchy (e.g., a file system superblock) at the cost of high commit latency.[1]

Write-ahead logging is a more popular solution that uses in-place updates.[citation needed]

Shadow paging is similar to the old masternew 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.

References

[edit]
  1. "File System Design for an NFS File Server Appliance" (PDF). 1994. Retrieved 1 November 2019. {{cite journal}}: Cite journal requires |journal= (help)