42
www.datalytics.com 18D Pentaho Big Data Architecture

Big Data Architecture con Pentaho

Embed Size (px)

DESCRIPTION

Presentación de Big Data Architecture & Integration con Pentaho, realizada por Datalytics con motivo del desayuno de trabajo realizado el 18 de Diciembre 2012.

Citation preview

Page 1: Big Data Architecture con Pentaho

www.datalytics.com 18D – Pentaho Big Data Architecture

Page 2: Big Data Architecture con Pentaho

Un punto de inflexión

(Gartner, December 2011)

80% DE LA INFORMACIÓN ES NO

ESTRUCTURADA

“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

(IDC Digital Universe Study, June 2011)

LOS DATOS SE

DUPLICAN CADA 2 AÑOS 40

35

30

25

20

15

10

5

0

2005 2010 2015 2020

ZB

LAS EMPRESAS MANEJARÁN

50X MÁS DATOS EN LA PRÓXIMA DÉCADA

(IDC Digital Universe Study, June 2011)

Page 3: Big Data Architecture con Pentaho

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

Qué es Big Data?

Page 4: Big Data Architecture con Pentaho

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

De dónde viene?

Page 5: Big Data Architecture con Pentaho

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.

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

información estructurada o semi-estructurada.

Big Data

Page 6: Big Data Architecture con Pentaho

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.

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

información estructurada o semi-estructurada.

Big Data

Page 7: Big Data Architecture con Pentaho

Bases de datos Transaccionales

Atomicidad

Isolación

Durabilidad Consistencia

Utilizadas en la mayoría de las empresas en la actualidad

Motores transaccionales, diseñados y desarrollados para

soportar transacciones y trabajar con pocos registros por

operación.

Las soluciones de Business Intelligence involucran cientos

de miles (e inclusive millones) de registros en una única

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

Page 8: Big Data Architecture con Pentaho

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.

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

información estructurada o semi-estructurada.

Big Data

Page 9: Big Data Architecture con Pentaho

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.

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

información estructurada o semi-estructurada.

Big Data

Page 10: Big Data Architecture con Pentaho

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.

Page 11: Big Data Architecture con Pentaho

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.

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

información estructurada o semi-estructurada.

Big Data

Page 12: Big Data Architecture con Pentaho

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.

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

información estructurada o semi-estructurada.

Big Data

Page 13: Big Data Architecture con Pentaho

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.

Page 14: Big Data Architecture con Pentaho

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.

Page 15: Big Data Architecture con Pentaho

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

Page 16: Big Data Architecture con Pentaho

Y por qué resulta mejor para BI?

Base de datos orientada a columnas

Diseñada para análisis de datos

Excelente tasa de compresión

Potencia basada en inteligencia, no en

Hardware

Knowledge Grid

Motor iterativo

Administración simplificada

No existe el tuning manual

Tareas de administración

mínimas

Page 17: Big Data Architecture con Pentaho

Almacenamiento en columnas, no filas

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

El almacenamiento en columnas sirve si…

Sólo se requieren algunas columnas para el análisis

Por ejemplo, el total vendido del producto X en cada una de las sucursales en los últimos 3 meses.

Información consolidada (sumas, cantidades, promedios, …)

Ideal para un mundo analítico, donde la información se concentra en métrica de distintas entidades

Almacenamiento

en Columnas

1 Envío Operaciones Medellín

2 Recepción Operaciones Medellín

3 Registración Finanzas Bogotá

1 Envío Operaciones Medellín

2 Recepción Operaciones Medellín

3 Registración Finanzas Bogotá

ID Tarea Departamento Ciudad

#

#

#

#

#

#

Page 18: Big Data Architecture con Pentaho

Almacenamiento en filas vs. 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 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

50

mill

on

es d

e re

gist

ros

30 columnas

Page 19: Big Data Architecture con Pentaho

Almacenamiento en filas vs. columnas

50

mill

on

es d

e re

gist

ros

30 columnas

Día

de

la

se

ma

na

Ve

nta

dia

ria

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

Page 20: Big Data Architecture con Pentaho

Almacenamiento en filas vs. columnas

Se recorren 7 millones de registros (un millón por cada día)

Para acceder a un valor en particular (el valor de la venta) es necesario leer las 30 columnas, aún cuando no tengan información 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.

50

mill

on

es d

e re

gist

ros

30 columnas

Día

de

la

se

ma

na

Ve

nta

dia

ria

Información recuperada para el cálculo

(210 millones de variables!)

Utilizando un esquema de almacenamiento en filas (esquema tradicional)

Page 21: Big Data Architecture con Pentaho

Almacenamiento en columnas, no filas

