¿Inicia sesión en un archivo de texto o base de datos?

15

¿Cuándo debo usar la base de datos para el registro y cuándo los archivos de texto?
Veo que los servidores web y los marcos web (que su aplicación usa internamente) usualmente (¿siempre?) Registran solicitudes y errores en archivos de texto de forma predeterminada. Pero veo que las personas que desarrollan su aplicación en torno a esos servidores y marcos a veces inician sesión en la base de datos (incluso en la base de datos principal de la aplicación, no en una externa). Quizás también haya una diferencia entre registros de depuración y registros de auditoría : he leído esta clasificación en algún lugar de este sitio.

    
pregunta Nakilon 23.03.2016 - 12:10

4 respuestas

12

En términos muy generales, el registro en un archivo de texto es mucho más rápido que el registro en una base de datos. Ese es el aspecto principal del registro que debe considerar.

Es más probable que la razón por la que inicie sesión en una base de datos sea porque desea consultar los resultados: la búsqueda de información de registro particular es más fácil en una base de datos, especialmente si registra información contextual que se puede usar para agrupar las entradas de registro. Por lo general, también es más fácil acceder a una base de datos central que a un archivo de registro en un servidor que puede estar protegido y no accesible.

Lo ideal sería iniciar sesión localmente en un archivo y luego migrar estos datos a una base de datos para su inspección si es necesario más adelante.

Ahora la auditoría es una bestia completamente diferente. Si bien el concepto es similar al de registro, generalmente se necesita una auditoría que se mantenga durante mucho tiempo (a diferencia de los archivos de registro utilizados para la depuración o el rastreo que se pueden eliminar por capricho). Las auditorías están ahí para mostrar información importante. Registra mucha menos información de auditoría y con menos frecuencia que el registro normal, por lo que el rendimiento no es una preocupación. Es por esta razón que se ven las ventajas de escribir esta información de auditoría en un DB central.

    
respondido por el gbjbaanb 23.03.2016 - 12:30
6

No hay un enfoque de talla única para todos, y para la resiliencia, a veces desea utilizar múltiples enfoques. Tomando su ejemplo, es posible que desee guardar registros de depuración en un archivo y almacenar registros de auditoría en una base de datos.

Resto de ruta de aplicaciones

Ventajas: fáciles de implementar y visibles para el usuario de inmediato

Contras: la información solo persiste mientras la aplicación está activa

Archivo de texto

Pros: Fácil de implementar

Contras: Necesidad de garantizar que no se produzca el bloqueo de archivos. ¿Qué hacer cuando el espacio en disco se agota en la unidad de registro?

Registro de eventos

Pros: Fácil de implementar

Contras: el registro de eventos podría llenarse si no se configura correctamente o los registros antiguos podrían perderse debido a la política de retención / cancelación.

Base de datos

Pros: Fácil de implementar

Contras: Más tráfico DB. ¿Cómo registrar una pérdida de DB u otro problema de DB?

Mensajería (MQ)

Pros: Dispara y olvida

Contras: Otra capa para salir mal. Requiere configuración

    
respondido por el Robbie Dee 23.03.2016 - 12:33
2

Los registros de auditoría deben garantizar la trazabilidad completa de las operaciones durante más tiempo para fines de auditoría, con el objetivo de justificar completamente el contenido de su base de datos.

En algunos casos (por ejemplo, aplicaciones financieras) estos registros pueden tener que garantizar el cumplimiento de los requisitos legales, como la retención (en algunos países durante 10 años) o la inalterabilidad. Como estos registros deben justificar el contenido de la base de datos a nivel de la aplicación, es una práctica común almacenarlos en la base de datos, donde se puede controlar el acceso para evitar modificaciones no autorizadas.

Otros registros , como los registros de supervisión o los registros de seguridad, con frecuencia tienen que hacer frente a las restricciones de volumen y rendimiento. Generalmente, estos se escriben en un archivo porque es más rápido escribir (sin gastos de administración de transacciones) más fácil de archivar sin conexión y más fácil de integrar con el monitoreo externo SIEM herramientas.

Se debe tener en cuenta que, si bien este tipo de registros se pueden usar para demostrar la confiabilidad de los registros de auditoría (por ejemplo, sin acceso no autorizado), generalmente tienen restricciones de retención más cortas (por ejemplo, entre 6 meses y 2 años para fines de cumplimiento de la ley). registros de telecomunicación) si hay alguna restricción en absoluto.

    
respondido por el Christophe 23.03.2016 - 13:18
1

Una de las muchas razones para usar db para el registro de depuración es cuando no tiene acceso a la aplicación o al servidor web para ver el visor de eventos o los archivos de texto

Los registros de auditoría son diferentes que los registros de depuración en el contexto de la aplicación web, ya que en algunas aplicaciones es posible que tenga que mostrarlas al usuario final para que puedan ingresar a la base de datos para una fácil recuperación.

También puede usar DB Tools para filtrar y visualizar fácilmente.

    
respondido por el Muhammad Raja 23.03.2016 - 12:28

Lea otras preguntas en las etiquetas