Snapshot as a word originated from photography. In computing, snapshot is the copy of a system at a particular point in time which can be restored in some way. In the area of distributed systems and Cloud Computing, snapshot is the term is used for recording the global state at a given time.
Basics of Snapshot in Cloud Computing and Computing Storage
Snapshot is a algorithm for example can be used to get snapshot image. A full backup of a large data set may take a long time to complete. Snapshot algorithm was developed by Leslie Lamport and K. Mani Chandy is known as the Chandy-Lamport algorithm. On multi-tasking or multi-user systems or Cloud Servers, there may be the need to write the data while it is being backed up. This prevents the backup from being destroyed because of failure of the backup system. Snapshot for Cloud Servers is a step for Cloud Computing Disaster recovery.
Snapshot in Computer Storage
There are several closely related terminologies to snapshot. Snapshot for a computer software program is a version that is released directly from the database for version management and not as an the official version or “release”. Most of these versions are from the instantaneous current state of the version control of source code or generated from the working copy of the project of a developer.
Snapshot algorithm make following assumptions – Errors are excluded, The communication channel has a direction and is following the FIFO principle, there is a communication path between any pair of processes in the system, any process can initiate the algorithm, the algorithm itself has no impact on the normal execution of the process.
For hard drive , a snapshot is a usually saved in an separate area of hard disk that receives Newer or Older versions of changed data. It contains a complete copy of the data, but is gradually filled/populated with every change. The method demands redirect-on-write and copy-on-write. With redirect-on-write all changes will be redirected to the snapshot. With copy-on-write changes are held back until the original data is copied to the snapshot. Now if the snapshot is read, it is first checked whether the part is there available to read. If this is the case, this part is used, otherwise read from the original file.
Snapshots can be included or implemented within the file system where it can be accessed by reading in a special directory on older versions of the directory tree, for example. Some disk arrays and logical volume manager can take snapshots of data blocks hold their virtual disks or logical volumes. On Linux, the Btrfs and OCFS2 file systems support creating snapshots (cloning) of individual files.Time Machine of Apple’s OS X v10.8 operating system, is not a snapshot method but a incremental backup service.