Versionierung in relationalen DB’s

In letzter Zeit beschäftige ich mich wieder vermehrt mit Datenbankthemen und bin auch mal wieder mit einem Evergreen konfrontiert: Versionierung in Tabellen. Ich persönlich bin der Meinung, dass wenn man nur Daten in einer Tabelle versionieren muss, geht das so in meinen Augen sehr gut:

Jeder neue Eintrag zählt die version um eins hoch und um Listen auszulesen, wird das ganze nach id gegrouped und absteigend nach version sortiert. Ich glaub, das ist ein relativ alter Hut.

Interessant wird es, wenn man das für mehrer Tabellen machen muss, also von einer normalisierten Struktur die Historie aufbewahren zum Beispiel. Ich denke, da ist es sinnvoll, eine zentrale Lösung zu schaffen. Ich denk an eine Art version_proxy:

Hier wird bei jeder Änderung an einer Applikation / Verbund von Tabellen, die Daten z.B. als JSON in der Tabelle abgespeichert. application steht hier als logischer Verbund von Daten. id wäre ein PK der den Datensatz eindeutig kennzeichnet. Ein varchar hier, da der ja auch selbstgewählt sein kann. Und natürlich die Version.

Ist die Idee so klar?
Was meint ihr dazu?

GD Star Rating
loading...

Kommentar verfassen