Big Data Architecture Con Pentaho

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 42

www.datalytics.

com 18D – Pentaho Big Data Architecture


Un punto de inflexión

LOS DATOS SE
40 DUPLICAN CADA 2 AÑOS 80%
35 DE LA INFORMACIÓN ES NO
30 ESTRUCTURADA
(Gartner, December 2011)
25
ZB
20

15 LAS EMPRESAS MANEJARÁN


10 50X MÁS DATOS
5 EN LA PRÓXIMA DÉCADA
2005 2010 2015 2020
(IDC Digital Universe Study, June 2011)
0
(IDC Digital Universe Study, June 2011)

“El aumento exponencial en la cantidad de información disponible ha hecho que las empresas recurran
a nuevas herramientas y procesos para recopilar datos (tanto estructurados como no estructurados) y
para almacenar, administrar, manipular, analizar, e integrar datos. ”
J|M|P Securities, Big Data and How BI Got Its Groove Back, Nov. 2011
Qué es Big Data?
 Big Data es el nombre que se le da a conjuntos de información que crecen de una
manera tan exponencial que resulta prohibitivo almacenarlos y/o procesarlos con
métodos o técnicas tradicionales del mundo de base de datos relacionales.
 Big Data son tres V’s y una C:
 Velocidad: los datos se generan a un ritmo exponencial.
 Volumen: la irrupción de Big Data dejó en el
pasado el Terabyte para hablar de Petabytes y
Zetabytes.
 Variedad: datos estructurados y no estructurados,
proveniente de la web 2.0, sensores, logs, etc.
 Complejidad: volumen de datos tal que no
permite procesarlo con técnicas tradicionales
De dónde viene?
 Información transaccional
 Operaciones bancarias
 Servicios financieros, portales de bolsa
 Tiendas virtuales / e-commerce
 La nube
 World Wide Web / Blogs
 Redes sociales: Twitter, Facebook, LinkedIn
 Machine-generated data (MGD)
 Weblogs
 Centrales telefónicas
 Sensores de todo tipo
 Logs de aplicaciones
Tipos de bases de datos
 El concepto de base de datos que utilizábamos hasta hace 2 años cambió
 Distintos tipos de bases de datos, para distintos tipos de necesidades.
 Bases de datos transaccionales: para almacenar información crítica del negocio, con origen en
las aplicaciones de siempre (CRM, ERP, sistemas legacy, …)
 NoSQL: para capturar de manera segura y escalable, grandes volúmenes
de información continua generados por eventos.
 Analíticas: para permitir a múltiples usuarios contestar rápidamente preguntas
de negocio que requieran de grandes volúmenes de información.
Big Data

 Hadoop (HDFS & Hive): para almacenar y procesar grandes volúmenes de


información estructurada o semi-estructurada.
Tipos de bases de datos
 El concepto de base de datos que utilizábamos hasta hace 2 años cambió
 Distintos tipos de bases de datos, para distintos tipos de necesidades.
 Bases de datos transaccionales: para almacenar información crítica del negocio, con origen en
las aplicaciones de siempre (CRM, ERP, sistemas legacy, …)
 NoSQL: para capturar de manera segura y escalable, grandes volúmenes
de información continua generados por eventos.
 Analíticas: para permitir a múltiples usuarios contestar rápidamente preguntas
de negocio que requieran de grandes volúmenes de información.
Big Data

 Hadoop (HDFS & Hive): para almacenar y procesar grandes volúmenes de


información estructurada o semi-estructurada.
Bases de datos Transaccionales
 Utilizadas en la mayoría de las empresas en la actualidad
Atomicidad
 Motores transaccionales, diseñados y desarrollados para
soportar transacciones y trabajar con pocos registros por
operación. Durabilidad Consistencia

 Las soluciones de Business Intelligence involucran cientos


de miles (e inclusive millones) de registros en una única
Isolación
operación, y deben responder en un tiempo adecuado.
 Las bases de datos transaccionales no fueron diseñadas para responder a consultas
analíticas sobre grandes volúmenes de información.
 La irrupción de Big Data comienza a dejar en evidencia estas falencias, debiendo utilizar
