Está en la página 1de 17

Big Data

Rodolfo Campos
http://www.smartcamp.es/~camposer/tecnocom/bigdata
Madrid, Mayo de 2013

Agenda
1. Introduccin a Big Data.

1.1. Definicin / Justificacin

1.2. Casos de Uso

2. NoSQL

1.1. Orientadas a tabulares (Caso prctico: Hadoop)

1.2. Orientadas a documentos (Caso prctico: MongoDB)

1.3. Orientadas a clave-valor (Caso prctico: Redis)

1.4. Orientadas a grafos (Caso prctico: Neo4J)

1.5. Teorema de CAP y caractersticas de cada motor NoSQL

3. Arquitectura Hadoop

4. MapReduce

5. Machine Learning / Data Mining

5.1. Fundamentos (clustering, clasificacin y reglas de asociacin)

5.2. Mahout

6. Prctica MongoDB y MapReduce

Justificacin
Tendencia: Usuarios de Facebook

Justificacin
Tendencia: Twitter. Tweets por da

Justificacin
Walmart maneja ms de 1M de transacciones por hora
Google procesa aprox. 24PB de data al da
AT&T transfiere aprox. 30PB de data al da
Todos los das son enviados aprox. 90 trillones de correos
electrnicos
World of Warcraft utiliza 1.3PB de almacenamiento

Justificacin
Tendencia: Crecimiento de la data en el mundo

Definicin
Segn Wikipedia en Espaol, Big Data es:
Big Data es en el sector de tecnologas de la informacin y la
comunicacin una referencia a los sistemas que manipulan
grandes conjuntos de datos (o data sets).
Las dificultades ms habituales en estos casos se centran en la
captura, el almacenado, bsqueda, anlisis/procesamiento, y
visualizacin.
La tendencia a manipular ingentes cantidades de datos se debe
a la necesidad en muchos casos de incluir los datos
relacionados del anlisis en un gran conjunto de datos
relacionado, tal es el ejemplo de los anlisis de negocio, los
datos de enfermedades infecciosas, o la lucha contra el crimen
organizado.

El almacenamiento
El almacenamiento se lleva a cabo generalmente apoyndose
en motores de bases de datos NoSQL
El volumen de datos es un reto, por lo que las escalabilidad y la
tolerancia a fallos son de los principales retos a manejar.
Generalmente el almacenamiento se realiza en Sistemas
Distribuidos en lugar de Centralizados.

La bsqueda
La bsqueda de datos se realiza a travs de diferentes
herramientas, generalmente: lenguajes SQL, pseudo SQL y
especficos.
Debido a la naturaleza, generalmente distribuida del
almacenamiento, algunos motores se valen de entornos de
trabajo especficos como MapReduce que buscan operar sobre
los diferentes nodos del sistema de forma independiente y
generar resultados independientes a partir de estos.

El anlisis
El anlisis de los datos se realiza de forma inline y offline,
dependiendo del problema a resolver y del motor de base de
datos utilizado.
La mayora de motores de bases de datos (en la mayora
NoSQL) proveen conectores para trabajar con los lenguajes de
programacin ms populares.
Si el problema a resolver no requiere de un mayor
procesamiento, el anlisis de los datos se puede elaborar de
forma inline, en caso contrario, se suelen utilizar tcnicas offline
(Ej. trabajos por lote).

El mercado

El mercado: algunos nombres


IBM: Cognos
Oracle: Hyperion
SAP: Business Objects
HP: Vertica
EMC: Greenplum
Teradata: Aster

Cuntos datos tienes?

NoSQL
Segn la Wikipedia en Espaol, NoSQL se refiere a:
Una amplia clase de sistemas de gestin de bases de datos que
difieren del modelo clsico del sistema de gestin de bases de
datos relacionales (RDBMS) en aspectos importantes, el ms
destacado que no usan SQL como el principal lenguaje de
consultas.
Los datos almacenados no requieren estructuras fijas como
tablas, normalmente no soportan operaciones JOIN, ni
garantizan completamente ACID (atomicidad, coherencia,
aislamiento y durabilidad), y habitualmente escalan bien
horizontalmente.

Tipos de motores NoSQL


Los tipos de motores NoSQL ms importantes son:
Tabulares (Ej. Hadoop)
Orientadas a documentos (Ej. MongoDB)
De clave-valor (Ej. Redis o Cassandra)
Orientadas a grafos (Ej. Neo4J)

Teorema de CAP y NoSQL

Arquitectura de Hadoop