Se recorren 7 millones de registros (un millón por cada día)

Se procesan sólo las 2 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 extraer los datos.

50

mill

on

es d

e re

gist

ros

Día

de

la

se

ma

na

Ve

nta

dia

ria

93% menos de información recuperada!

Utilizando un esquema de almacenamiento en columnas (esquema utilizado por Infobright)

Page 22: Big Data Architecture con Pentaho

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.

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

información estructurada o semi-estructurada.

Big Data

Page 23: Big Data Architecture con Pentaho

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.

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

información estructurada o semi-estructurada.

Big Data

Page 24: Big Data Architecture con Pentaho

Hadoop (HDFS, Map/Reduce, Hive, Pig, …)

Hadoop = Almacenamiento + procesamiento (consultas)

HDFS + programas Map/Reduce (Java)

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, …

Page 25: Big Data Architecture con Pentaho

Ejemplo: Map/Reduce

Cuantas veces aparece la palabra

Datalytics en Archivo.txt?

Contá las repeticiones de Datalytics

en el Bloque C

Cantidad = 3 Cantidad = 0 Cantidad = 11

Archivo.txt

(*) (*) (*)

(*) Deben programarse en Java!

Page 26: Big Data Architecture con Pentaho

Ejemplo: Map/Reduce

Sumá “Datalytics”

Resultados.txt (Datalytics = 14)

Datalytics = 0

(*)

(*) Deben programarse en Java!

(*) (*)

(*)

Page 27: Big Data Architecture con Pentaho

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.

Hadoop (HDFS & Hive): para almacenar y procesar grandes volúmenes de información estructurada o semi-estructurada.

Big Data

Page 28: Big Data Architecture con Pentaho

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.

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?

Big Data

Page 29: Big Data Architecture con Pentaho

Tipos de bases de datos

Page 30: Big Data Architecture con Pentaho

Tipos de bases de datos

Page 31: Big Data Architecture con Pentaho

Integración con Big Data

DATOS

ESTRUCTURADOS

CRM, POS, ERP, etc.

Fuentes de

BIG DATA

DATOS NO

ESTRUCTURADOS

Cargar

Manipular & Transformar

Integrar

Acceso

Modelado

Hadoop

NoSQL

Databases

Analytic

Databases

Repositorios

BIG DATA

Page 32: Big Data Architecture con Pentaho

Integración con Big Data

Data Discovery,

Visualización Enterprise & Ad Hoc

Reporting Análisis predictivo

Integración,

Manipulaciónn & Carga

Hadoop NoSQL Analíticas

Page 33: Big Data Architecture con Pentaho

Integración con Big Data

Pasar de un desarrollo lento, complejo y permeable a errores

Page 34: Big Data Architecture con Pentaho

Integración con Big Data

Desarrollo visual, hecho por el

area de BI

Page 35: Big Data Architecture con Pentaho

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.

Page 36: Big Data Architecture con Pentaho

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

Page 37: Big Data Architecture con Pentaho

Ejecución dentro del cluster Hadoop

PDI está desarrollado en Java: puede ejecutarse dentro del cluster de Hadoop

Desarrollo fácil, misma performance

Page 38: Big Data Architecture con Pentaho

Enfoque tradicional vs. Pentaho

0 5 10 15 20 25 30 35 Días

Ejecutivos

Usuario final

Analistas

IT/DBA

Programadores Extracción/Carga Transformación

DM / DW Mode-

lado

Enfoque tradicional

Explo- ración

Predi- cción

Page 39: Big Data Architecture con Pentaho

Arquitectura de solución

Semi-structured Data

Structured Data

Pentaho Data Integration

Limpieza / Enriquecimiento

Administración de dimensiones

Carga masiva a DB’s

Workflow

Report

Column Store or MPP

Database

Pentaho Data Integration

Carga

Paseo / Validación / Consolidación

Workflow

PDI PDI Metadata

Dashboard

Analyzer

PDI PDI

PDI PDI PDI

PDI

Page 40: Big Data Architecture con Pentaho

Instaview: acceso rápido a fuentes complejas

3. Visualización y exploración interactiva

1. Selección de fuente de información

2. Preparado automático para análisis

Sencillo, orientado al usuario final

Herramienta desktop para analistas de negocio

Simplifica drásticamente el acceso a fuentes de

información “Complejas” (Hadoop, NoSQL,

fuentes de tiempo real, …)

Big Data Analytics

Permite al analista acceder a fuentes de tiempo

real o complejas enmascarando la complejidad

subyacente.

Analistas consultan su información sin

intermediarios.

Page 41: Big Data Architecture con Pentaho

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.

Data Quality