Big Data Architecture con Pentaho

2,183 views
1,952 views

Published on

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

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,183
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
115
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Big Data Architecture con Pentaho

  1. 1. www.datalytics.com 18D – Pentaho Big Data Architecture
  2. 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 recurrana nuevas herramientas y procesos para recopilar datos (tanto estructurados como no estructurados) ypara almacenar, administrar, manipular, analizar, e integrar datos. ”J|M|P Securities, Big Data and How BI Got Its Groove Back, Nov. 2011
  3. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 18. Almacenamiento en filas vs. columnas 30 columnasEjemplo 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. 19. Almacenamiento en filas vs. columnas 30 columnasObjetivo: obtener el total deventas de una semana delañ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. 20. Almacenamiento en filas vs. columnas 30 columnasUtilizando 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. 21. Almacenamiento en columnas, no filasUtilizando 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. 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. 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. 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. 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! 
  26. 26. Ejemplo: Map/Reduce Sumá “Datalytics” Resultados.txt (*) (Datalytics = 14) Datalytics =0 (*) (*) (*) (*) Deben programarse en Java! 
  27. 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. 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?
  29. 29. Tipos de bases de datos
  30. 30. Tipos de bases de datos
  31. 31. Integración con Big Data Fuentes de Repositorios BIG DATA BIG DATA DATOSESTRUCTURADOS HadoopCRM, POS, ERP, etc. DATOS NOESTRUCTURADOS NoSQL Databases Cargar Manipular & Transformar Integrar Analytic Acceso Databases Modelado
  32. 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. 33. Integración con Big Data Pasar de un desarrollo lento, complejo y permeable a errores
  34. 34. Integración con Big Data Desarrollo visual, hecho por el area de BI
  35. 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. 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. 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. 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ónProgramadores 0 5 10 15 20 25 30 35 Días Enfoque tradicional
  39. 39. Arquitectura de solución Structured Data Column Store or MPP Database Dashboard PDI PDI PDISemi-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. 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. 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.
  42. 42. Muchas Gracias!

×