tableau_icono Tableau Dashboard , with Kylin
loadingLoading
Arquitectura Demo Tableau

En el caso de estudio que presentamos, hacemos uso de las herramientas Apache Kylin , Tableau Desktop y Tableau Public  para dar soporte al análisis mediante Cuadros de Mando de un almacén de datos (Data Warehouse, DW) que contiene datos con características Big Data (Volumen, Velocidad y Variedad).

Se trata de un gran Volumen de datos académicos, relativos a los últimos 15 años de una universidad de gran tamaño. A partir de esta fuente de datos, se ha diseñado un modelo multidimensional para el análisis del rendimiento académico. En él contamos con unos 100.000 millones de medidas cómo los créditos relativos a asignaturas aprobadas, suspendidas o matriculadas. Estos hechos se analizan en base a distintas dimensiones o contextos de análisis, como el Sexo, la Calificación o el Año Académico.

Dado que este Volumen de datos es demasiado grande para analizarlo con un rendimiento aceptable con los sistemas  OLAP (R-OLAP y M-OLAP) tradicionales, hemos decidido probar la tecnología Apache Kylin, la cual promete tiempos de respuesta de unos pocos segundos para Volúmenes que pueden superar los 10 billones de filas en la tabla de hechos o medidas.

Las tecnologías del entorno Hadoop fundamentales para Kylin son Apache Hive y  Apache HBase. El almacén de datos (Data Warehouse, DW) se crea en forma de modelo estrella y se mantiene en Apache Hive. A partir de este modelo y mediante la definición de un modelo de metadatos del cubo OLAP, Apache Kylin, mediante un proceso offline, crea un cubo multidimensional (MOLAP) en HBase. A partir de este momento, Kylin permite hacer consultas sobre el mismo a través de su interfaz SQL, también accesible a través de conectores J/ODBC.

Por último, para hacer posible la exploración de los datos del cubo de Kylin mediante lenguaje SQL y la creación de cuadros de mando que podamos compartir con los usuarios finales de los datos, hemos hecho uso de las herramientas Tableau Desktop y Tableau Public.

En primer lugar hemos usado Tableau Desktop, herramienta comercial, para la conexión con Apache Kylin y la creación de un cuadro de mando similar al que realizamos para el ejemplo con Apache Zeppelin. La herramienta Tableau Desktop facilita la creación y publicación de completos cuadros de mando a los usuarios finales de los datos, arrastrando y soltando las fuentes de datos y gráficos en un lienzo. Podemos ver todo el proceso de creación en el vídeo de la demo.

Por últimos, publicamos nuestro cuadro de mando para compartirlo con el resto de nuestra organización. Si requerimos una conexión en vivo necesitaremos una licencia de Tableau Server o Tableau Online. Sin embargo, podemos optar por crear un extracto de los datos y publicar el cuadro de mando con la herramienta gratuita Tableau Public, como es el caso de nuestro cuadro de mando de ejemplo. El problema si elegimos esta opción es que nuestro cuadro de mando no estará sincronizado en tiempo real con el origen de datos, por lo que los datos no se actualizarán cuando cambiemos los parámetros.


Apache Kylin

Desarrollada por eBay y posteriormente liberada como proyecto Apache open source, Kylin es una herramienta de código libre que da soporte al procesamiento analítico en línea (OLAP) de grandes volúmenes de datos con las características del Big Data (Volumen, Velocidad y Variedad).

Sin embargo, hasta la llegada de Kylin, la tecnología OLAP estaba limitada a las bases de datos relacionales o, en el mejor de los casos, con optimizaciones para el almacenamiento multidimensional, tecnologías con importantes limitaciones para enfrentarse al Big Data.

Apache Kylin, construida sobre la base de distintas tecnologías del entorno Hadoop, proporciona una interfaz SQL que permite la realización de consultas para el análisis multidimensional de un conjunto de datos, logrando unos tiempos de consulta muy bajos (segundos) para hechos de estudio que pueden llegar hasta los 10 billones de filas o más.

