Was sind unveränderliche Daten?

Unveränderliche Daten sind Informationen in einer Datenbank, die nicht gelöscht oder geändert werden können (oder nicht geändert werden sollten). Die meisten traditionellen Datenbanken speichern Daten in einem veränderbaren Format, was bedeutet, dass die Datenbank die älteren Daten überschreibt, wenn neue Daten verfügbar sind. In einer Mitarbeiterdatenbank werden die Adressinformationen beispielsweise überschrieben, wenn ein Mitarbeiter seinen Wohnsitz wechselt.

Diagramm zu unveränderlichen Daten

Im Gegensatz dazu überschreiben die Datenbanken, die unveränderliche Daten speichern, kein altes Element, wenn neue Informationen verfügbar sind. Sie verwenden verschiedene Techniken, um die historischen und aktuellen Werte der Daten zu erhalten. Unveränderliche Daten sind für die Überwachung und das Debuggen sehr nützlich.

Ein Beispiel für unveränderliche Daten aus der Praxis sind die Krankenakten einer Person. Im Laufe der Jahre hat sich eine Person möglicherweise um eine Behandlung für verschiedene Beschwerden bemüht. Die Krankenakte besteht aus verschiedenen Verschreibungen, Verfahren und Testberichten. Diese Daten sind unveränderlich. Wenn eine Person beispielsweise eine neue ärztliche Verschreibung erhält, sollte ihr altes Rezept nicht überschrieben werden. Stattdessen sollte die Datenbank die neuen Daten an die vorhandenen Daten anhängen. Historische medizinische Daten sind ein klassisches Beispiel für unveränderliche Daten.

Warum benötigen Unternehmen unveränderliche Daten?

Mit dem Aufkommen von Cloud-Daten und dem Internet der Dinge (IoT) erhalten Unternehmen ein riesiges Volumen an Transaktionsdaten. Diese Daten müssen schnell in einer Datenbank gespeichert werden. Unveränderliche Dateien sind eine geeignete Lösung zum Speichern von Protokollen für Hochgeschwindigkeits-Transaktionen. Unternehmen müssen auch den Bedarf an historischen Daten berücksichtigen. Da die Datenschutzbestimmungen immer strenger werden, entscheiden sich viele Unternehmen dafür, ihre historischen Daten aufzubewahren. Sie helfen ihnen dabei, die Vorschriften einzuhalten, wenn ein Kunde oder eine Regierung frühere Daten anfordert. Eine Datenbank, die Daten im unveränderlichen Format speichert, eignet sich am besten für diesen Anwendungsfall.

Unternehmen müssen häufig ihre aktuellen Daten mit historischen Daten vergleichen, um Benutzertrends zu verstehen oder das Wachstum zu messen. In solchen Fällen können historische Daten nicht überschrieben werden. Unveränderliche Daten helfen Unternehmen auch dabei, die Veränderungen zu verfolgen, die sie im Laufe der Jahre eingetreten sind. Dies ist besonders bei Softwaresystemen hilfreich.

O'Reilly-Bericht: Aufbau einer einheitlichen Dateninfrastruktur
O'Reilly-Bericht: Aufbau einer einheitlichen Dateninfrastruktur
Nur ein Drittel der Unternehmen hat sich zu datenbasierten Organisationen entwickelt. Was ist die Lösung? Finden Sie es in diesem eBook heraus!

Was ist die Verwendung einer unveränderlichen Datenbank?

Speichern von Stream-Daten

Mit der Informationsexplosion und dem Aufkommen des IoT erhalten Unternehmen jede Sekunde riesige Datenmengen. Sie können sich keine Verzögerungen bei der Datenspeicherung leisten. Die meisten traditionellen Datenbanken, die eine veränderbare Datei verwenden, haben eine gewisse Latenz, da sie die vorherigen Daten löschen, die neuen schreiben und auf Integrität prüfen. Bei Stream-Daten – beispielsweise von IoT-Sensoren – sollte die Datenbank die Daten jedoch schnell speichern. Wenn die Datenbank unveränderliche Dateien verwendet, hängt sie einfach die neuen Daten an. Dadurch können unveränderliche Datenbanken Daten viel schneller speichern –und eignen sich daher besser zum Speichern von Stream-Daten.

