Was sind gute NoSQL-und nicht-relationalen Datenbank-Lösungen für den audit - /logging-Datenbank

Was geeignet wäre, die Datenbank für die folgende? Ich bin vor allem daran interessiert, über Ihre Erfahrungen mit nicht-relationalen NoSQL Systeme.
Sind Sie gut für diese Art von Nutzung, das system, das Sie verwendet haben, und würde empfehlen, oder sollte ich gehen mit normalen relationalen Datenbank (DB2)?

Brauche ich zum sammeln von audit-trail - /logging-information in der Art von Reihe von Quellen, um eine
zentralen server, wo ich konnte, Berichte generieren, effizient und untersuchen, was geschieht, in das system.

In der Regel eine audit - /logging-Veranstaltung würde darin bestehen, immer einige Pflichtfelder, zum Beispiel

  • Global eindeutige id (wie einige generiert durch das Programm, der dieses Ereignis generiert)
  • timestamp
  • - event-Typ (D. H. Benutzer angemeldet, der Fehler passierte, usw.)
  • einige Informationen über die Quelle (server1, server2)

Zusätzlich könnte das Ereignis enthält 0-N Schlüssel-Wert-Paaren, wobei der Wert könnte bis zu wenigen Kilobyte text.

  • Muss es auf Linux-server
  • Sollte es mit der hohen Menge an Daten (100 GB zum Beispiel)
  • sollte es irgendeine Art von effiziente Volltextsuche
  • Sollte es ermöglichen gleichzeitige Lesen und schreiben
  • Es sollte flexibel sein, um neue event-Typen und hinzufügen/entfernen von Schlüssel-Wert-Paare zu den neuen Ereignissen. Flexibel=keine änderungen erforderlich sein sollten, um Datenbank-schema, Anwendung, Erzeugung der Ereignisse kann nur hinzufügen, neue event-Typen/neue Felder wie erforderlich.
  • es sollte effizient sein, um Abfragen gegen die Datenbank. Für reporting und erforschen, was passiert ist. Zum Beispiel:
    • Wie viele Ereignisse mit Typ=X kam in einiger Zeit.
    • Erhalten Sie alle Veranstaltungen, bei denen Feld A hat den Wert Y.
    • Bekommen alle Ereignisse mit Typ X und Feld A den Wert 1 und im Feld B ist nicht 2 und das Ereignis trat in der letzten 24h
Schreibe einen Kommentar