Persistenz (Informatik) - LinkFang.de





Persistenz (Informatik)


Dieser Artikel oder Abschnitt bedarf einer Überarbeitung.

Persistenz (von lateinisch persistere „durch, über (eine Zeit) hinweg bleiben“) ist in der Informatik der Begriff, der die Fähigkeit bezeichnet, Daten (oder Objekte) oder logische Verbindungen über lange Zeit (insbesondere über einen Programmabbruch hinaus) bereitzuhalten. Dafür wird ein nichtflüchtiges Speichermedium benötigt; auch das Dateisystem oder eine Datenbank sowie eine durch Protokolle gesicherte bidirektionale und transaktionsorientierte Datenübertragung können als nichtflüchtiges Medium betrachtet werden.

Darüber hinaus wird der Begriff im Zusammenhang mit eindeutigen und dauerhaften Identifikatoren digitaler Objekte verwendet, siehe PURL, DOI, URN.

„Persistent“ wird als ein im Kontext wohldefinierter Fachbegriff für „nicht unkontrolliert veränderlich“ verwendet. Das bedeutet beispielsweise, dass die Daten auch nach Beenden des Programms (gegebenenfalls auch bei unvorhergesehenem Beenden, z. B. bei Stromausfall) vorhanden (gespeichert) bleiben, und bei erneutem Aufruf des Programms wieder rekonstruiert und angezeigt werden können[1]. Bzgl. der logischen Verbindungen bedeutet Persistenz, dass die reale Verbindung bei Bedarf/nach einem Ausfall wiederhergestellt wird, ohne dass die zwischenzeitliche Trennung durch die Kommunikationspartner bemerkt wird.

Daten, die diese Eigenschaft nicht besitzen, existieren beispielsweise nur im Hauptspeicher des Computers und verändern oder verlieren ihren Inhalt, sobald das Programm endet, von dem sie angelegt wurden. Solche „flüchtigen“ Daten werden transient genannt, sie sind gepuffert.

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

Persistenz bei objektorientierten Programmen

Es gibt Frameworks, die automatisch dafür sorgen, dass bei ihnen registrierte Objekte persistent auf einem dauerhaften Speichermedium abgelegt sind, sogenannte Persistenzprovider.

Es gibt Open-Source-Persistenzprovider (z. B. Hibernate), typischerweise bieten auch die Hersteller von Datenbanken Implementierungen für Persistenzprovider an. Sie bieten eine einheitliche Schnittstelle für verschiedene persistente Speichermedien (Dateisystem, RDBMS, Directory-Service, B2B-Service usw.). Verschiedene Entwurfsmuster wie zum Beispiel „Data Access Object“ unterstützen ein diesbezüglich gutes Software-Design.

Diese Frameworks setzen meist voraus, dass die Objekte entweder serialisierbar oder objektrelational abbildbar sind. 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).

Verantwortlichkeit bei existierender Laufzeitumgebung

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]

Einzelnachweise

  1. Persistenz/persistence. In: IT Wissen. DATACOM Buchverlag, abgerufen am 19. August 2008.
  2. Entity (Java EE 5 API) bei Oracle (englisch)

Kategorien: Programmierung | Praktische Informatik

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Persistenz (Informatik) (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.