Tengo un sistema que recibe archivos de registro de diferentes lugares a través de http (> 10k productores, 10 registros por día, ~ 100 líneas de texto cada uno).Almacenamiento de muchos archivos de registro
Me gustaría almacenarlos para poder calcular misc. estadísticas sobre ellos todas las noches, exportarlos (ordenados por fecha de llegada o contenido de primera línea) ...
Mi pregunta es: ¿cuál es la mejor manera de almacenarlos?
- Los archivos planos de texto (con bloqueo adecuado), un archivo por archivo subido, un directorio por día/productor
- archivos de texto plano, un archivo (grande) por día para todos los productores (problema en este caso será la indexación y el bloqueo)
- la tabla de base de datos con el texto (MySQL se prefiere por razones internas) (pb con purga de DB como borrar puede ser muy larga!)
- la tabla de base de datos con un registro por línea de texto
- base de datos con sharding (una tabla por día), lo que permite una purga de datos simple. (esto es particionamiento. Sin embargo, la versión de mysql a la que tengo acceso (es decir, compatible internamente) no lo admite)
- Basado en documentos DB à la couchdb o mongodb (el problema podría ser con indexación/madurez/velocidad de ingestión)
¿Algún consejo?
Esta es una pregunta sys-admin, lo que significa que pertenece al sitio hermano "Server Fault" serverfault.com – tylerl
no realmente, la respuesta a lo que estoy pidiendo tiene un gran impacto en el desarrollo – makapuf