Schnappschuss (Informationstechnik)

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Das Wort Schnappschuss (englisch Snapshot) hat in der Informationstechnik mehrere Bedeutungen:

Verteilte Systeme[Bearbeiten]

Im Bereich Verteilte Systeme wird der Begriff für eine Aufzeichnung des globalen Zustandes zu einem bestimmten Zeitpunkt verwendet. Dies kann zum Beispiel mit dem Schnappschussalgorithmus erreicht werden.

Bildschirmfoto[Bearbeiten]

Der beliebige Inhalt auf einem Computerbildschirm wird über die Taste "Druck", auch "PrtSc (Print Screen)", in den Zwischenspeicher befördert. Das ist ein Snapshot (engl. eigentlich Screenshot) vom Bildschirminhalt. Nach Aufruf eines Textverarbeitungs- oder Bildbearbeitungsprogramms lässt sich der Bildschirminhalt dort aus dem Zwischenspeicher einfügen.

Schnappschuss vom Browserinhalt[Bearbeiten]

Ein Schnappschuss vom Browserinhalt ist eine besondere Form des Bildschirmfotos oder des Screenshots. Hierbei kann auch der nicht direkt sichtbare, bzw. der nur durch Scrollen erreichbare Bildschirminhalt in den Schnappschuss aufgenommen werden.

Versionsverwaltung[Bearbeiten]

Als Snapshot bezeichnet man bei Computerprogrammen eine Programmversion, die direkt aus der Datenbank der Versionsverwaltung und nicht als offizielle Version (engl. „release“) herausgegeben wird. Meist werden diese Versionen aus dem momentanen aktuellen Zustand der Versionsverwaltung des Quellcodes oder aus der Arbeitskopie des Projektes eines Entwicklers erzeugt.

Massenspeicher[Bearbeiten]

Bei Festplatten ist ein Snapshot ein besonderer Speicherbereich, der ältere oder jüngere Versionen geänderter Daten aufnimmt. Er enthält keine vollständige Kopie des Datenbestands, sondern wird bei jeder Änderung schrittweise gefüllt. Man unterscheidet dabei die Verfahren Redirect-on-Write und Copy-On-Write. Bei Redirect-on-Write werden alle Änderungen in den Snapshot umgeleitet. Bei Copy-on-Write werden Änderungen solange zurückgehalten, bis die ursprünglichen Daten in den Snapshot kopiert sind. Soll nun der Snapshot gelesen werden, wird zuerst geprüft, ob der zu lesende Teil dort vorhanden ist. Ist dies der Fall, wird dieser Teil verwendet, andernfalls wird von der Originaldatei gelesen.

In Dateisystemen[Bearbeiten]

Snapshots können im Dateisystem implementiert sein, wo z. B. in einem speziellen Verzeichnis auf ältere Versionen des Verzeichnisbaums lesend zugegriffen werden kann.

Beispiele sind das WAFL-Dateisystem, UFS in FreeBSD 5, das Btrfs-Dateisystem, ZFS oder NTFS mit dem Volume Shadow Copy Service in Windows.

Auf Block-Ebene[Bearbeiten]

Einige Disk-Arrays und Logical Volume Manager können Snapshots von Datenblöcken ihrer virtuellen Festplatten bzw. Logical Volumes vorhalten.

Anwendungen[Bearbeiten]

Von Snapshots können Datensicherungen angefertigt werden, ohne auf die Konsistenz des aktuellen Datenbestandes angewiesen zu sein. Einige Anwendungen und Dateisysteme bieten auch die Möglichkeit, die benutzten Daten in einen definierten Zustand zu versetzen und neue Schreibanforderungen zu verzögern, bis das darunter liegende System einen Snapshot erstellt hat.

So kann z. B. eine Datenbank angehalten und ein Snapshot erstellt werden. Die Datenbank kann dann sofort wieder gestartet werden und der Snapshot z. B. an anderer Stelle auf Magnetband geschrieben werden. Professionelle Datenbanken ermöglichen allerdings konsistente Datensicherungen, ohne sie anzuhalten und Snapshots einzusetzen.

Ist im Dateisystem ein Snapshot zugänglich, können Anwender ihre Dateien z. B. nach einem versehentlichen Überschreiben selbst wiederherstellen.

Wichtig ist jedoch immer, dass zum Zeitpunkt des Erstellen des Snapshots möglichst keine Schreiboperation mehr aktiv ist, um inkonsistente Daten im Snapshot zu vermeiden. Snapshots können also nur genutzt werden, wenn die Konsistenz des aktuellen Datenbestandes gewährleistet ist.

Siehe auch[Bearbeiten]