5

Justo cuando estoy bastante familiarizado con las declaraciones SQL una vez más, al extraer datos de Google Analytics, descubrí que no usan SQL, sino que usan Dimensiones y Métricas y las combinaciones de ellas.¿Por qué los analíticos web como Google Analytics usan dimensiones y métricas en lugar de una declaración SQL?

¿Por qué hay una razón para eso? Creo que no tiene una interfaz SQL (o una descarga de registro de servidor web simple)? En caso afirmativo, ¿cómo se traducen las sentencias de SQL a Dimension, Metrics (y Segment and Filters)?

Parece que las métricas tienden a ser los "agregados", tales como el recuento () o media (), y la dimensión tiende a ser los mismos valores registrados (como el navegador IE o == == País Australia), que es lo mismo que los valores group by. Los filtros son como condicionales, y ¿qué pasa con el segmento?

Parece que si especificamos Dimensiones, entonces automáticamente hace un group by y muestra ese campo también. Sí cuenta () o suma () por lo general. ¿Qué pasa si en su lugar queremos average(*)? ¿Y si queremos que se muestre pero no queremos que haga un group by?

ejemplo, el sitio web de experimentar está en http://code.google.com/apis/analytics/docs/gdata/gdataExplorer.html

Respuesta

2

Me imagino que la respuesta radica en el hecho de que antes estaba disponible la API de la única forma en que podría analizar los datos fue a través de la interfaz de Google Analytics. Y es allí donde usan ampliamente "dimensión" y "métrica". Como las personas no técnicas lo frecuentaban, nunca habrían introducido construcciones complejas de SQL; simplemente es más fácil tener listas desplegables.

No estoy del todo seguro de que la forma en que se almacenan los datos de Google Analytics sea amigable con SQL (es decir, columnas y filas de tablas). He leído que han desarrollado su propia forma interna de almacenar esta información.

+0

sí, tal vez muestren los datos en lugar de almacenar todos los detalles en algunos casos –

7

el uso de los términos "Dimensiones" y "Métricas" sugiere que Google esté utilizando una base de datos OLAP en lugar de una base de datos relacional ... SQL se usa para bases de datos relacionales: OLAP usa MDX o lenguajes de consulta propios (si Oracle) .

De http://en.wikipedia.org/wiki/OLAP

El núcleo de cualquier sistema OLAP es un cubo OLAP (también llamado un 'cubo multidimensional' o un hipercubo).

Consiste en hechos numéricos llamados medidas cuales son clasifican por dimensiones.

3

Probablemente fue desarrollado internamente usando sus propias tecnologías como Big Table y Map-Reduce. El mapeo y la agregación son los puntos fuertes de los algoritmos de tipo Map-Reduce, por lo que tiene sentido que los datos aparezcan agregados en varias dimensiones como esa.

Si usted quiere saber más acerca de ellos me gustaría sugerir estos artículos de Wikipedia:

3

Mi conjetura es que si usted está haciendo una pregunta como esta, probablemente haya pasado mucho tiempo mirando algunos de los informes listos para usar, como vistas de página simples. Si eso es todo lo que estás haciendo, estás perdiendo el punto y el poder de Web Analytics. El análisis web en general (no solo GA) se trata de observar las tendencias en los datos, a lo largo del tiempo. Y los datos en sí se adquieren siguiendo ciertas reglas y comportamientos, tanto predefinidos como definidos por el usuario.

Gran parte de los datos de informes no puede ser tomado fácilmente de una consulta de base de datos directa, ya que los datos se basa en los resúmenes como "xyz con el tiempo" y los datos agregados. Por ejemplo, el concepto de "radio de acción" para las dimensiones y las métricas, donde una variable y/o el valor reportarán datos sobre una sola página vista/eventos, o en el transcurso de una visita (sesión) o incluso por encima de una cantidad definida por el usuario de tiempo (como "hacer que esto dure un mes" o "hacer que esto dure hasta que se produzca algún evento", como una variable específica o tipo de variable que se muestra).

Debido a que la mayoría de los informes involucran conceptos de nivel superior de recuperación de datos, la base de datos se abstrae y se establece un "marco" (la interfaz del informe) para ayudarlo a generar informes que muestren los datos de tendencia. Incluso si usted es un experto en bases de datos, tomaría demasiado tiempo y esfuerzo intentar extraer los datos manualmente para prácticamente todo, excepto los datos más básicos, como las visitas a la página. Y los datos básicos como ese no son muy accionables.

Mira seguimiento de campañas como ejemplo. Todo comienza con un único valor var =. Cuando un usuario hace clic en un enlace y va a una página con ese var = valor en el URL, el código de seguimiento agarra ese valor y comienza a atribuir no sólo los datos sobre la página (la url, hora, tipo de navegador, la lista continúa y en) pero también todos los demás datos recopilados de la codificación personalizada. Luego hay otras configuraciones que puede aplicar, como asignar un costo por clic o una medida ponderada, atribuir el éxito a un objetivo o evento, etc., según otras reglas (atribución del primer frente al último clic, etc. ..). La lista de cosas que entran en juego y lo que se considera sigue y sigue y sigue. Siga adelante y trate de hacer esas cadenas de consulta de base de datos usted mismo. Ahora lave, enjuague y repita porque ese era solo un código de campaña. He tenido clientes con miles de códigos de campaña, y muchos más se agregan todos los días. Ah, y además de eso, ajustar o hacer nuevas consultas basadas en cómo desea que el informe real muestre los datos. Referencia cruzada y descomposición por xyz. Mira embudos y escenarios basados ​​en esa información. Y eso es solo para campañas, una cosa de muchas cosas.

Así que para hacer el cuento largo, pensar en una interfaz de informes como marco para las bases de datos, con consultas predefinidas que se pueden manipular, hacer esfuerzos de información de las personas mucho más fácil, sobre todo porque la mayoría de la gente no son expertos de bases de datos.

+3

adoran su sitio web. – Stann

1

nos preguntamos pregunta similar. Parece que muchas API de análisis web son una idea de último momento y, a menudo, son asignaciones directas a las funciones de IU del producto correspondiente. Con Infunl (Negación: Soy un co-fundador) estamos construyendo análisis API web con lenguaje de consulta flexible que sintácticamente similar a SQL pero altamente optimizado para la agregación y mapear-reducen marco de ejecución detrás de él. Además, ofrece muchas funcionalidades integradas específicamente diseñadas para análisis web, como pasos de conversión de conversión, análisis de cohortes, soporte para pruebas de división y agrupamiento y segmentación de contenido flexible.

Cuestiones relacionadas