Utilizamos una base de datos de registro en mi último trabajo, y fue genial.
Teníamos procedimientos almacenados que escindían visiones generales del estado general del sistema para diferentes métricas que podía cargar desde una página web. También podríamos escupir rápidamente un rastro para una aplicación determinada durante un período determinado, y si lo quería era fácil obtenerlo como un archivo de texto, si realmente le gusta grep-ing archivos.
Para garantizar que el sistema de registro no se convierta en un problema, existe un marco de código común que usamos entre las diferentes aplicaciones que manejaban la escritura en la tabla de registro. Parte de ese marco incluía también registrando en un archivo, en caso de que el problema sea con la base de datos en sí, y parte de ello implica el ciclo de los registros. En cuanto a los problemas de espacio, la base de datos de registro está en un calendario de copia de seguridad diferente, y realmente no es un problema. El espacio (sin copia de seguridad) es barato.
Creo que resuelve la mayoría de las preocupaciones expresadas en otros lugares. Todo es una cuestión de implementación. Pero si me detuviera aquí, todavía sería un caso de "no mucho peor", y esa es una mala razón para tomarse la molestia de configurar el registro de DB. Lo que me gustó de esto es que nos permitió hacer algunas nuevas cosas que serían mucho más difíciles de hacer con los archivos planos.
Hubo cuatro mejoras principales sobre los archivos. La primera son las descripciones generales del sistema que ya he mencionado. El segundo, y lo más importante, era un control para ver si a alguna aplicación le faltaban mensajes en los que normalmente esperaríamos encontrarlos. Ese tipo de cosas es casi imposible de detectar en el registro tradicional de archivos, a menos que pases mucho tiempo revisando diarios que te den a entender en las aplicaciones que te dicen que todo está bien el 99% del tiempo. Es sorprendente cómo es la liberación de la vista para mostrar las entradas de registro faltantes. La mayoría de los días no necesitábamos ver la mayoría de los archivos de registro en absoluto ... algo que sería peligroso e irresponsable sin la base de datos.
Eso trae a colación la tercera mejora. Generamos un solo correo electrónico de estado diario, y fue el único que necesitábamos revisar los días en que todo funcionaba normalmente. El correo electrónico incluido mostró errores y advertencias. Los registros perdidos se volvieron a registrar como advertencia por el mismo trabajo de DB que envía el correo electrónico, y la falta de correo electrónico fue un gran problema. Podríamos enviar un mensaje de registro en particular a nuestro rastreador de errores con un solo clic, directamente desde el correo electrónico diario (tenía formato html, datos extraídos de una aplicación web).
La mejora final fue que si queríamos seguir más de cerca una aplicación específica, por ejemplo, después de hacer un cambio, podríamos suscribirnos a una fuente RSS para esa aplicación específica hasta que estuviéramos satisfechos. Es más difícil hacer eso desde un archivo de texto.
Donde estoy ahora, confiamos mucho más en herramientas de terceros y sus habilidades de registro, y eso significa volver a revisar mucho más manualmente. Extraño mucho el DB, y estoy contemplando escribir una herramienta para leer esos registros y volver a registrarlos en un DB para recuperar estas habilidades.
De nuevo, lo hicimos con los archivos de texto como una alternativa, y son las nuevas habilidades las que realmente hacen que la base de datos valga la pena. Si todo lo que vas a hacer es escribir en un DB e intentar usarlo de la misma forma que lo hiciste con los archivos de texto antiguos, agrega complejidad innecesaria y también puedes usar los archivos de texto antiguos. Es la capacidad de construir el sistema para las nuevas características que hace que valga la pena.
Realmente quiere decir cualquier RDBMS. ¿No? Quiero decir que o bien inicias sesión en los archivos o te registras en una base de datos, ¿verdad? –