|
|
| 1 | ||
|
Eine Datenbank ist bei großen Datenmengen der bessere Speicherort. Die Tabellen werden nicht im Speicher gehalten solange nicht auf Sie lesen zugegriffen wird. Selbst dann werden nur einzelne Pages (ein Page ist ein kleiner Teil des Inhaltes einer Tabelle) geladen und im Speicher gehalten. Wenn ein Index auf den relevanten Spalten liegt, ist eine Abfrage in Millisekunden auch bei mehreren Gigabyte an Daten möglich ohne das auch nur ein Byte aus der Tabelle in den Speicher geladen werden müßte (auser natürlich die Pages diegebraucht werden um das Result zusammen zu bauen)
– Floyd 27.10.2009
|
||
|
Als praktisches Beispiel, wir verwenden hier bei mir auf Arbeit eine Tabelle mit ~25 Millionen Einträge a ~8KB. Der Abruf auf unserem Testserver (Windows 2003-Server unterer Leistungsklasse mit 4GB Arbeitsspeicher) mit folgendem Statement "select * from tbl_MyTable where a_ID < 1000" braucht <1 Sekunde obwohl die Tabelle nicht im Speicher ist.
– Floyd 27.10.2009
|
||
|
Auch wenn du keine Datenbank haben willst, ich würde einen zweitserver aufstellen (Hostserver eine zweite NIC einbauen) und dort via RSyslog die Daten empfangen von den Hauptservern. Somit ist das komplette Logging outsourced und es ist ein geringer Aufwand. Auf dem Webserver musst du natürlich über das Syslog System loggen, Apache macht das über Pipes, Lighttpd kann es per default und der IIS kann es über Snare.
Logs auf dem Webserver zu belassen würde ich ab einer gewissen Anzahl an Kunden nicht mehr weil die IO des Hostsystems in die Knie gehen kann. – Lord_Pinhead 13.11.2009
|
|
|
|
|
|
|
| 2 |
Wenn es wirklich sehr große Logs sind, würde ich XML aber nicht empfehlen, da hier pro Logeintrag u.U. sehr viel redundante Daten anfallen. Beispiel:
<log type="error">Errormessage</log> kann man sehr viel kürzer als: ERROR Errormessage speichern – arj 07.09.2009
|
|
|
| 1 |
Über das Loglevel lässt sich dann auch die Log-Aktivität einstellen. Bei neuen Systemen logge ich immer alles mit, wenn sie sich bewährt haben schalte ich das Loglevel runter und es werden nur noch reine Exceptions ausgegeben.
– Whiskyfire 07.09.2009
|
|
|
|
|
|
|
...enorme Mengen von Logs anfallen. Wir können/wollen daher die Logs nicht in einer relationalen Datenbank ablegen, weil das zu langsam...
|
|
Wo kommen die Logs her, wo gehen sie hin, und was steht ungefähr drin?