Después de analizar algunos gigabytes de archivos de registro con grep y similares me preguntaba cómo hacer esto más fácil utilizando una base de datos para registrar las cosas. ¿Qué base de datos sería apropiada para este propósito? Una base de datos de vanillia SQL funciona, por supuesto, pero proporciona muchas garantías transaccionales, etc. que no necesita aquí, y que pueden hacer que sea más lento si trabaja con gigabytes de datos y tasas de inserción muy rápidas. Entonces, una base de datos NoSQL que podría ser la respuesta correcta (compare this answer para algunas sugerencias). Algunos de los requisitos para la base de datos serían:¿Qué base de datos usaría para registrar (es decir, als archivo de registro de reemplazo)
- capacidad para hacer frente gigabytes o incluso terabytes de datos
- inserción rápida
- múltiples Indizes en cada entrada debe ser posible (por ejemplo, tiempo, identificador de sesión, URL, etc. .)
- Si es posible, almacena los datos en una forma comprimida, ya que los archivos de registro suelen ser extremadamente repetitivos.
Actualización: Ya hay algunas preguntas de SO para esto: Database suggestion for processing/reporting on large amount of log file type data y What are good NoSQL and non-relational database solutions for audit/logging database. Sin embargo, me interesa saber qué bases de datos cumplen con cada requisito.