¿Cómo puedo manejar grandes cantidades de datos de archivo de registro para la visualización de gráficos dinámicos?

StackOverflow https://stackoverflow.com/questions/3516410

Pregunta

Tengo una gran cantidad de datos de archivo de registro que quiero mostrar gráficos dinámicos de, por períodos de tiempo básicamente arbitrarios, opcionalmente filtrada o agregados por diferentes columnas (que podría pregenerate). Me pregunto cuál es la mejor manera de almacenar los datos en una base de datos y acceder a ella para gráficos que muestran, cuando:

  • la resolución de tiempo debe ser variable de un segundo a un año
  • hay entradas que abarcan varios bloques de tiempo '', por ejemplo, una conexión podría haber sido abierta durante unos días y quiero contar y mostrar al usuario por cada hora que estaba conectado, no sólo en la hora 'slot' la conexión se crea o se terminó

¿Hay mejores prácticas o herramientas / plugins para los carriles que asa ayuda de este tipo y la cantidad de datos? ¿Hay tal vez los motores de bases de datos adaptados específicamente a este, o que tengan funciones útiles (por ejemplo, los índices de CouchDB)?

EDIT: Estoy en busca de un escalable manera de manejar esto patrón de datos y acceso. Cosas que considerar: Ejecutar una consulta para cada segmento, en aplicación de combinación - probablemente demasiado lento. GRUPO POR marca de tiempo / granularidad - no cuenta las conexiones correctamente. Preprocesamiento de datos en filas por granularidad más pequeña y la disminución de resolución en consulta -. Probablemente la mejor manera

¿Fue útil?

Solución 2

La forma en que lo resolvió al final fue para pre-proceso de los datos en segmentos por minuto, por lo que hay una fila para cada evento y minutos. Eso hace que sea fácil y lo suficientemente rápido para seleccionar los rendimientos y resultados correctos. Para obtener granularidad diferente, que puede hacer aritmética de enteros en las columnas de fecha y hora - seleccione abs (marca de tiempo /) * factor de factor de grupo y por ABS (marca de tiempo / factores) * Factor

.

Otros consejos

Creo que se puede utilizar marcas de tiempo MySQL para esto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top