martes, 23 de septiembre de 2008

BI ¿lo cualo?

En los últimos días he tenido unas cuantas preguntas acerca de lo que es realmente BI y, aunque la pregunta es bien simple, la respuesta no lo es.

Me gustó una definición que hizo la gente de MicroStrategy: "BI es convertir los datos en información y conocimiento". ;-)

Recuerdo aún el día que me hicieron en la empresa una demo de un software "que era la hostia" (así es como me lo definieron....;-) y nos reunimos.
Yo venía de entornos (software para hoteles) donde nos pagaban por hacer informes y más informes, cada cosa que se le ocurría al director de turno, un informe, y otro, y otro más. De repente me ponen delante un programa (QlikView) que, con no más de 5 minutos, el comercial se había currado un informe de ventas. Hasta ahí, pues bien (era un software más moderno que el SO que yo tenía así que poco mérito, pensé), pero empecé a flipar cuando me dejó el ratón y empecé yo mismo a mover columnas por filas, filas por columnas, agrupar columnas con otras, y todo esto sin rascar nada de código.
El tío me lo dejó instalado una semana y cuando vino a la semana siguiente, ya habíamos montado un pequeño cuadro de mandos de ventas y dirección lo flipaba igual que yo. Sin formación, sin tiempo, sin saber nada, ...¡qué bestia!.

Así fue como "perdí mi virginidad", jeje, y fuí investigando más sobre eso que llamaban BI.
Por intentar definirlo de alguna forma sencilla, yo diría que BI es algo más que una base de datos. Realmente es un mogollón de programas que se utilizan para varias tareas alrededor de algo parecido a una base de datos. En el mundo del BI no se habla de tablas, registros y campos, se habla de cubos, dimensiones, atributos y valores (entre otros). BI se utiliza cuando ya tienes una (o más) bases de datos pero necesitamos sacar valores agregados. Siempre habrá una base de datos relacional por detrás donde se guardan los datos de las transacciones financieras, pedidos, ventas, clientes, proveedores, etc.
Podríamos pensar que con un simple "group by" ya está, y en cierta medida, se parece (espero que me disculpen los que ya tengan experiencia), pero el tema chungo es cuando hablamos de millones de registros con relaciones entre varias o muchas tablas. Por mucho Oracle, Sql Server, CPU, RAM, que tengas, créeme le va a costar algunos minutos una consultita.

Pues bien, el secreto y por lo que se diferencia de las bases de datos relacionales es que BI "precompila" las combinaciones entre las tablas relacionadas de forma que cualquier consulta que pudiéramos pedirle a posteriori ya la tuviera calculada y solo nos la tiene que servir en bandeja. En un artículo que estoy preparando explicaré la diferencia entre las distintas tecnologías OLAP (que es como se llama a la forma de almacenar los datos en un entorno de BI)


Todos los que empezamos en esto creo que pasamos por unas fases y vamos descubriendo las bondades de estos entornos a medida que las utilizamos y hacemos más proyectos. Voy a intentar hacer una lista del uso que le fuí dando yo :

- El primer uso: reporting puro y duro. Por otros temas que no vienen al caso, para mi fue una forma rápida de hacer que los usuarios tuvieran sus listados. Algo como cristal reports pero en plan bestia y rápido.
-El segundo uso: limpiar, limpiar y limpiar. Depuramos la base de datos. Si algo tiene es que te va enseñar registros nulos, incoherentes y errores en un simple vistazo por la forma misma de presentar los datos.
-El tercero: empiezas a hacer algo más que listados y los adornas con indicadores, gráficos, flechas, dibujos, relojes, .... y es cuando los usuarios lo flipan. Ya tienen que ir al departamento de sistemas a pedir que les ordenen un informe, que si tal que si cual, ... ¿no es la leche esto?
-El cuarto: leches!, mi primer cuadro de mandos (llamados por ahí "dashboard") que no es otra cosa que un resumen de ratios, valores e indicadores destinados a tomar decisiones.
-De aquí en adelante ya depende de la herramienta que utilices pues algunas permiten temas avanzados como por ejemplo:

  • Enviar alertas cuando suceda algo en la Base de datos (lo llamaremos Cubo mejor).
  • Distribuir y entregar los datos a los usuarios de acuerdo a horarios, departamentos, etc.
  • Una palabreja de estas raras que se llama "Data-mining" o "minería de datos" que ya hablaré más adelante y que mucha gente dice que es el siguiente paso a instalar BI.
  • Integrar tus diseños de indicadores, tablas y gráficos

Y todo esto con un diseño sorprendente e intuitivo.

Cuando hablaba en mi artículo anterior de "Herramientas de BI" me refería a fabricantes de software que han desarrollado plataformas para que alguien como tú (o un consultor externo) monte encima análisis, cuadros de mando y que esto se pueda visualizar. Suele haber 2 entornos mínimo; el del desarrollador y el front-end para visualizar los datos (que al final es de lo que se trata). Además el desarrollador deberá tener varias herramientas paracrear los cubos de datos y otras para "pintar" las pantallas y el formato adecuado para los usuarios.

Como ejemplo os invito a entrar a la web de la gente de QlikView (http://www.qliktech.com/) donde vienen varias demos ilustrativas de herramientas de este tipo (para los que jugáis al golf, os puede ser muy interesante...)

Espero haber ayudado a despejar alguna duda, un saludo.

3 comentarios:

kurrin dijo...

Muy buen articulo, yo me estaba confundiendo y pensaba que eran herramientas para Oracle BI(pensando que con BI ya te estabas refiriendo a Oracle BI, por eso decia plantilas, etc...).

Ahora veo que Oracle BI es competencia de Qlikview

¿Que opinion te merece la herramienta Oracle BI?

Muchas gracias!
Jon

Carlos Gutierrez dijo...

Gracias Kurrin.
Me alegra haberte aclarado algo.
Efectivamente son competencia.
En estos temas pasan cosas graciosas y si le preguntas a uno sobre el otro vas a tener respuestas muy interesantes como ¡hombre, no me compares, que QlikView no es comparable!, jejeje, y si le preguntas a QlikView te dicen que ellos son diferentes, una solución distinta no comparable.
Por desgracia no te puedo ayudar con Oracle porque no conozco el producto (invito y me gustaría que algún lector publicara algún material sobre Oracle, aportaría bastante), pero a priori creo que en precio ya no son comparables (sin saber lo que Oracle cobra, que quede claro).
Como artículo me has dado la idea de publicar alguna lista de precios de los distintos fabricantes ya que nos puede venir muy bien a todos.
Desde mi opinión me atrevería a decirte que no hay color entre QlikView (calidad-precio)y Oracle BI.

Un saludo

Òscar dijo...

Muy interesante el blog, me lo añado a los favoritos. Cuando recopile algo más de información de un par de aplicaciones de BI que estoy mirando te pasaré algún enlace.
Un saludo