Presentación de Big Data Architecture & Integration con Pentaho, realizada por Datalytics con motivo del desayuno de trabajo realizado el 18 de Diciembre 2012.
2. 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
3. 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
4. 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
5. 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.
6. 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.
7. 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
8. 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.
9. 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.
10. 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.
11. 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.
12. 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.
13. 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.
14. 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.
15. 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
16. 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
17. 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
18. 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
19. 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
20. 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.
21. 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!
22. 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.
23. 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.
24. 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)
25. 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!
27. 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.
28. 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?
31. 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
32. 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
33. Integración con Big Data
Pasar de un desarrollo lento,
complejo y permeable a errores
35. 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.
36. 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
37. Ejecución dentro del cluster Hadoop
PDI está desarrollado en Java: puede
ejecutarse dentro del cluster de Hadoop
Desarrollo fácil, misma performance
38. 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
39. 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
40. 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
41. 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.