php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.12.2010, 17:47  
Neuer Benutzer
 
Registriert seit: 04.12.2010
Beiträge: 7
PHP-Kenntnisse:
Fortgeschritten
Bytecruncher befindet sich auf einem aufstrebenden Ast
Standard Daten-History, wie realisieren?

Hallo.

Ich möchte eine Daten-History realisieren.
Es soll möglich sein, die Änderungen eines Datensatzes lückenlos nachvollziehen zu können. Aber nicht nur der Datensatz selbst soll eine History haben, auch alle hochgeladenen Daten sollen archiviert werden.
Auch vom User gelöschte Datensätze und Dateien sollen im System bleiben.
Nur die Admins sollen in der Lage sein, bestimmte Datensätze und Dateien komplett oder auch nur bestimmte Archiveinträge komplett zu löschen, samt zugehörigem Verlaufseintrag.

Nun gibts ja mehrere Methoden, so etwas zu realisieren. Ich gehe jetzt erst mal nur vom Datensatz selbst aus, und nicht von den angehängten Dateien:

1. Man kann den ursprünglichen Datensatz speichern, und alle Änderungen nur als Differenz speichern.
2. Man kann den aktuellen Datensatz komplett speichern, und die alten Einträge als Differenz speichern.
3. Man kann den aktuellen Datensatz sowie alle Änderungen jeweils komplett speichern (Also jede Version voll), und zwar in der Arbeitsdatenbank.
4. Man kann die aktuelle Version in der Arbeitsdatenbank speichern, und die alten Versionen in einer zweiten Archivdatenbank als Differenz oder auch im Ganzen.


Ich selbst habe mich für folgendes entschieden:
In der Arbeitsdatenbank werden die jeweils aktuellen Datensätze gespeichert. In einer speziellen Archivdatenbank werden die alten Datensätze im Ganzen gespeichert. Eine extra Archivdatenbank deswegen, damit die Arbeitsdatenbank nicht zu groß wird und die Performance nicht leidet.
Aus Gründen der Einfachheit werde ich mich auch nicht mit irgendwelchen Differenz-Speichermechanismen auseinander setzen, sondern die Datensätze bei jeder Änderung einfach komplett in die Archivdatenbank umkopieren und in der Arbeitsdatenbank immer nur die aktuelle Version vorhalten.

Bei jeder Änderung den Datensatz komplett im Archiv speichern hat natürlich einen größeren Speicherverbrauch, da die nicht geänderten Daten ja in jedem Archiveintrag doppelt gespeichert sind. Bei einer Datensatzgröße von wenigen kb ist das meiner Meinung nach noch tolerierbar. In Zeiten wo man ettliche Gigabyte Webspace für wenig Geld bekommt, spielt diese Speicherplatzvergeudung keine so große Rolle finde ich.

Neben dem Datensatz selbst werden die angehängten Dateien ebenfalls in einem Archivordner in der jeweils alten Version gespeichert. Auch hier werde ich nicht mit irgendwelchen Differenzverfahren arbeiten. Ich werde lediglich jede angehängte Datei einzeln verwalten und nicht einfach alle Dateien ins Archiv schieben, sondern nur die, die wirklich aktualisiert wird.


Damit die Archivdatenbank auch nicht gigantisch groß wird, wollte ich in der Datenbank auch nur eine gewisse Anzahl von Archiv-Einträgen speichern, und die ältesten Einträge automatisch als XML Datei in einen Archivordner exportieren. Die Daten der XML Dateien wollte ich bei Anforderung dann temporär wieder importieren und nach der Verarbeitung und Ausgabe gleich wieder aus der db entfernen.

Was haltet ihr davon? Oder würdet ihr mir lieber eine andere Methode empfehlen?

(P.S. Das Ganze soll etwa aussehen wie bei Wikipedia, wo man alle Bearbeitungsschritte und Dateiversionen nachvollziehen kann)
Bytecruncher ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.12.2010, 20:27  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Mach ich genauso. Vor der UPDATE-Anweisung kopiere ich die komplette Zeile in ein Archiv.
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Vie Formular empfangene Daten berarbeiten und an remote PHP Skript senden fr3sh PHP Einsteiger 4 27.01.2011 10:20
mehrere Daten von Tabelle gleichzeitig eintragen Mario75 PHP Einsteiger 3 27.11.2010 12:49
[Erledigt] geänderte Daten übergeben ? danyh Datenbanken 3 17.03.2010 12:00
Daten in Datenbank übergeben Bebre PHP Tipps 2008 2 11.02.2008 11:41
speicherung der daten bei stromausfall? MrCavity Datenbanken 2 19.11.2005 17:39
[Erledigt] sql daten für einen kunden auslesen/ändern im Formular PHP Tipps 2005-2 3 12.10.2005 08:36
[Erledigt] Daten aus mehreren Tabellen holen Datenbanken 0 19.09.2005 17:14
Daten auslesen und ändern Datenbanken 2 17.09.2005 19:28
phpMyAdmin Daten exportieren als ISO-8859-1 Format. DonTermi Datenbanken 0 15.09.2005 10:24
Daten eintragen und auslesen Rettungsdackel Datenbanken 0 14.09.2005 16:29
[Erledigt] Daten auslesen - Daten hinzufügen - Daten Speichern PHP Tipps 2004-2 1 04.12.2004 10:59
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
Daten aus Java-Script in PHP verarbeiten PHP Tipps 2004 33 22.07.2004 09:41
[Erledigt] Keine Daten in der Bestätigungsmail?? :?: PHP Tipps 2004 4 22.07.2004 01:31
Übertragung von Daten zwischen Anmeldeschritten PHP Tipps 2004 6 18.06.2004 20:32

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
datensatz historie, datensatz änderungen speichern php, php wie kann ich änderungen an datensatz erkennen, datensätze historie speichern, datensätze historie, datenbank historie, daten history, php datenhistory, php history, historie für änderung php, php nur änderungen speichern, datenbank history, mysql history geänderter daten, php history für dateien, dateien nur änderung speichern php, daten realisieren, wie historie in db speichern, historie mit datenbank realisieren, daten in history datenbank ablegen, historie in datenbank speichern

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:16 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum