¿Cómo almacenar métricas para mi aplicación web?

Necesito almacenar más métricas para mi aplicación web. Es necesario realizar un seguimiento del comportamiento del usuario y otras condiciones a lo largo del tiempo y compararlo.

Algunos registros tienen una marca de tiempo asociada, otros no. Por lo tanto, es posible que una consulta bajo demanda de métricas no sea adecuada todo el tiempo. Creo que lo que se necesita es una instantánea (¿diaria?) De ciertas consultas analíticas (¿a través de un cronjob?) Que escribo y luego guardo en algún lugar (¿archivo DB?).

En este momento me preocupa el tamaño de estas instantáneas si tuviera que guardarlas en la base de datos. ¿Cómo afectará el rendimiento de mi aplicación?

Los administradores deberían poder ver estos análisis en un panel web. Imagine almacenar el estado de más de 100,000 filas de datos todos los días ... y luego consultarlas con bastante frecuencia para realizar análisis.

¿Existen otros buenos enfoques para almacenar y ver métricas? Estoy usando la pila LAMP para mi aplicación. También utilizo Google Analytics y otras herramientas de seguimiento de métricas de terceros, pero no es lo suficientemente bueno para rastrear estadísticas especializadas para mi aplicación.

preguntado el 18 de junio de 11 a las 02:06

¿Puede ser más específico sobre la naturaleza de lo que necesita almacenar y cuántos datos hay realmente? La forma en que afecta el rendimiento depende del tamaño de la huella. -

Por ejemplo: es posible que deseemos realizar un seguimiento del número diario de usuarios que cambian la configuración de su perfil. Puedo poner una marca de tiempo en la última vez que actualizaron su perfil en la tabla de usuarios, pero eso no me muestra nada histórico. Este es solo un ejemplo sencillo. Una más compleja podría incluir: una combinación SQL en diferentes tablas y luego necesitar ese tipo de resultados de consulta, a lo largo del tiempo. -

Quizás esta pregunta / respuestas puedan ayudarte stackoverflow.com/questions/2672178/…. -

¿Resolverá esto una solución OLAP de terceros? Me lo sugirió un amigo. Lo investigaremos para obtener más detalles. -

1 Respuestas

Si es tan intensivo, configuraría una base de datos separada (posiblemente en un servidor completamente diferente) para las instantáneas. Sin embargo, si los administradores los verán en una interfaz web, probablemente me quedaría con una base de datos. De esa manera, puede ejecutar una instantánea de la información analítica base, luego puede crear una interfaz / aplicación separada para consultar esos datos y presentarlos.

Como dijo Calvin en su comentario, sería bueno tener algunos ejemplos de los datos que estás registrando, así como la cantidad de datos que crees que habrá a diario. Esa información podría cambiar mis pensamientos al respecto.

Respondido el 18 de junio de 11 a las 06:06

Digamos que tengo una tabla de usuarios. Y el usuario tiene una columna que almacena su saldo de caja actual. Ese saldo de caja fluctuará con el tiempo. Pero me gustaría hacer un seguimiento de los cambios a lo largo del tiempo PARA TODOS los usuarios. - samxli

Como sugirió, los cubos OLAP podrían ser una solución. Quizás estoy un poco biated, pero eche un vistazo a icCube.com Puede publicar una pregunta sobre arquitectura / diseño en nuestro foro. - Marc Polizzi

Ir con una solución MySQL simple por ahora y construir un esquema en estrella en una base de datos separada y ejecutar scripts diarios para cargar los datos de métricas. - samxli

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.