O'Reilly logo
  • Dong Chen thinks this is interesting:

A modified page is written to a different location, and a new version of the parent pages in the tree is created, pointing at the new location.


Cover of Designing Data-Intensive Applications


When implementing snapshots, there are two techniques: The original storage is never modified. When a write request is made, it is redirected away from the original data into a new storage area. (called "Redirect-on-write" or ROW) When a write request is made, the data are copied into a new storage area, and then the original data are modified. (called "Copy-on-write" or CoW) Despite their names, copy-on-write usually refers to the first technique. CoW does two data writes compared to ROW's one; it is difficult to implement efficiently and thus used infrequently.