Persistenz

  1. Persistenz im Kontext von Software

    Persistenz ist die Eigenschaft eines Objekts, durch die seine Lebensdauer permanent und damit unabhängig von der Ausführung des erzeugenden Programmes wird. Persistente Objekte besitzen eine potentiell unendliche Lebensdauer und können nur durch expliziten Aufruf einer speziellen Methode, z.B. des Destruktors, wieder gelöscht werden. Sie werden deshalb in permanenten Speichersystemen z.B. objektorientierten Datenbanksystemen verwaltet.


    Klassen sind statische Beschreibungen einer Menge von Objekten. Die Sammlung von Klassen beschreibt ein objektorientiertes Programm. Das Programm selbst besteht aus den Objekten, die durch ihren Austausch von Botschaften untereinander das Programm zum Ablauf bringen.

    Aus verschiedenen Gründen ist es notwendig und wünschenswert, ein Programm an einer bestimmten Stelle zu unterbrechen und es an dieser Stelle wieder aufsetzen zu lassen. Dazu müssen die während des Programmlaufs berechneten Daten geeignet gespeichert werden. Dies betrifft bei der objektorientierten Programmierung hauptsächlich die Objekte mit all den zwischen ihnen bestehenden Verknüpfungen.

    Persistenz ist nun die Eigenschaft von Objekten, über die Laufzeit des Programms hinaus in ihrer Identität, ihrem Zustand und ihrer Beschreibung zu existieren. Am einfachsten wäre es natürlich, wenn jedes Objekt weiß, wie es sich selbst abspeichert und wieder identifiziert. Tatsächlich wird dies dadurch erreicht, dass es in den meisten Programmiersprachen allgemein verfügbare Elternklassen gibt, die eben diese Funktionalitäten zur Verfügung stellen.

    Zum Problem wird Persistenz von Objekten dann, wenn sich Klassenbeschreibungen ändern, die gleichen gespeicherten Daten aber weiter verwendet werden sollen. Mit diesem Problemkreis beschäftigen sich vor allem objektorientierte Datenbanken.

    Ein interessantes Problem ist in diesem Zusammenhang die häufig gestellte Forderung nach dem Einsatz relationaler Datenbankmanagementsysteme in Verbindung mit der objektorientierten Struktur eines Systems. Dies führt in der Regel zu einer weiteren Schicht in der Architektur eines Systems, welche Objekte in Relationen umsetzt und umgekehrt.
  2. Persistenz als Synonym für nichtflüchtig

    Persistenz wird auch als Synonym für nichtflüchtig benutzt. So für die Unterscheidung zwischen Daten, die in einem flüchtigen Speicher, wie einem Random Access Memory (RAM) gespeichert werden und bei Stromausfall verloren gehen, und solchen, die permanent in einem nichtflüchtigen Speicher, wie beispielsweise auf magnetischen Speichermedien oder auf Flash-Speichern, gespeichert werden und auch bei Stromausfall vorhanden bleiben.

Informationen zum Artikel
Deutsch: Persistenz
Englisch: persistence
Veröffentlicht: 20.12.2016
Wörter: 373
Tags: #Grundlagen der Informationstechnik
Links: Architektur, Daten, Destruktor, Flash-Speicher, Flüchtiger Speicher