Обсуждение: When should log events be captured in a database?

Поиск
Список
Период
Сортировка

When should log events be captured in a database?

От
James Hartley
Дата:
This is slightly off-topic, but the PostgreSQL cognoscenti is likely to be the best audience for the question.

I am writing an application -- an application-specific (scaled down) Web server in Node.js.  A question I keep asking myself is whether it it better to simply log incoming requests, or write them to a database.  Ultimately, I would like to analyze the data, so moving into a database makes sense.  However, I also can see the point of logging as a simpler, less CPU & I/O intensive activity.  When life goes wrong, capturing data in a log file may be the easier.  Plus, resources are freed to handle requests which is the fundamental goal of a Web server anyways.

Yet if the database resides on another machine, this dismisses some of the CPU - I/O load argument.

I can't believe that the frequency data is acquired is the determinant, but I may be wrong.

I am also aware that there are various tools available for parsing log file data into databases, & writing such tools is not altogether complicated.  Nevertheless, this seems to be a redundant exercise.  

So, I come back full circle.  Even PostgreSQL itself has its log files.  Not everything is written to database tables proper.  Yet at what point does data take on a new status such that it should be collected in a database over simply being written to logs?

Thanks for all candor shared.

Re: When should log events be captured in a database?

От
Daniel Staal
Дата:
--As of January 11, 2012 4:06:06 PM -0800, James Hartley is alleged to have
said:

> So, I come back full circle.  Even PostgreSQL itself has its log
> files.  Not everything is written to database tables proper.  Yet at
> what point does data take on a new status such that it should be
> collected in a database over simply being written to logs?

--As for the rest, it is mine.

My opinion:

Databases are good for trend analysis, or for pulling up a random logged
event.  A log file is good for showing a sequence of events in time.

So: Why are you collecting the log data?  If it's to perform performance
analysis or something similar, I'd probably want it in a database.  I'd
also want it in a database if I expected to have to answer 'when did this
event happen?'  If however I'm expecting to use it to troubleshoot problem
events where something went wrong with the service, I'd rather it was in a
file.

Daniel T. Staal

---------------------------------------------------------------
This email copyright the author.  Unless otherwise noted, you
are expressly allowed to retransmit, quote, or otherwise use
the contents for non-commercial purposes.  This copyright will
expire 5 years after the author's death, or in 30 years,
whichever is longer, unless such a period is in excess of
local copyright law.
---------------------------------------------------------------