Históricamente, las bases de datos eran caras, y ciertamente nunca querría perder sus preciosas licencias de base de datos en los registros. Sin embargo, las bases de datos de hoy son relativamente baratas y también lo es el procesamiento. Usar una base de datos para registros probablemente no te matará financieramente.
La ventaja de un archivo de registro es que usted sigue escribiendo hasta el final. Esa es una operación relativamente eficiente en comparación con el uso de un servidor de base de datos.
La ventaja de una base de datos es que puede estructurar sus datos de registro en relaciones de datos, que luego pueden analizarse mediante SQL. Esto puede proporcionarle una gran idea del funcionamiento de su software.
Puede obtener lo mejor de ambos mundos utilizando SQLite como su base de datos de registro. SQLite es una biblioteca con un motor SQL que enlaza con su programa. En lugar de fopen/fwrite/fclose, usa la API de SQLite para abrir la base de datos, ejecutar SQL y cerrar la base de datos. No hay servidor de base de datos porque las operaciones del motor SQLite se ejecutan en el proceso de su aplicación ... al igual que fopen/fwrite/fclose. Una vez que capture sus datos en una base de datos SQLite (todo almacenado en un archivo simple), puede usar SQL para analizar sus datos de registro. Consulte http://www.squidoo.com/sqlitehammer#module5800826 para ver un ejemplo.
-------- EDITAR de agosto de 2010 ------------
Los desarrolladores de SQLite han puesto en marcha el registro de writeahead como SQLite version 3.7.0. Esto permite escrituras mucho más rápidas. Consulte this video para más detalles. Con una escritura más rápida, SQLite es aún más útil como base de datos de registro.
Hay un "pequeño" problema con esta sugerencia: SQLite no admite el acceso simultáneo de lectura/escritura, lo que significa que no podrá ver el archivo de registro en tiempo real ... lo cual es una gran desventaja en mi humilde opinión. Liron –
@Liron Levi - Con la versión 3.7.0, y el registro de escritura anticipada habilitado, podrá ver el archivo de registro en tiempo real porque un escritor no bloquea los lectores. –