Modelo de almacenamiento de datos para Data Workbench

Este documento está destinado a ayudar a los nuevos administradores y analistas que acaban de finalizar la formación de Data Workbench de Adobe Analytics. Después de leer este artículo, debería ser más fácil visualizar cómo funciona este software mientras se resuelven los problemas o se realiza un análisis en profundidad.

Modelo de almacenamiento de datos para Data Workbench

Las arquitecturas convencionales, como una base de datos relacional, organizan los datos en tablas interconectadas por claves. Por el contrario, el componente Data Workbench de Adobe Analytics utiliza un proceso fundamentalmente diferente conocido como arquitectura de "rueda". Este artículo describe cómo funciona la arquitectura de la rueda en comparación con las convencionales, e identifica sus puntos fuertes y débiles.  

¿Qué es la arquitectura de una rueda?

Piense en el comportamiento de los visitantes de su sitio web como maletas que circulan en un transportador de recogida de equipajes de un aeropuerto. En este ejemplo, su objetivo es contar las bolsas de un color similar al mismo tiempo que aparecen ante usted.   

 

Para consultar las bolsas en circulación, puede identificar la primera bolsa y luego contar las bolsas subsiguientes que se mueven frente a usted.

 

Cada vez que pasa una bolsa similar, la identifica y cuenta los diferentes tipos. Esto le permite contar todas las bolsas y agruparlas según el tipo.

Cuando la primera bolsa esté delante de usted de nuevo, sabrá que se ha completado todo el circuito. En este punto puede dejar de realizar el recuento y reportar los resultados.

 

Si otras personas también necesitan consultar los resultados, pueden subir a la rueda y observar un circuito de las bolsas, comenzando o no en la misma revolución de la rueda. Este transportador, o rueda de datos, siempre está girando y una consulta puede comenzar en cualquier momento y continuar hasta que se complete una sola revolución.

Además, Data Workbench garantiza que las bolsas de la cinta estarán en un orden completamente aleatorio. (Las aerolíneas también hacen un buen trabajo) Esto permite que una consulta de datos circulares sea vista como una instantánea aleatoria de los datos totales, lo que permite que las consultas calculen respuestas aproximadas muy rápidamente mediante la extrapolación del resultado de toda la población.

Con 50 datos esto podría no funcionar muy bien. Pero con millones o miles de millones de datos, una estimación muy precisa de la cuenta final puede ser extraída casi instantáneamente.

Ejecución de consultas detalladas 

Ampliemos aún más esta analogía. Para consultas analíticas más detalladas, colocamos todos los artículos fuera (pero, aún así, los agrupamos por viajero). El contenido se compone de una pequeña bolsa, una bolsa organizadora aún más pequeña y artículos individuales.

Ahora que el agente de consultas tiene acceso inmediato a los contenidos, una consulta más detallada como "¿cuántos viajeros llevan una botella azul?" se puede hacer.  

Estructura de la jerarquía dentro de una bolsa

Traduzcamos esta analogía de equipaje de vuelta al comportamiento de los visitantes para su análisis: una bolsa por cada viajero representa todos los datos de un visitante, la etiqueta es el ID del visitante, las bolsas pequeñas representan una visita, los organizadores son las visitas y los artículos individuales son eventos.

En el cliente Data Workbench, esta estructura se puede describir como un diagrama de esquema. Una descripción del diagrama de esquema se detalla aquí

La operación para distribuir los datos de acuerdo con esta arquitectura se llama Procesamiento de registros. Tiene que realizarse cada vez que la estructura jerárquica cambia significativamente.  Aunque este proceso lleva tiempo, terminará con un conjunto de datos optimizado para consultas analíticas muy rápidas.

Tablas relacionales en la analogía del equipaje

Antes de describir en qué se diferencia la rueda de datos de las tablas, consideremos primero cómo se vería esta analogía de equipaje para un enfoque convencional. En una base de datos relacional, los datos serían algo parecido a muchas estanterías con bolsas. Esta arquitectura convencional le ofrece una forma rápida de insertar una bolsa nueva o de sacar una específica.

Para un análisis más detallado, los datos dentro de cada bolsa tendrán que ser extraídos y normalizados en estantes separados como éste.

En esta configuración, el agente de consultas debe resolver las claves externas para enlazar cada uno de los elementos de las cuatro estanterías.  

