スナップショットとは、(銃の)速射、スナップ写真という意味の英単語で、ITの分野では、
ある時点(瞬間)における対象の全体像を丸ごと写し取ったものを表す。
ストレージ(外部記憶装置)上のファイルシステムを丸ごとコピーしたものや、データベースの
複製などを指すことが多い。
ストレージ内のすべてのファイルやディレクトリ、データベース内の全データ、仮想化環境(仮想マシン)の
実行状態など、刻々内容が変動する何らかのデータ集合について、ある瞬間の状態を丸ごと写し取った複製の
ことをスナップショットという。
データが破損・喪失した際にある時点の状態を復旧したり、別のシステムにデータを複製・移転したり、
後から過去のある時点での状態を参照するのに用いられる。
システムを稼動させたまま漫然とデータをコピーすると、複製開始から終了までの途中の段階で利用者や
他のソフトウェアが一部のデータを書き換えてしまう恐れがあるため、スナップショット作成中は一時的に
書き込みを禁止したり、書き込むべき内容を保管しておいて終了後にまとめて反映させるといった機能が
提供されることが多い。
<ソフトウェアのスナップショット>
ソフトウェア開発やプログラミングの分野では、開発中のソフトウェアについて、ある時点における
ソフトウェアを構成するプログラムコードや関連するデータなどのまとまりをスナップショットという。
バージョン番号などが付与され正式に利用者向けに提供されるリリースとは異なり、主に開発者や
熟練利用者向けに、ある日時における最新の状態を共有するために作成・提供されることが多い。
<画像のスナップショット>
ある瞬間の画面全体やソフトウェアの表示状態を画像として保存した画面キャプチャ(スクリーンショット)の
ことをスナップショットということがある。
原義のスナップ写真の意味に近い用法である。