Upload
datalytics
View
1.805
Download
3
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
www.datalytics.com 18D – Pentaho Big Data Architecture
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)
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?
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?
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
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
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
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
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
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.
Hadoop (HDFS & Hive): para almacenar y procesar grandes volúmenes de
información estructurada o semi-estructurada.
Big Data
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
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 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
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
#
#
#
#
#
#
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
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
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)
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)
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
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
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, …
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!
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 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
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
Tipos de bases de datos
Tipos de bases de datos
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
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
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
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
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
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.
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