La lógica asociativa es un bluff marquetiniano

Mercado
jueves, 7 de octubre de 2010

Este extraño título tiene su origen en el artículo anterior, donde mostraba mi escepticismo sobre el concepto de “lógica asociativa” o “tecnología asociativa”.

El mismísimo Larry Page, en el comentario #6, afirmaba que la tecnología de "lógica asociativa" tiene más de marketing que de tecnología.

Pero, ¿Qué es la lógica asociativa? ¿Qué aporta al sector del Business Intelligence?

Según QlikTech, fabricante de QlikView, la lógica asociativa es un “salto cualitativo”, es una tecnología analítica basada en asociaciones. Las asociaciones de alta velocidad se van sucediendo a medida que el usuario hace clic en los diversos objetos de hoja y la presentación de los mismos se actualiza de forma instantánea. Con estas u otras palabras, el mensaje es claro: La “lógica asociativa de consultas” (AQL) es una cosa innovadora que permite que las soluciones sean muy fáciles y rápidas:

La ventaja de la arquitectura AQL es que la fuente de datos está integrada e inmediatamente disponible para el análisis offline, comprendiendo toda la información hasta llegar al nivel de transacciones. El resultado son unas capacidades analíticas muy potentes, a las que se accede a través de un interfaz de usuarios altamente intuitivo que fomenta la exploración y la creatividad.

Con esta tecnología asociativa, los usuarios buscan e interactúan con sus datos de la misma forma en que piensan, es decir, de forma asociativa. Los usuarios pueden ver al instante las conexiones y relaciones entre los datos residentes en diferentes aplicaciones, sistemas, organizaciones y regiones, todo por sí mismos.

Afortunadamente, se trata de una tecnología patentada, por lo que es fácil comprobar que es lo que se esconde técnicamente:

Representación gráfica de un algoritmo equivalente a 3 o 4 líneas de código. Figura de la patente sobre la lógica asociativa.

La patente de software, por si a alguien le interesa, la podéis consultar aquí:

En resumidas cuentas, se trata de un algoritmo que va filtrando de manera secuencial una tabla de datos. Es decir, cuando el usuario “filtra” una dimensión, la búsqueda no vuelve a comenzar, sino que continua filtrando sobre lo que anteriormente había seleccionado. Eso, y poco más, es la lógica asociativa. Ni siquiera creo que sean relevante sus métodos de “compresión” (¡cada dato se guarda una sola vez!, se dice).

Con este artículo no quiero desmerecer a los productos que utilizan esta “tecnología”. Creo que QlikView es un excelente producto, pero su atractivo no está en la lógica asociativa. Eso es un bluff marquetiniano. De hecho, es precisamente por esta tecnología que Gartner [2010, Q1] señala que pueden tener problemas para ofrecer servicio a un número elevado de usuarios. Además, apunta, que carece de una verdadera capa semántica, lo que casi limita su uso a entornos departamentales. Y eso, también, es consecuencia de la “lógica asociativa”.

De hecho, tengo la sensación que lo comienzan a retirar de sus merchandising. Y tal vez debería decir ya que: “La lógica asociativa fue un bluff marquetiniano”.

Ahora mencionan más lo de la tecnología en memoria. Claro que sí. Ese es el verdadero motivo por el que QlikView, las PowerPivot de Excel, u otros productos in-memory ofrecen tiempos de respuesta casi instantáneos:

  • Porque tienen modelos de datos muy sencillos (una única tabla/cubo/nube)
  • Porque tienen los datos en memoria

Alguno pensará que se trata de una crítica injusta. O que no tengo ni idea lo que realmente es la tecnología asociativa. Puede ser, y no lo discutiré. No es necesario discutir. Basta con comparar el rendimiento de una consulta con “lógica asociativa” frente a la misma consulta ejecutada sin “lógica asociativa” (por ejemplo, un cubo de Analysis Service explotado con PowerPivot, un modelo en estrella en un Oracle con Bingo Intelligence, o un cubito de Cognos con Powerplay). Las diferencias serán irrelevantes.

Insisto: no es una crítica a este producto. Es un producto excelente, pero sus fortalezas son otras (tecnología in-memory, opciones de visualización, tiempos de implantación, etc.).