complejos índices, tablas agregadas, tablas particionadas, etc., aumentando el costo de
desarrollo y mantenimiento, obteniendo tiempos
Tipos de bases de datos
 El concepto de base de datos que utilizábamos hasta hace 2 años cambió
 Distintos tipos de bases de datos, para distintos tipos de necesidades.
 Bases de datos transaccionales: para almacenar información crítica del negocio, con origen en
las aplicaciones de siempre (CRM, ERP, sistemas legacy, …)
 NoSQL: para capturar de manera segura y escalable, grandes volúmenes
de información continua generados por eventos.
 Analíticas: para permitir a múltiples usuarios contestar rápidamente preguntas
de negocio que requieran de grandes volúmenes de información.
Big Data

 Hadoop (HDFS & Hive): para almacenar y procesar grandes volúmenes de


información estructurada o semi-estructurada.
Tipos de bases de datos
 El concepto de base de datos que utilizábamos hasta hace 2 años cambió
 Distintos tipos de bases de datos, para distintos tipos de necesidades.
 Bases de datos transaccionales: para almacenar información crítica del negocio, con origen en
las aplicaciones de siempre (CRM, ERP, sistemas legacy, …)
 NoSQL: para capturar de manera segura y escalable, grandes volúmenes
de información continua generados por eventos.
 Analíticas: para permitir a múltiples usuarios contestar rápidamente preguntas
de negocio que requieran de grandes volúmenes de información.
Big Data

 Hadoop (HDFS & Hive): para almacenar y procesar grandes volúmenes de


información estructurada o semi-estructurada.
Bases de datos NoSQL
 Distintos tipos de bases para distintos tipos de aplicaciones: documentales, grafos, clave/valor,
orientadas a objetos, tabulares, …
 Características
 SQL: Sin (o muy poco) soporte para SQL.
 Datos accedidos a través de programas Java, no consultas
 ACID: Sin integridad referencial, poco soporte transaccional
 Definición de estructuras de datos flexibles (sobre la marcha)
 Beneficios
 Facilidad de escalamiento horizontal (clusters baratos)
 Almacenamiento de grandes volúmenes (no generan cuellos de botella)
 Excelentes para lecturas masivas de registros tipo clave/valor.
Tipos de bases de datos
 El concepto de base de datos que utilizábamos hasta hace 2 años cambió
 Distintos tipos de bases de datos, para distintos tipos de necesidades.
 Bases de datos transaccionales: para almacenar información crítica del negocio, con origen en
las aplicaciones de siempre (CRM, ERP, sistemas legacy, …)
 NoSQL: para capturar de manera segura y escalable, grandes volúmenes
de información continua generados por eventos.
 Analíticas: para permitir a múltiples usuarios contestar rápidamente preguntas
de negocio que requieran de grandes volúmenes de información.
Big Data

 Hadoop (HDFS & Hive): para almacenar y procesar grandes volúmenes de


información estructurada o semi-estructurada.
Tipos de bases de datos
 El concepto de base de datos que utilizábamos hasta hace 2 años cambió
 Distintos tipos de bases de datos, para distintos tipos de necesidades.
 Bases de datos transaccionales: para almacenar información crítica del negocio, con origen en
las aplicaciones de siempre (CRM, ERP, sistemas legacy, …)
 NoSQL: para capturar de manera segura y escalable, grandes volúmenes
de información continua generados por eventos.
 Analíticas: para permitir a múltiples usuarios contestar rápidamente preguntas
de negocio que requieran de grandes volúmenes de información.
Big Data

 Hadoop (HDFS & Hive): para almacenar y procesar grandes volúmenes de


información estructurada o semi-estructurada.
Bases de datos Analíticas
 Bases de datos diseñadas específicamente para ser utilizadas como motores de Data
Warehouse.

 Estas bases de datos logran procesar grandes volúmenes de información a velocidades


asombrosas, gracias a la aplicación de diferentes conceptos y tecnologías:
 Almacenamiento en columnas en lugar de filas (registros)
 Massively parallel processing (MPP)
 In-Memory Analytics
 Históricamente estas bases de datos tan especializadas tenían un costo muy elevado,
pero hoy el mercado nos ofrece varias alternativas que se adaptan al presupuesto de
cada organización.
Presentando a
 Infobright es una compañía que desarrolla un motor de base de datos analítico orientada a
