02/09/2014 | Raul garcia

Business Intelligence: Tecnologías in Memory vs. Data Warehouse (parte I)

A la hora de escoger el producto más adecuado sobre el que implementar un Sistema de Business Intelligence (BI) una de las primeras decisiones que suele plantearse el responsable técnico del mismo es si adoptar una arquitectura de BI tradicional basada en un Data Warehouse o utilizar las llamadas tecnologías en memoria (in memory).

Obviamente la elección estará condicionada por las necesidades concretas del proyecto, no obstante, en este tema prevalecen ciertos tópicos que, con el avance tecnológico, han quedado obsoletos y que ambas opciones no son necesariamente excluyentes, como intentaremos explicar en el presente artículo.

En estos dos post empezaremos por definir básicamente en qué consisten ambos planteamientos, según el argumentario, deliberadamente simplista, que aún se suele esgrimir comercialmente, para terminar con nuestras conclusiones.

En un Sistema de BI tradicional generalmente se parte de varios orígenes de datos (BBDD transaccionales, ficheros Excel, etc.) y mediante procesos ETL (Extracción, Transformación y Carga) estos datos son integrados en un repositorio común conocido como Data Warehouse. Es sobre este repositorio, más en concreto sobre los Data Marts de las distintas áreas de información, sobre el que las herramientas de BI realizan las consultas para mostrar la información analítica y transformarla en conocimiento para la toma de decisiones.

Frente a este planteamiento, productos como QlikView se basan en procesamiento en memoria, que cargan en memoria las tablas de origen y mediante la lógica asociativa se establecen las relaciones entre ellas para mostrar al usuario final la información requerida para el análisis del negocio.

Esto se traduce en un menor coste de desarrollo, al no ser necesario crear un Data Warehouse y los procesos ETL que lo alimentan. Además, al estar los datos cargados en memoria, generalmente el rendimiento a la hora de explotar la información es mejor, a costa lógicamente de unos requisitos de servidor mayores (en especial en cuanto a la memoria RAM).

 

En el presente post matizaremos la cuestión del  Data Warehouse

Existen diferentes arquitecturas de Data Warehouse aunque, como ya se ha mencionado, un Data Warehouse es básicamente un repositorio donde se almacena la información histórica de la organización. Generalmente se implementa en una estructura de datos separada de las utilizadas por los sistemas transaccionales utilizados para el día a día de la empresa y se alimenta mediante procesos ETL ejecutados periódicamente. Esta estructura puede ser una base de datos relacional con modelos en estrella o copo de nieve (ROLAP), un conjunto de cubos Multidimensionales (MOLAP) o una estructura híbrida (HOLAP).

BI

Los principales beneficios que aporta son:

  • Centralización: Integra fuentes de datos heterogéneas (bases de datos relacionales, documentales, archivos departamentales, etc.) en un repositorio único.
  • Fiabilidad: Los procesos ETL deben incluir los mecanismos oportunos para asegurar no solo la consistencia de los datos cargados si no también la calidad de los datos, asegurando que la información es precisa y fiable.
  • Homogeneidad: Los distintos hechos a analizar (p.e.: ventas, gastos, etc.) deben ser categorizados por las diferentes dimensiones de análisis (p.e.: tiempo, distribución geográfica, empleado, etc.). Este modelo dimensional permite homogeneizar la capa semántica de negocio, utilizando una denominación única para cada atributo o métrica definida, que evite equívocos a la hora de interpretar la información. Adicionalmente debe fomentarse el uso de dimensiones comunes para unificar las tablas maestras siendo los procesos ETL los encargados de realizar las transformaciones oportunas.
  • Eficiencia: La estructura dimensional de los Data Marts permite la ejecución de consultas complejas con diferentes niveles de agrupación y totalización, con un alto rendimiento y sin interferir en los sistemas operacionales. Toda la información irrelevante no debe ser incorporada al Data Warehouse.

 

Con todo ello, el Data Warehouse debe convertirse en la fuente más idónea de información corporativa de la organización, evitando así ambigüedades y discrepancias derivadas de la utilización de fuentes particulares distintas.

 

Conviene en este punto hacer un breve inciso para comentar que la carga de datos en un Data Warehouse implica cierta latencia o desfase entre la información contenida en los Sistemas transaccionales (OLTP) y los Sistemas para su explotación analítica (OLAP). La extracción de datos crea una sobrecarga en los sistemas origen por lo que tradicionalmente ésta se realiza en “horas valle” (generalmente por la noche). Sin embargo, ante la necesidad de algunas organizaciones de tener cierta información en “tiempo real”, los sistemas de ETL se han ido sofisticando. En este sentido se enmarcan estrategias como extraer sólo los datos que han cambiado (para lo que se requiere incluir en las tablas de origen indicadores de última modificación) o soluciones de tipo “Change Data Capture” que alimentan el Data Warehouse con un flujo continuo de datos en línea.

 

Evidentemente, la implementación de un Data Warehouse conlleva unos costes:

  • Inversión en hardware y software: Es altamente recomendable que el Data Warehouse disponga de su propio servidor o servidores en los que deberá instalarse un gestor de base de datos potente y escalable, cuyo dimensionamiento dependerá de factores como el volumen de datos total, la concurrencia de usuarios, los requisitos de rendimiento, etc. Los procesos ETL requerirán habilitar las conexiones oportunas a los distintos orígenes de datos, y en función de su complejidad, será conveniente disponer de una herramienta específica de integración de datos que permita definir dichos procesos, programar las cargas, gestionar errores, etc.
  • Coste de desarrollo: Diseño y construcción del Data Warehouse y los procesos ETL.
  • Coste de mantenimiento: Ejecución de las cargas y/o monitorización de los procesos programados, Mantenimiento adaptativo del Sistema a los cambios en los orígenes, Mantenimiento evolutivo para incorporar nuevas especificaciones (cambios en las reglas de negocio, nuevas necesidades de información, etc.).

 

Por tanto, la decisión de implementar un Data Warehouse debe basarse en si los beneficios que puede aportar a la organización compensan los costes derivados, independiente del producto de BI a utilizar.

Y hasta aqui el post de hoy. En breve publicaremos el siguiente post con la información de BI en memoria y las conclusiones ¡No dejes de leerlo!!

 

Comentar

Su dirección de correo electrónico no será publicada.Los campos necesarios están marcados *

*

¡Contacta con nosotros!

¿ALGUNA DUDA?

Llámanos y nuestros expertos realizarán un asesoramiento personalizado sin compromiso

902 87 73 92

SOLICITAR INFORMACIÓN

* Campos Obligatorios

Afirmo que he leido el aviso legal y acepto la Política de privacidad
Permito el tratamiento de mis datos personales con la finalidad informada