Best Practice - Protokollierung von Ereignissen (allgemein) und Änderungen (Datenbank)

Hilfe benötigen mit Protokollierung aller Aktivitäten an einem Standort sowie änderungen an der Datenbank.

Anforderungen:

  • sollte in der Datenbank
  • sollte leicht suchbar durch initiator (user-name /session-id), Ereignis (Leistungsart) und der Ereignis-Parameter

ich denken kann, ein Datenbank-design-aber entweder es beinhaltet eine Menge von Tabellen (einer pro Veranstaltung), damit ich mich einloggen kann jeder der Parameter für ein Ereignis in ein separates Feld ODER es geht um einen Tabelle mit Allgemeinen Feldern (7 int numerische und 7 text-Typen) und protokollieren alles in eine Tabelle mit der Ereignis-Typ-Feld, die Bestimmung, welche parameter habe geschrieben, wo (und in der Hoffnung, dass brauche ich nicht mehr als 7 Felder, die von einem bestimmten Typ, oder 8 oder 9 oder was auch immer Nummer, die ich wählen Sie)...

Beispiel-Einträge (die üblichen Sachen):

[username] login failed @datetime
[username] login successful @datetime
[username] changed password @datetime, estimated security of password [low/ok/high/perfect]  @datetime
[username] clicked result [result number] [result id] after searching for [search string] and got [number of results] @datetime
[username] clicked result [result number] [result id] after searching for [search string] and got [number of results]  @datetime
[username] changed profile name from [old name] to [new name]  @datetime
[username] verified name with  [credit card type] credit card  @datetime
datbase table [table name] purged of old entries @datetime via automated process

etc...

so jemand befasste sich mit dieser vor? alle best practices /links, die Sie teilen können?

ich habe es getan mit der generischen Lösung bereits erwähnt, aber irgendwie geht gegen das, was ich gelernt habe aus Datenbank-design, aber wie Sie sehen können, die schiere Anzahl der Ereignisse, die sein müssen verfolgbar (jeder Benutzer wird in der Lage sein zu sehen, diese info) gibt mir Kopfschmerzen, ABER ich LIEBE, die ein Ereignis pro Tisch-Lösung mehr als die generischen.

irgendwelche Gedanken?

edit: außerdem, ist es vielleicht eine autoritative Liste von solchen (wahrscheinlich) Ereignisse irgendwo?

thnx

stack-überlauf, sagt: die Frage, die Sie gefragt haben, erscheint subjektiv und wird wahrscheinlich geschlossen werden.
meine Antwort: wahrscheinlich ist subjektiv, aber es ist direkt bezogen auf mein Problem habe ich mit dem entwerfen einer Datenbank /schreiben mein code, so würde ich begrüßen jede Hilfe. auch ich habe versucht, die Eingrenzung der Ideen 2, so dass hoffentlich einer von diesen wird sich durchsetzen, es sei denn, es ist bereits eine bewährte Lösung für diese Art von Dingen.

InformationsquelleAutor der Frage b0x0rz | 2010-05-09

Schreibe einen Kommentar