Registrieren Passwort vergessen?

Persistenz (Informatik)

17. Sep 2008, 20:53

Persistenz ist ein Begriff aus der Informatik, der die Fähigkeit bezeichnet, Daten (oder Objekte) in nicht-flüchtigen Speichermedien wie Dateisystemen oder Datenbanken zu speichern.

Persistenz wird als ein Synonym für „nichtflüchtig“ genutzt, wobei es sich auf die Unterscheidung zwischen Daten bezieht, die, sobald das Programm endet, verloren gehen und solchen, die permanent in einem „nichtflüchtigen“ Speicher gespeichert werden und auch nach Beenden des Programms (z. B. Stromausfall) vorhanden bleiben, angezeigt und gelesen werden können.[1]

Daten, die diese Fähigkeit nicht besitzen, existieren nur im Hauptspeicher des Computers und gehen verloren, sobald das Programm endet, von dem sie angelegt wurden. Solche „flüchtigen“ Daten werden transient genannt, sie sind gepuffert. Persistente Daten werden dagegen gespeichert und können beim erneuten Start des Programms wieder aus dem Speichermedium gelesen und angezeigt werden.

Unter einer persistenten Verbindung ist eine andauernde, anhaltende Verbindung zu verstehen, die kurzzeitige Unterbrechungen überdauert, ohne dass sich ihr Informationsinhalt ändert.

Zwei verschiedene Lösungsansätze bieten die Serialisierung und die objektrelationale Abbildung. Bei der Serialisierung kann das Objekt als serieller Datenstrom in ein persistentes Speichermedium geschrieben werden (z. B. durch „Java I/O Streams“). Die andere Möglichkeit ist die objektrelationale Abbildung (object-relational mapping). Diese wird durch einen sogenannten Persistenzprovider (persistence provider) realisiert. Typischerweise bieten die Datenbank-Hersteller dort eigene Implementierungen an, es gibt aber auch Open-Source Persistenzprovider (z. B. Hibernate).

Verschiedene Entwurfsmuster wie das Data Access Object unterstützen das gute Design. Sie bieten eine einheitliche Schnittstelle für verschiedene persistente Speichermedien (Dateisystem, RDBMS, Directory-Service, B2B-Service usw.).

Innerhalb eines Anwendungsservers unterscheidet man zwischen containerbasierter Persistenz (die Laufzeitumgebung übernimmt das Speichern und Wiederherstellen) und komponentenbasierter Persistenz (die Komponente muss selbst speichern und wiederherstellen). Im Beispiel Java wären für die containerbasierte Persistenz die Enterprise JavaBeans (EJBs) verantwortlich. Dabei muss ab Java Platform, Enterprise Edition 5 jede zu persistierende Klasse mit der Annotation @Entity ausgezeichnet werden.[2]

[Bearbeiten] Einzelnachweise

  1. Persistenz/persistence. In: IT Wissen. DATACOM Buchverlag. Abgerufen am 19. August 2008.
  2. Entity (Java EE 5). In: Java Platform Enterprise Edition, v 5.0: API Specifications. Sun Microsystems, Inc, 2007. Abgerufen am 19. August 2008. (englisch)
Dieser Artikel ist eine Kopie aus der freien Enzyklopädie Wikipedia. Am Originalartikel kann jeder Korrekturen und Ergänzungen vornehmen. Zudem kann man frühere Versionen einsehen.
In Kooperation mit Lycos Europe Network