Las tecnologías del entorno Hadoop fundamentales para Kylin son Apache Hive y Apache HBase. El almacén de datos (Data Warehouse, DW) se crea en forma de modelo estrella y se mantiene en Apache Hive. A partir de este modelo y mediante la definición de un modelo de metadatos del cubo OLAP, Apache Kylin, mediante un proceso offline, crea un cubo multidimensional (MOLAP) en HBase. Se trata de una estructura optimizada para su consulta a través de la interfaz SQL proporcionada por Kylin.

De esta forma cuando Kylin recibe una consulta SQL, debe decidir si puede responderla con el cubo MOLAP en HBase (en milisegundos o segundos), o sí por el contrario, no se ha incluido en el cubo MOLAP, y se ha ejecutar una consulta frente al esquema estrella en Apache Hive (minutos), lo cual es poco frecuente.

Por último, gracias al uso de SQL y la disponibilidad de drivers J/ODBC podemos conectar con herramientas de Business Intelligence como Tableau, Apache Zeppelin o incluso motores de consultas MDX como Pentaho Mondrian, permitiendo el análisis multidimensional en sus formas habituales: vistas o tablas multidimensionales, cuadros de mando o informes.


Tableau

Tableau es una las suites comerciales de Business Intelligence (BI) más conocidas, soportando además la conexión con las fuentes Big Data más actuales como Apache Kylin (nuestra demo), Spark SQL, Hive Hortonworks, Cloudera Hadoop, HP Vertica y con otras fuentes de datos más tradicionales como PostgreSQL o Microsoft SQL Server. La gama de herramientas comerciales de Tableau es la siguiente:

Tableau Desktop: Herramienta local para la exploración visual de los datos y el diseño de los cuadros de mando interactivos. Se trata de una herramienta de las denominadas Self-Service BI, es decir, que su sencillo diseño facilita la creación y publicación de completos cuadros de mando a los usuarios finales de los datos, arrastrando y soltando las fuentes de datos y gráficos en un lienzo, además de a los desarrolladores de nuestro equipo de IT, a quienes también simplifica el trabajo.

Tableau Server: Servidor BI que requiere instalación en nuestra infraestructura para compartir los cuadros de mando creados con Tableau Desktop con el resto de nuestra organización. Permite la conexión en tiempo real con las fuentes de datos, es decir, los cuadros de mando interactivos darán lugar a consultas que se lanzan con los orígenes de datos, estando de esta forma siempre sincronizados con nuestros almacenes de datos.

Tableau Online: Servidor BI en la nube de Tableau, que evita la necesidad de instalar y mantener un servidor de BI Tableau server. Además, de las características de Tableau server, como la conexión en tiempo real con las fuentes de datos, nos permitirá realizar ciertas modificaciones sobre los cuadros de mando creados con Tableau Desktop y, también, llevar a cabo nuevas tareas de exploración de los datos.

Además, aunque se trata de herramientas comerciales, Tableau dispone de 2 herramienta gratuitas:
Tableau Desktop Public: Similar a Tableau Desktop, pero no nos permitirá conectar con Apache Kylin ni otras conexiones ODBC, pues las fuentes de datos quedan limitadas en esta versión gratuita a algunas como Google Sheets, Microsoft Excel, archivos CSV, JSON, estadísticos (SAS, SPSS o R) o espaciales (ESRI shape files, KML, and MapInfo).

Tableau Public: Nos permite compartir los cuadros de mandos desarrollados con Tableau Desktop o Tableau Desktop Public de forma gratuita. Sin embargo, requiere crear y subir un extracto de los datos, pues no soporta la conexión en vivo con las fuentes de datos, de forma que no podremos tener sincronizado nuestro cuadro de mando con los orígenes de datos en tiempo real. Esta es la herramienta que hemos usado para publicar el cuadro de mando de nuestra demo.


Modelo de Datos

Como fuente datos Big Data de esta demo, disponemos de un

