Este documento presenta una introducción al Big Data, incluyendo los desafíos actuales como la escalabilidad y los diferentes tipos de bases de datos como Hadoop, HBase y Hive. Explica las herramientas clave de Big Data de código abierto como Hadoop y MapReduce y cómo se pueden usar para analizar grandes cantidades de datos.
5. Big Data Open Source - Stratebi
Entendiendo la información…Entendiendo la información…
6. Big Data Open Source - Stratebi
No se guarda información
Comienzo de uso de las
BD e informes rudimentarios
Inteligencia de negocio.
Gran variedad de recursos
visuales para el análisis de datos
7. Big Data Open Source - Stratebi
Beneficios en el análisis de datos:
Ventajas competitivas
Optimización de procesos
Incremento ventas
Satisfacción clientes
…
8. Big Data Open Source - Stratebi
Nuevas tecnologías y procesos de análisis de datosNuevas tecnologías y procesos de análisis de datos
Nuevas soluciones BI
Nuevos recursos gráficos
Nuevos orígenes de datos
Soluciones Cloud
Nuevas corrientes
Social Intelligence
Mailing intelligence
…
9. Big Data Open Source - Stratebi
Empresas e instituciones perciben que…Empresas e instituciones perciben que…
16. Big Data Open Source - Stratebi
Arquitectura Big DataArquitectura Big Data
17. Big Data Open Source - Stratebi
Escalabilidad
Vertical
+ CPU
+ RAM
Tipología de datos
Estructurados
No Estructurados
Retos ActualesRetos Actuales
Horizontal
Más nodos
¿Tablas de relacionales de nodo x que
FK apuntan a PK de tablas de otros nodos?
18. Big Data Open Source - Stratebi
No Estructurados
Estructurados
Tipos de datosTipos de datos
Una estructura de datos es una forma particular de
almacenar y organizar datos en un computador para así ser
almacenados eficientemente
Lista: http://en.wikipedia.org/wiki/List_of_data_structures
Tipos primitivos: Boolean, chart, float, double …
Datos no estructurados se refieren a la información que no
tiene un modelo de datos definido y no es organizado de
ninguna forma predefinida
19. Big Data Open Source - Stratebi
Lectura de datos
Coste alto lectura en
RELACIONES
Joins masivo
Modelo relacional
Retos ActualesRetos Actuales
Transaccional
¿Transacciones de datos
necesarias? ¿consistencia?
¿Es representable en modelo
relacional?
20. Big Data Open Source - Stratebi
Tipos de BD Big Data. Not Only SQL (NoSQL)Tipos de BD Big Data. Not Only SQL (NoSQL)
Como respuesta a estos problemas surgió el paradigma NoSQL
NoSQL no es un sustituto a las bases de datos relacionales
busca otras opciones para escenarios específicos
Es solo una forma de decir que no todos los problemas son clavos
que pueden ser atacados con un RDBMS
El desarrollador cuenta con un abanico de soluciones y puede elegir
la mejor para su problema en específico
Existen varias formas de NoSQL, que atacan los problema del
escalamiento, performance y modelado de los datos de formas
distintas.
21. Big Data Open Source - Stratebi
Tipos de BD Big Data. Not Only SQL (NoSQL)Tipos de BD Big Data. Not Only SQL (NoSQL)
Almacenes Key-Value
Bases de datos
columnares
Bases de datos
orientadas
a documentos
Bases de datos
orientadas a grafos
Bases de datos
orientadas a objetos
No sustituyen al modelo relacional. Escenarios específicos.No sustituyen al modelo relacional. Escenarios específicos.
22. Big Data Open Source - Stratebi
Almacenes Key-Value
Más simples en cuanto su uso
VALOR guardado se almacena
como un arreglo de bytes (BLOB)
El tipo de contenido no es
importante para la base de datos,
solo la clave y el valor que tiene
asociado
No necesita definir un esquema
(columnas, tipos de datos) para
almacenar la información.
Escalabilidad: de key X a X+100 en Server 1, de X+101 a X+200 a Server2
23. Big Data Open Source - Stratebi
Bases de datos orientadas a
documentos
Un almacen key-value con la excepción de que el valor no se
guarda sólo como un campo binario, sino con un formato
definido de forma tal que el servidor pueda entender
la diferencia es que el campo binario puede ser
entendido por la base de datos
24. Big Data Open Source - Stratebi
Bases de datos orientadas a
objetos
Se basan en el paradigma orientado a objetos y no en
el modelo relacional
No se basan en claves primarias sino en OID
Pueden representar relaciones jerárquicas
Las relaciones entre tablas son a través de punteros a
objetos
Las bases orientadas a objetos nunca tuvieron el impacto esperado, pero tienen
varios nichos específicos como algunas aplicaciones de carácter científico
25. Big Data Open Source - Stratebi
Bases de datos orientadas a
grafos
Almacenan los datos en forma de grafo.
Da importancia no solo a los datos, sino a las relaciones
entre ellos
Más eficiente navegar entre relaciones que en un
modelo relacional
Sólo son aprovechables si tu información se puede
representar fácilmente como una red
26. Big Data Open Source - Stratebi
Bases de datos columnares
Guardan los datos en columnas en lugar de renglones.
Mucha velocidad en lecturas
No es muy eficiente para realizar
escrituras
Típicamente en data warehouses
y sistemas de Business Intelligence
Ideales para calcular datos
agregados
27. Big Data Open Source - Stratebi
Ok, pero eso sonOk, pero eso son
BD…BD…
29. Big Data Open Source - Stratebi
Un poco de historia…
Las primeras implementaciones de Google
necesitaban realizar operaciones de
multplicación de grandes matrices para calcular
el PageRank
La preocupación por tratar grandes colecciones de datos, llevó a
crear algoritmos y frameworks capaces de poder procesar terabytes
de información
Una de las primeras
aplicaciones capaces de
programar MapReduce fue
implementado inicialmente
en Hadoop, diseñado
inicialmente por Doug
Cutting
30. Big Data Open Source - Stratebi
Framework de software que soporta aplicaciones
distribuidas bajo una licencia libre (Apache License 2.0)
Hadoop se inspiró en los documentos Google para
MapReduce y Google File System
ha sido el mayor contribuyente al proyecto
Lenguaje de programación Java
Hadoop se basa en un sistema de
archivos. No es una base de datos
Sobre Apache HadoopSobre Apache Hadoop
31. Big Data Open Source - Stratebi
Sobre Apache HadoopSobre Apache Hadoop
32. Big Data Open Source - Stratebi
¿Por qué usar Hadoop?¿Por qué usar Hadoop?
Necesitamos comprimir datos
Nodos fallan cada día
Necesitamos infraestructuras comunes
Eficientes
Fáciles de usar
Open Source
33. Big Data Open Source - Stratebi
¿Por qué usar Hadoop?¿Por qué usar Hadoop?
34. Big Data Open Source - Stratebi
¿Para qué se usa?¿Para qué se usa?
Búsquedas
Procesamiento de Logs
Sistemas de recomendación
Analitica (Facebook, Linkedin)
Video y procesamiento de imágenes (NASA)
Retención de datos
35. Big Data Open Source - Stratebi
Composición de HadoopComposición de Hadoop
36. Big Data Open Source - Stratebi
Sistema HDFS de ArchivosSistema HDFS de Archivos
37. Big Data Open Source - Stratebi
Sistema HDFS de ArchivosSistema HDFS de Archivos
El Hadoop Distributed File System (HDFS) es un sistema de
archivos distribuido
Cada nodo en una instancia Hadoop típicamente tiene
un único nodo de datos
El sistema de archivos usa la capa TCP/IP para la
comunicación
Consigue fiabilidad mediante replicado de datos a
través de múltiples hosts
Los nodos de datos pueden hablar entre ellos para
reequilibrar datos, mover copias, y conservar alta la
replicación de datos
38. Big Data Open Source - Stratebi
MAP ReduceMAP Reduce
Consiste en un Job
Tracker (rastreador de
trabajos)
El rastreador de
trabajos (Job Tracker)
impulsa el trabajo
fuera a los nodos Task
Tracker disponibles en
el clúster
39. Big Data Open Source - Stratebi
¿Cómo se hace MapReduce?¿Cómo se hace MapReduce?
Map
Esta función se encarga del mapeo y se aplica a
cada elemento de la entrada de datos, por lo que
se obtendrá una lista de pares por cada llamada a
la función Map
Map (clave1, valor1) –> lista (clave2, valor2)
40. Big Data Open Source - Stratebi
¿Cómo se hace MapReduce?¿Cómo se hace MapReduce?
Reduce
Los datos obtenidos de la fase Map se ordenan
para que los pares clave-valor sean contiguos
Se aplica en paralelo para cada grupo creado por
la función Map()
Generan una salida que se obtiene de aplicar una
función a todos aquellos pares recibidos que
contengan la misma etiqueta
Reduce (clave2, lista(valor2)) –> lista(valor2)
41. Big Data Open Source - Stratebi
MAP ReduceMAP Reduce
42. Big Data Open Source - Stratebi
MAP ReduceMAP Reduce
43. Big Data Open Source - Stratebi
Ejemplo Map/Reduce WordCountEjemplo Map/Reduce WordCount
bin/hadoop jar hadoop-*-examples.jar wordcount [-m <#maps>] [-r <#reducers>] <in-dir> <out-dir>
44. Big Data Open Source - Stratebi
Ejemplo Map/Reduce WordCountEjemplo Map/Reduce WordCount
45. Big Data Open Source - Stratebi
SuenaSuena
complicado.complicado.
¿Hay facilidades?¿Hay facilidades?
46. Big Data Open Source - Stratebi
¿Qué es HBase?¿Qué es HBase?
HBase es una base de datos abierta que implementa
el concepto de BigTable
Permite que Google escale toda su infraestructura
a centenares de miles de servidores de bajo costo
de una manera homogénea
HBase es una base de datos distribuida que permite
escalar casi linealmente con simplemente agregar mas
servidores al sistema
Base puede utilizar opcionalmente una tecnología
llamada HDFS
HBase está implementado en Java
47. Big Data Open Source - Stratebi
¿Qué es HBase?¿Qué es HBase?
HBase es apropiado cuando se necesita tiempos de
acceso de lectura/escritura muy bajos en una
infraestructura BigData.
HBase es capaz de almacenar tablas muy grandes
(miles de millones de filas multiplicado por millones de
columnas) en cluster compuestos de hardware básico
Modos de
funcionamiento
48. Big Data Open Source - Stratebi
¿Qué es HBase?¿Qué es HBase?
Algunos comandos en HBase
49. Big Data Open Source - Stratebi
¿Qué es HBase?¿Qué es HBase?
Hive es un almacén de datos y paquete de análisis en
código abierto que se ejecuta por encima de Hadoop
Hive QL es más que el lenguaje SQL estándar, ya que
incluye una compatibilidad excelente con funciones
map/reduce
Se ejecuta en una agrupación de equipos y puede
procesar cantidades muy grandes de datos
Hive permite extensiones de usuarios mediante
funciones definidas por los propios usuarios
50. Big Data Open Source - Stratebi
Ok. Pero no séOk. Pero no sé
programar Java… yprogramar Java… y
veo que me costará…veo que me costará…
¿qué puedo hacer?¿qué puedo hacer?
51. Big Data Open Source - Stratebi
Diseñador gráfico de
transformaciones y
trabajos del sistema
de ETLs de Pentaho
Ayudar en los
procesos ETTLs, que
incluyen la Extracción,
Transformación,
Transporte y Carga de
datos.
¿Qué es Kettle?¿Qué es Kettle?
52. Big Data Open Source - Stratebi
• Pestaña Vista (View):
• Orígenes de Datos.
• Pasos
• Saltos
• Esquemas
• Servidores Esclavos
• Esquemas en Cluster.
• Pestaña Diseño (Design):
• Entrada
• Salida
• Búsqueda
• Transformar
• Uniones
• Scripting
• Data Warehouse
• Mapeado
• Trabajo
• Embebido
• Experimental
53. Big Data Open Source - Stratebi
Pasos importantes en Big DataPasos importantes en Big Data
54. Big Data Open Source - Stratebi
Ejemplo Word CountEjemplo Word Count
55. Big Data Open Source - Stratebi
Ejemplo Word CountEjemplo Word Count
Configurando Map ReduceConfigurando Map Reduce
56. Big Data Open Source - Stratebi
Ejemplo Word CountEjemplo Word Count
Configurando Map ReduceConfigurando Map Reduce
57. Big Data Open Source - Stratebi
Ejemplo Word CountEjemplo Word Count
58. Big Data Open Source - Stratebi
Ejemplo Word CountEjemplo Word Count
59. Big Data Open Source - Stratebi
Configurar MapReduce con HbaseConfigurar MapReduce con Hbase
60. Big Data Open Source - Stratebi
Configurar MapReduce con HbaseConfigurar MapReduce con Hbase
61. Big Data Open Source - Stratebi
Hive como fuente de datosHive como fuente de datos
62. Big Data Open Source - Stratebi
Proyecto Big Data y Business IntelligenceProyecto Big Data y Business Intelligence
63. Big Data Open Source - Stratebi
Proyecto Big Data y Business IntelligenceProyecto Big Data y Business Intelligence
64. Big Data Open Source - Stratebi
VisualizaciónVisualización
65. Big Data Open Source - Stratebi
VisualizaciónVisualización
66. Big Data Open Source - Stratebi
VisualizaciónVisualización
67. Big Data Open Source - Stratebi
VisualizaciónVisualización