columnas de alta performance que entrega rápidos tiempos de respuesta a consultas ad-
hoc sobre grandes volúmenes de información (BIG DATA) con mínimo esfuerzo de
administración, mantenimiento y costo de propiedad.
 Fundada en 2006, Infobright tiene HQ en Toronto (Canadá) y cuenta con oficinas en
Boston (USA), Irlanda y Polonia.
 A diferencia de otras bases analíticas, la mejor performance de Infobright esta basada en
modelos matemáticos, no en hardware.
 Modelo de negocios “Try & Buy” basado en una versión Enterprise (Infobright Enterprise
Edition, IEE) y una versión Open Source (Infobright Community Edition, ICE).
 Socio tecnológico de varias empresas de BI como MicroStrategy, Pentaho, Informática, etc.
 Base de clientes en aumento, incluyendo empresas como Yahoo!, Xerox, Bwin, etc.
Características de Infobright

 Base de datos columnar orientada al análisis de información


 Excelente performance:
 Análisis ad-hoc de grandes volúmenes de información
 Tiempos de carga de 2TB/hour
 Tasas de compresión de 10:1 a 40:1 (o aún más)
 Fácil administración e implementación:
 Elimina la necesidad de mantener índices, tablas particionadas,
tablas agregadas, etc
 Auto-tunning: la base va “aprendiendo” de las consultas que recibe
 Se instala en minutos, y no tiene grandes requisitos de HW
 Basada en arquitectura MySQL (BD más utilizada en el mundo)
 Es una base relacional, por lo que dialoga SQL
 Modelo de suscripción Low Cost
Y por qué resulta mejor para BI?

Base de datos Potencia basada en Administración


orientada a inteligencia, no en simplificada
columnas Hardware

Diseñada para No existe el


Knowledge Grid
análisis de datos tuning manual

Tareas de
Excelente tasa de
Motor iterativo administración
compresión
mínimas
Almacenamiento en columnas, no filas
ID Tarea Departamento Ciudad 1 Envío Operaciones Medellín

# 2 Recepción Operaciones Medellín


# 3 Registración Finanzas Bogotá
#
# El almacenamiento en filas sirve si…
#
#
 Todas las columnas son necesarias
 Por ejemplo, el detalle de una compra de supermercado
 Ideal para un mundo transaccional donde usualmente
se necesita todo el detalle de una entidad

Almacenamiento
en Columnas El almacenamiento en columnas sirve si…
 Sólo se requieren algunas columnas para el análisis
1 Envío Operaciones Medellín  Por ejemplo, el total vendido del producto X en cada una
de las sucursales en los últimos 3 meses.
2 Recepción Operaciones Medellín
 Información consolidada (sumas, cantidades,
3 Registración Finanzas Bogotá
promedios, …)
 Ideal para un mundo analítico, donde la información se
concentra en métrica de distintas entidades
Almacenamiento en filas vs. columnas
30 columnas
Ejemplo de aplicación:
 50 días con información; 30
columnas/variables por
cada registro; un millón de
registros por cada día
 El acceso a disco es un
problema
 El almacenamiento en filas 50 millones de registros
obliga a recuperar la
información de todas las
columnas
 Al incrementarse el tamaño
de la tabla, se incrementan
los índices
 La velocidad de carga se
degrada dado que los
índices deben recrearse al
incorporarse nuevos datos
Almacenamiento en filas vs. columnas
30 columnas
Objetivo: obtener el total de
ventas de una semana del
año.
 La consulta SQL sería algo
como:
Select sum(ventas)
from tabla
where semana = X 50 millones de registros

Día de la semana

Venta diaria
Almacenamiento en filas vs. columnas
30 columnas
Utilizando un esquema de
almacenamiento en filas
(esquema tradicional)
 Se recorren 7 millones de
registros (un millón por cada
día)
 Para acceder a un valor en
50 millones de registros
particular (el valor de la

Día de la semana
venta) es necesario leer las

Venta diaria
30 columnas, aún cuando Información recuperada para el cálculo
no tengan información (210 millones de variables!)
relevante.
 Se procesan TODAS las
columnas (210 millones,
30 x 7), y se DESCARTAN
TODAS MENOS una.
 Es decir se procesó un 93%