Consideraciones generales para consultas analíticas

Cuando una consulta está dirigida a una entidad, la base de datos relacional puede completar la consulta muy rápidamente. Por ejemplo, una pregunta sobre ¿cuántos eventos activó el Sr. Taro Adobe? requeriría que el agente de consultas buscara un registro en la tabla Visitante, varios en la tabla Visita y más en las tablas Acción y Evento. También sería necesario contar el número de eventos. Estos son pasos costosos para que la base de datos utilice estas claves externas, pero hacerlo para una persona sigue siendo práctico.

Sin embargo, una consulta analítica es más abierta y requiere una respuesta a la pregunta ¿cuántos usuarios activan cuántos eventos por sesión? Esto requiere una consulta a través de muchos registros con el agente de consultas repitiendo los costosos pasos para todos los usuarios. Por consiguiente, cuando usted tiene millones o miles de millones de visitantes, se volverá poco práctico rápidamente.

Al utilizar ruedas de datos, los datos de cada visitante se organizan en una única bolsa, de modo que el agente de consultas puede evaluar una bolsa a la vez y pasar a la siguiente, lo que permite que la rueda termine una consulta de un solo barrido.  Por lo tanto, la arquitectura de rueda es más adecuada para consultas analíticas.

Cubo OLAP

Para mejorar la velocidad de las consultas analíticas, el software típico de intligencia empresarial (BI) se basa en una estructura multidimensional con datos resumidos previamente calculados, conocidos como cubos OLAP. Al realizar consultas de estos resúmenes, el tiempo de respuesta se reduce significativamente para algunas aplicaciones, pero surgen problemas con las consultas avanzadas.

Por ejemplo, una empresa tiene clientes en 50 estados diferentes, 1000 líneas de productos y 10 000 millones de transacciones al año. Los datos se almacenan utilizando cubos tridimensionales basados en la hora, el producto y el estado. Esto requiere cálculos previos de 1,2 millones de cubos.

En esta arquitectura, la pregunta analítica de ¿cuántos productos hemos vendido por hora en cada estado? se puede responder muy rápido mirando un resumen de los cubos. Esto supone una gran mejora con respecto a las consultas de tablas estándar con referencias externas.

Aumento de la granularidad y la escala

Sin embargo, una consulta más detallada de ¿cuántos productos hemos vendido por minuto en cada estado? requerirá cálculos previos multiplicados por 60 para el cubo OLAP. Añadir nuevos productos, ampliar la suma en todos los países o introducir nuevas dimensiones (basadas en el tamaño, el género, el material, etc.)  hará que el resumen del cubo OLAP multiplique la pila a una velocidad exponencial.  

A medida que la pila de cubos crece, el cálculo previo y la actualización de datos aumentan el tiempo de sobrecarga y obligan al analista a realizar consultas de un conjunto de datos que, a menudo, lleva días de retraso. Esta sobrecarga transaccional, y el crecimiento exponencial de los datos a través de las tablas aumentan la latencia y limitan severamente las consultas analíticas usando la arquitectura de cubos OLAP.

En contraste, el aumento de la granularidad equivalente en la rueda provocará un menor crecimiento incremental.

Además, sin gastos generales de cálculo previo, los nuevos datos añadidos están disponibles poco después de su llegada. Esto permite a los analistas realizar consultas casi en tiempo real. Trataremos más sobre cómo funcionará el procesamiento en tiempo real en el próximo artículo.

Consulta en datos reales frente a resumen de datos reales

Incluso cuando una organización tiene una capacidad masiva para actualizar el resumen casi en tiempo real, se debe considerar un factor más: una consulta en un cubo OLAP es una consulta en el resumen de datos, lo que la hace menos granular e intrínsecamente con pérdida.  Por el contrario, los resultados de las consultas en la rueda se calculan directamente a partir de los datos procesados.

Conclusión:

Como se describe en este documento, la operación de Adobe Analytics Data Workbench se puede describir mejor como el comportamiento de los visitantes colocados en una rueda en lugar de interconectados como tablas lineales o estanterías. Es más adecuado para realizar consultas analíticas para examinar grandes cantidades de datos.

Entender el funcionamiento interno de este modelo de base de datos le ayudará a aprovechar sus beneficios.

Logotipo de Adobe

Inicia sesión en tu cuenta