Seite 1 von 1
Konzeptionelles: Löschen vs. als gelöscht markieren
Verfasst: 05.09.2006, 13:52
von Southmedia
Hallo,
man kann bei einem Forum zum Beispiel eine Löschfunktion auf verschiedene Arten einbauen:
1. Entweder man löscht den Eintrag wirklich vollständig aus der Datenbank
2. Man markiert ihn als gelöscht und zeigt ihn dementsprechend nicht mehr an
3. Gelöschte Beiträge in eine deleted-Tabelle kopieren und dann erst löschen (entspricht 2, nur sauberere Trennung in der Datenbank)
Zusammengefasst kann man die Beiträge also wirklich löschen oder nur als gelöscht markieren.
Welche Argumente gibt es für die beiden Wege?
Verfasst: 05.09.2006, 14:18
von kill_bill
Wirklich löschen entlastet die Datenbank, hat aber zugleich den Nachteil, dass die Daten auch für eine etwaige Beweissicherung nicht mehr zur Verfügung stehen.
Somit wäre Punkt 3 die performantere und zugleich sicherere Methode.
Sofern Beiträge lediglich ausgeblendet (2.) oder weggespeichert (3.) werden, stellt sich die Frage, wie es mit dem Datenschutz aussieht - insbesondere dann, wenn der User selbst die Löschung iniziiert hat.
Verfasst: 05.09.2006, 14:43
von MonikaTS
kill_bill hat geschrieben:....
Sofern Beiträge lediglich ausgeblendet (2.) oder weggespeichert (3.) werden, stellt sich die Frage, wie es mit dem Datenschutz aussieht - insbesondere dann, wenn der User selbst die Löschung iniziiert hat.
irrelevant:
User A beleidigt User B
User B klagt und
user A rennt zum Admin und sagt lösch!
???
ich habe Paranoia
wegsperren.
aber wegen Beweisführung..
regelmäßigst offline speichern...
dann erst aus Datenbank löschen , wegen *zu vieler Datenmengen*
lg
Verfasst: 05.09.2006, 15:33
von ole1210
Ich würde es von der Menge/Last abhängig machen. Wird wenig gelöscht, bzw. ist die dadurch verursachte Mehr-Last nur marginal, so würde ichs markieren.
Wenns wirlklich ins Gewicht fällt und in der performance zu bemerken ist, dann würde ichs löschen. Selbstverständlich aber offline sichern.
Weitere Möglichkeit:
x Monate als gelöscht markieren und danach erst wirklich löschen. Ist evt. nen ganz guter Kompromiss.
Verfasst: 05.09.2006, 15:54
von sean
Wenns wirlklich ins Gewicht fällt und in der performance zu bemerken ist, dann würde ichs löschen. Selbstverständlich aber offline sichern.
Na ja, soviele Beiträge die gelöscht werden müssen werden es wohl nicht sein, dass die Db performance nachhaltig steigen wird
Ich würd einfach eine Spalte zufügen und eine Art Freigabe/gelöscht Feld machen. Und wenn man aus Performance Gründen wirklich Beiträge löscht, kann man die sowieso in eine andere DB oder Textfile speichern, falls man nach Jahren nochmal an die Infos dran muß.
Ich mach sowas normalerweise mit backup Tabellen. In den normalen Tabellen steht ein trigger (delete), der den Datensatz vor dem Löschen einfach in die Backup Tabelle einfügt (bei mysql erst ab V5).
Gruß
sean
Verfasst: 06.09.2006, 09:18
von Hasenhuf
kill_bill hat geschrieben:...wenn der User selbst die Löschung iniziiert hat.
Wer sagt denn, daß z.B. eine Beleidigung gelöscht werden muß? Sie darf nicht verbreitet werden.
Und zur Beweissicherung ist eine Datenbank auch eher ein schlechtes Mittel.