Bewahrung des historischen Kontexts

Personenbezogene Daten, wie z. B. die Krankengeschichte einer Person, müssen dauerhaft gespeichert werden, um einen Kontext für die neuen Daten zu schaffen. Wenn eine Person beispielsweise wegen einer Krankheit behandelt wird, müssen alle ihre alten Medikamente und Behandlungen berücksichtigt werden. Traditionelle Datenbanken können zwar historischen Kontext bieten, garantieren jedoch keine Datenerhaltung. Unveränderliche Datenbanken stellen naturgemäß sicher, dass keine Daten nicht gelöscht werden.

Überwachung und Debugging

Systeme, die sich häufig ändern, wie Websites oder Software, müssen die wichtigsten Snapshots des Systems beibehalten, um Änderungen nachzuverfolgen. Die meisten Versionskontrollsysteme speichern Daten in unveränderlichen Dateien, sodass kein Risiko einer Überschreibung besteht. Finanzinstitute benötigen auch eine unveränderliche Datenbank, um alle ihre historischen Transaktionen zu speichern. Andere Organisationen, die Daten für häufige Prüfungen vorlegen müssen, können ebenfalls von einer unveränderlichen Datenbank profitieren.

Wie funktioniert eine unveränderliche Datenbank?

Im Gegensatz zu den herkömmlichen relationalen Datenbanken (veränderbaren Datenbanken), die datensatzbasiert sind, sind die unveränderlichen Datenbanken protokollbasiert. Wenn ein neues Datenelement verfügbar ist, schreibt die veränderbare Datenbank eine bestimmte Zelle in einer Datentabelle um. Die unveränderliche Datenbank speichert Daten in Protokollen und erstellt ein neues Protokoll für jedes neue Datenelement.

Um zu verstehen, wie eine unveränderliche Datenbank funktioniert, sehen Sie sich eine einfache Datenbank an, in der Details eines Blog-Artikels gespeichert sind. Eine klassische relationale Datenbank würde diese Daten in einem veränderbaren Format speichern, wobei die Details des Blogposts in einer Tabelle gespeichert werden. Angenommen, Permalink, Titel und Inhalt sind die drei Spalten dieser Tabelle. In einer veränderbaren Datenbank führt die Datenbank einen Aktualisierungsvorgang durch, wenn sich der Titel oder der Inhalt ändert. Die neuen Daten überschreiben den vorherigen Eintrag. Die älteren Titel und Inhalte sind für immer verloren. Eine unveränderliche Standard-Datenbank speichert diese Informationen als Protokolle.

Die veränderbare Datenbank speichert nur den aktuellen Status des Blogs. Die unveränderliche Datenbank speichert den Verlauf des Blogs zusammen mit dem aktuellen Status. Eine unveränderliche Datenbank führt nur Einfügevorgänge aus und aktualisiert vorhandene Datenfelder nicht.

Wie werden die Daten in einer unveränderlichen Datenbank gespeichert?

Fahren wir nun mit dem Beispiel eines Blogposts fort. Die unveränderliche Datenbank verwendet eine andere Tabellenstruktur als die veränderbare Datenbank. Jede Änderung eines Blog-Beitrags wird als neue Zeile in einer Tabelle in eine Datenbank eingefügt. Die Felder in der Tabelle sind Folgende:

  • Revisionsnummer: Dies ist der primäre Schlüssel der Tabelle. Jede Blog-Überarbeitung sollte mit einer eindeutige Revisionsnummer versehen sein.
  • Zeitstempel: Der Zeitpunkt, zu dem die Überarbeitung stattfindet. Es sollte ein Einzelwert sein.
  • Permalink, Titel und Inhalt

Im Gegensatz zur veränderbaren Datenbank, in der jede Überarbeitung des Blogposts die Daten des Blogs überschreibt, erstellt die unveränderliche Datenbank für jede Änderung im Blogbeitrag einen neuen Revisionseintrag. Auf diese Weise bleiben Informationen zu jeder vorherigen Bearbeitung des Blogartikels erhalten und können jederzeit basierend auf dem Zeitstempel oder der Revisionsnummer abgerufen werden.

Was sind die Vorteile unveränderlicher Daten?

Schnellerer Betrieb

Wenn Daten als unveränderlich gespeichert werden, werden neue Daten zusammen mit einem Zeitstempel an die vorherigen angehängt. Das bedeutet, dass die Datenbank einfach Daten einfügen kann, ohne das System für Integritätsprüfungen zu blockieren. Diese Qualität unveränderlicher Daten ist bei Stream- und Sensordaten von entscheidender Bedeutung. In diesen Fällen kommen Daten kontinuierlich an und müssen mit minimaler Latenz gespeichert werden.

Historischer Kontext

Viele Unternehmen müssen historische Daten mit der neuesten Version vergleichen, um eine bessere, kontextabhängigere Analyse zu erhalten. Unveränderliche Datenbanken bewahren alle historischen Daten. Sie helfen dabei, in der Vergangenheit Kontrollpunkte zu schaffen, an denen ein System wiederhergestellt werden kann.

Überprüfbarkeit

In vielen Branchen, insbesondere im Gesundheits- und Finanzbereich, werden möglicherweise zufällige Prüfungen durchgeführt. Für sie ist es wichtig, alle Daten aufzubewahren, damit sie die historischen Daten zur Hand haben, wenn sie für ein Audit erforderlich sind.

Compliance

Die Datenschutzbestimmungen sind weltweit streng. Benutzer haben das Recht, eine Kopie aller Daten zu verlangen, die ein Unternehmen von ihnen gesammelt hat. Das Speichern von Daten als unveränderliche Daten hilft den Unternehmen dabei, solchen Anfragen nachzukommen.

Ressourcen zu unveränderlichen Daten
Wo bringt eine effektive Verwaltung von Referenzdaten mehr Wert für das Unternehmen?
Entdecken Sie die vier Rs der Referenzdaten-Verwaltung und beginnen Sie noch heute mit dem Aufbau Ihres Geschäftsfalls.

Was sind die Nachteile unveränderlicher Daten?

Höhere Speicheranforderungen

Das Speichern unveränderlicher Daten erfordert höhere Speicheranforderungen im Vergleich zu herkömmlichen veränderbaren Datenbanken. Jede Aktualisierung wird in einem anderen Protokoll gespeichert, wodurch die Datenbank vergrößert wird.

Komplexität

Unveränderliche Datenbanken sind komplexer, da sie historischen Kontext speichern. Die Datenbank muss die Komplexität der Speicherung jeder Transaktion bewältigen.

Daten-Compliance

Eine unveränderliche Datenbank löscht keine Daten. Die meisten Datenbestimmungen schreiben jedoch vor, dass das System die Daten löscht, wenn ein Benutzer dies fordert. Das ist eine große Herausforderung für unveränderliche Datenbanken, die auf der Annahme beruhen, dass niemals Daten gelöscht werden.

Wie bieten unveränderliche Datenbanken eine Löschfunktion?

Die unveränderlichen Datenbanken bieten inhärent keine Löschfunktion, da die Datenbank selbst so konzipiert ist, dass die Daten niemals gelöscht werden. Wie wir jedoch im vorherigen Abschnitt gesehen haben, geben Datenschutzbestimmungen den Benutzern das Recht, „vergessen“ zu werden. Dies setzt voraus, dass die Daten gelöscht/überschrieben werden.

Krypto-Shredding ist eine Lösung, mit der die unveränderlichen Daten „überschrieben“ werden können. In einer Datenbank mit einer Krypto-Shredding-Funktion werden die unveränderlichen Daten in einem verschlüsselten Format gespeichert. Ein Verschlüsselungsschlüssel ist erforderlich, um die in der Datenbank gespeicherten personenbezogenen Daten zu entschlüsseln. All diese Schlüssel werden in einer veränderbaren Datenbank gespeichert. Wenn eine Anforderung zum Überschreiben der Daten erfolgt, werden die Daten nicht gelöscht. Stattdessen wird der zugehörige Verschlüsselungsschlüssel überschrieben. Wenn der Verschlüsselungsschlüssel weg ist, können die Daten nicht mehr genutzt werden. Das ist so gut wie das Löschen der mit dem Verschlüsselungsschlüssel verknüpften Daten. Dies ist eine akzeptable Lösung für die Datenschutzbestimmungen der Europäischen Union.