Ein Dateisystem ist eine Datenbank. Es ist zwar eine einfachere, hierarchische Datenbank anstelle eines relationalen DBMS, aber es ist dennoch eine Datenbank.
Der Grund, warum die Protokollierung in einem Dateisystem beliebt ist, liegt darin, dass Textprotokolle gut zur Unix-Philosophie passen: "Text ist die universelle Schnittstelle."
Unix hatte mit vielen Allzweckwerkzeugen entwickelt, die gut mit Textprotokollen zusammenarbeiten können. Es spielt keine Rolle, ob die Textprotokolle von MySQL, Apache, Ihrer benutzerdefinierten Anwendung oder Software von Drittanbietern erstellt werden. Der Sysadmin kann Standard-Unix-Tools wie grep, sed, awk, sort, uniq, cut, tail verwenden usw, um trotzdem die Protokolle zu durchsuchen.
Wenn sich jede App in einer eigenen Datenbank anmeldet, eine in MySQL, eine andere in Postgres, eine andere in Elasticsearch, eine andere in ELK, eine andere kann sich nur in MongoDB anmelden, dann müssten Sie zwanzig verschiedene Tools erlernen, um die Protokolle von jeder zu durchsuchen Anwendung. Text ist ein universelles Medium, auf das sich jeder einloggen kann.
Selbst wenn Sie es schaffen, dass alle Protokolle in einer einzigen Datenbank abgelegt werden, beispielsweise in MySQL, möchten Sie möglicherweise von jeder Anwendung unterschiedliche Tabellenschemata verwenden. Daher müssen Sie immer noch ein benutzerdefiniertes Tool schreiben, um die Protokolle für jede Datenbank abzufragen Anwendung. Und wenn Sie alle Anwendungen irgendwie überlastet haben, um sich in einem einzelnen Schema anzumelden, werden Sie wahrscheinlich feststellen, dass dieses generische Schema Ihnen nicht wirklich die gesamte Geschichte jeder Anwendung erzählen kann, sodass Sie die Protokolltexte trotzdem analysieren müssen.
Die Protokollierung in einer Datenbank macht die Arbeit in der Praxis oft nicht wirklich einfacher.
Die Protokollierung in einer Datenbank kann hilfreich sein, wenn Sie eine bestimmte Analyse im Auge haben oder eine bestimmte Anforderung an die Aufbewahrung von Audits haben, für die Sie ein bestimmtes Datenbankschema entwerfen können, um nur die Daten für diese bestimmten Zwecke zu erfassen. Für die Forensik und das Debuggen sowie für das Erfassen von Protokollen ohne bestimmte Zielsetzung sind Textprotokolle in der Regel so gut, dass sich die Kosten für das Erlernen oder Erstellen der speziellen Tools häufig nicht lohnen.