gran Volumen de datos académicos ficticios, relativos a los últimos 15 años de una universidad de gran tamaño y por la que han pasado más de un millón de alumnos en este tiempo. A partir de esta fuente de datos, se ha diseñado un modelo multidimensional para el análisis del rendimiento académico
.

En él contamos con unos 100.000 millones de medidas cómo la suma de los créditos relativos a asignaturas aprobadas, suspendidas o matriculadas.

Además también nos encontramos con otras medidas derivadas de las anteriores y, por tanto, más complejas como son la Tasa de rendimiento y Tasa de éxito, calculadas a partir de la relación entre Créditos Superados y Créditos Matriculados y de la relación entre Créditos Superados y Créditos Presentados.

No menos importantes son las dimensiones o contextos de análisis en base a los que se analizan las medidas anteriores. Como dimensiones de un solo nivel tenemos el Sexo, la Calificación, el Rango de Edad y la siempre presente componente temporal, el Año Académico. Además, hemos incorporado dos dimensiones complejas, con jerarquías de dos niveles y una mayor cardinalidad, siendo frecuente encontrarnos con dimensiones de esta naturaleza.

Con la dimensión Estudio, podemos analizar los datos agrupados al nivel de Tipo de Estudio (Grado, Máster, Doctorado,...) o profundizar (operación Drill Down sobre la vista OLAP) hasta los distintos Planes de Estudio, esto es, las distintas titulaciones, como "315-Grado en Biología".


I+D+i BigData

In StrateBI we believe in the value of Big Data technologies for data processing and the possibility of obtain knowledge using it, with the goal of making easier the process of decisions in any industry. Our team makes a great job on I+D+i in Big Data

Research

We keep updated about news and scientific articles published about Big Data technologies.

Its made with emerging ones that we think have a great potential, as well as the consolidated ones.

With this, we detect new features that can improve the behavior or performance of our solutions.

Development

We put in practice the results of the research phase.

We deploy the improvements and validate its application in real use cases, similar to the ones we show in this demo.

Innovation

Once we test the usefulness and robustness of improvements or new features added we introduce in our solutions in different projects.

In this way StrateBI guarantees the use of cutting edge Big Data technologies, previous tests and improvements by out I+D+i in Big Data


Used Technologies

hadoop

Apache Hadoop is the most popular Big Data environment, it allows the distributed computing on clusters with commodity hardware and low cost.

The basic and default configuration for a Hadoop cluster includes distributed storage of data using (HDFS), a resource manager (YARN) Yet Another Resource Negotiator, and running on top of this one, is the (Map Reduce) framework, that perform the distributed processing of data.

Besides these components, there are another set of higher level tools, for storing and processing data, like Hive or Spark, as an example. They offer the abstraction that simplifies the development for that environment.

As mentioned before, Hadoop is the most popular Big Data environment, the reason is because it offer a wide range of technologies and a very high robustness level. It is ideal for the new concept of Data Lake for the later analytics using powerful BI tools.

flume

Flume is a distributed and trustworthy system for the efficient collection, aggregation and processing of Streaming Data.

kafka

Kafka is a distributed message system that use the pattern publish-subscribe, is fault tolerant, horizontal scalable and is ideal for Stream Data Processing

hortonworks cloudera

To make easier the management, installation and maintenance of hadoop cluster we work with two main Hadoop Distributions.

A hadoop distribution is a software package, that include the basic components of Hadoop, with a plus of other technologies, frameworks and tools and the possibility of installing using a web application.

About this, in Stratebi we recommend the use of a hadoop distribution. Being Hortonworks and Cloudera the leader distributions currently in the market. For this reason our demo is running over a Cloudera distribution and a Hortonworks distribution.

spark spark streaming

Spark implements the Map Reduce programming paradigm making intensive usage of RAM memory instead of disk.

Using Spark, we can improve the performance of Map Reduce applications by implementing iterative algorithms, machine learning (MLib), statistics analysis R module, or real time analytics Spark Streaming, all this is icluded in our demo.