más de información.
Almacenamiento en columnas, no filas
Utilizando un esquema de
almacenamiento en columnas
(esquema utilizado por
Infobright)
 Se recorren 7 millones de
registros (un millón por cada
día)
50 millones de registros
 Se procesan sólo las 2

Día de la semana

Venta diaria
columnas necesarias: día y
venta diaria.
 Es decir, sólo se procesa la
información necesaria.
 La inteligencia está en la
forma de almacenamiento y
en el algoritmo usado para 93% menos de información
extraer los datos. recuperada!
Tipos de bases de datos
 El concepto de base de datos que utilizábamos hasta hace 2 años cambió
 Distintos tipos de bases de datos, para distintos tipos de necesidades.
 Bases de datos transaccionales: para almacenar información crítica del negocio, con origen en
las aplicaciones de siempre (CRM, ERP, sistemas legacy, …)
 NoSQL: para capturar de manera segura y escalable, grandes volúmenes
de información continua generados por eventos.
 Analíticas: para permitir a múltiples usuarios contestar rápidamente preguntas
de negocio que requieran de grandes volúmenes de información.
Big Data

 Hadoop (HDFS & Hive): para almacenar y procesar grandes volúmenes de


información estructurada o semi-estructurada.
Tipos de bases de datos
 El concepto de base de datos que utilizábamos hasta hace 2 años cambió
 Distintos tipos de bases de datos, para distintos tipos de necesidades.
 Bases de datos transaccionales: para almacenar información crítica del negocio, con origen en
las aplicaciones de siempre (CRM, ERP, sistemas legacy, …)
 NoSQL: para capturar de manera segura y escalable, grandes volúmenes
de información continua generados por eventos.
 Analíticas: para permitir a múltiples usuarios contestar rápidamente preguntas
de negocio que requieran de grandes volúmenes de información.
Big Data

 Hadoop (HDFS & Hive): para almacenar y procesar grandes volúmenes de


información estructurada o semi-estructurada.
Hadoop (HDFS, Map/Reduce, Hive, Pig, …)
 Origen (Google): cómo hacer para indexar la web sin morir en el intento?
 Solución: arquitectura masivamente paralela, que incluye un sistema de archivos y
un esquema de procesamiento distribuido.
 Permite almacenar y procesar grandes volúmenes de cualquier tipo
de información
 Ideal para:
 Grandes volumenes de datos no
estructurados que no cuadran en
bases de datos transaccionales o
NoSQL
 Emails, tweets, imágenes, logs,
videos, …
 Hadoop = Almacenamiento + procesamiento (consultas)

HDFS + programas Map/Reduce (Java)


Ejemplo: Map/Reduce

Cuantas veces
aparece la palabra
Datalytics en Contá las
Archivo.txt? repeticiones
de Datalytics
en el Bloque C

(*) (*) (*)

Cantidad = 3 Cantidad = 0 Cantidad = 11

Archivo.txt

(*) Deben programarse en Java! 


Ejemplo: Map/Reduce

Sumá
“Datalytics”

Resultados.txt (*)
(Datalytics = 14)

Datalytics =0
(*) (*) (*)

(*) Deben programarse en Java! 


Tipos de bases de datos
 El concepto de base de datos que utilizábamos hasta hace 2 años cambió
 Distintos tipos de bases de datos, para distintos tipos de necesidades.
 Bases de datos transaccionales: para almacenar información crítica del negocio, con origen en
las aplicaciones de siempre (CRM, ERP, sistemas legacy, …)
 NoSQL: para capturar de manera segura y escalable, grandes volúmenes
de información continua generados por eventos.
 Analíticas: para permitir a múltiples usuarios contestar rápidamente preguntas
Big Data
de negocio que requieran de grandes volúmenes de información.
 Hadoop (HDFS & Hive): para almacenar y procesar grandes volúmenes de
información estructurada o semi-estructurada.
Tipos de bases de datos
 El concepto de base de datos que utilizábamos hasta hace 2 años cambió
 Distintos tipos de bases de datos, para distintos tipos de necesidades.
 Bases de datos transaccionales: para almacenar información crítica del negocio, con origen en
las aplicaciones de siempre (CRM, ERP, sistemas legacy, …)
 NoSQL: para capturar de manera segura y escalable, grandes volúmenes
de información continua generados por eventos.
 Analíticas: para permitir a múltiples usuarios contestar rápidamente preguntas
Big Data
de negocio que requieran de grandes volúmenes de información.
 Hadoop (HDFS & Hive): para almacenar y procesar grandes volúmenes de
información estructurada o semi-estructurada.
 Desafíos…
 Son de distintos vendedores y no están integradas
 Estos tipos de DB’s se utilizan por lo general en conjunto
 Se utilizan y administran de distinta manera; utilizan distintos lenguajes: no SQL!
 Dependencia de sistemas: vuelta a las raíces?
Tipos de bases de datos
Tipos de bases de datos
Integración con Big Data
Fuentes de Repositorios
BIG DATA BIG DATA

DATOS
ESTRUCTURADOS

Hadoop

CRM, POS, ERP, etc.

DATOS NO
ESTRUCTURADOS NoSQL
Databases
Cargar
Manipular & Transformar
Integrar
Analytic
Acceso Databases
Modelado
Integración con Big Data

Integración, Enterprise & Ad Hoc Data Discovery,


Manipulaciónn & Carga Reporting Visualización Análisis predictivo

Hadoop NoSQL Analíticas


Integración con Big Data

Pasar de un desarrollo lento,


complejo y permeable a errores
Integración con Big Data

Desarrollo visual, hecho por el


area de BI
Integración con Big Data
 Pentaho reduce drásticamente el tiempo para diseñar, desarrollar e implementar soluciones de Big
Data llegando a ser hasta 15 veces más rápido
 Desarrollo 100% visual, 0% programación Java
 Procesos de análisis simplificado de punta a
punta
 Plataforma completa, desde la extracción
hasta las herramientas de análisis.
 Alta performance, incluyendo capacidad de
ejecución dentro de Hadoop.
Integración con Big Data
 Pentaho reduce drásticamente el tiempo para diseñar, desarrollar e implementar soluciones de Big
Data llegando a ser hasta 15 veces más rápido
 Toda la solución (ETL, cubos, reportes) se conecta con las distribuciones más importantes de
Hadoop y las principales bases NoSQL y Analíticas
 Lenguaje visual unificado para todos los desarrollos
 Cargar/extraer archivos de Hadoop en un cluster local,
en la nube, …
 Ejecutar desde PDI jobs de Map/Reduce o scripts en
Pig desarrollados en PDI o Java dentro del cluster
 Integrar los distintos motores DB’s sin perder el
foco en el usuario y en BI
Ejecución dentro del cluster Hadoop

PDI está desarrollado en Java: puede


ejecutarse dentro del cluster de Hadoop

Desarrollo fácil, misma performance


Enfoque tradicional vs. Pentaho

Ejecutivos
Explo-
ración
Usuario final

Predi-
Analistas cción

Mode-
DM / DW
IT/DBA lado

Extracción/Carga Transformación
Programadores
0 5 10 15
20 25 30 35 Días

Enfoque tradicional
Arquitectura de solución

Structured Data
Column Store or MPP
Database

Dashboard
PDI
PDI PDI

Semi-structured Data PDI PDI Metadata Report

PDI PDI
PDI
Analyzer

Pentaho Data Integration Pentaho Data Integration

Carga Limpieza / Enriquecimiento

Paseo / Validación / Consolidación Administración de dimensiones

Workflow Carga masiva a DB’s

Workflow
Instaview: acceso rápido a fuentes complejas
 Sencillo, orientado al usuario final
 Herramienta desktop para analistas de negocio
 Simplifica drásticamente el acceso a fuentes de
información “Complejas” (Hadoop, NoSQL,
1. Selección de fuente de información fuentes de tiempo real, …)
 Big Data Analytics
 Permite al analista acceder a fuentes de tiempo
real o complejas enmascarando la complejidad
subyacente.
2. Preparado automático para análisis
 Analistas consultan su información sin
intermediarios.

3. Visualización y exploración interactiva


Data Quality
 PDI cuenta con un plugin que permite realizar tareas avanzadas de Data Quality,
incluyendo:
 Data Profiling: análisis de la calidad de la información.
 Data Cleaning: limpieza de la información.
 Data Monitoring: monitoreo y análisis de la evolución de la calidad de la información.
Muchas Gracias!

También podría gustarte