Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Jorge Mercado
JalaSoft
jorge.mercado@jalasoft.com
Palabras Clave
data, cluster,volumen, variedad, escalabilidad, tolerancia a
fallas, integridad de datos, hadoop, HDFS
1.
RESUMEN
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is only granted for Jalasoft employees or use at
the Jala Foundation respectively; copies must bear this notice and the full
citation on the first page. To copy otherwise, or republish, to post on servers
or to redistribute to lists, requires prior specific permission and/or a fee.
c 2009
TechZone 13, November 2013, Cochabamba, Bolivia. Copyright
- 2010 - 2011 - 2012 - 2013 Jalasoft TechZone.
2.
INTRODUCCIN
Volumen:
Volumen esta relacionado con el Big del termino Big Data,
el tama
no de datos disponible y almacenado que va creciendo exponencialmente, la escalabilidad ha ayudado mucho a poder mantener y soportar enormes cantidades de
datos, hasta hace 2 a
nos atr
as era normal hablar con el termino Tera, pero hoy en da hablamos de terminos como
petabytes, exabytes y quintillon bytes, donde la cantidad
de ceros detr
as del numero uno son muchos y esto se debe
a toda la informaci
on que se genera diariamente desde un
sensor de alarma que registra eventos y los guarda en una
base de datos remota hasta los millones de smartphones enviando una variedad de informaci
on a la red. La primera
V es asignada a este concepto de volumen de datos.
real) ayuda a poder determinar que acciones tomar, predecir ocurrencias futuras y proyectar resultados.
[7]
Variedad:
Big data es aplicable a cualquier tipo de dato, estructurado
y no estructurado, como texto, datos de audio, vdeo, logs,
web social media, registros de facturaci
on, registros biometricos, registros de seguros de salud, reconocimiento facial, digital, informaci
on generada M2M, correos electr
onicos, documentos electr
onicos, llamadas telef
onicas, se
nales
GPS ,etc. La variedad de tipos de datos es tambien una
raz
on y una V del origen de big data.
[4]
3.
Big Data engloba el masivo crecimiento en el volumen, variedad, velocidad de los datos producidos ademas del conjunto de aplicaciones que generan, almacenan y procesan
estos datos. El poder tener una promesa de soluci
on a estos
acontecimientos dentro de una compa
na no es tarea f
acil,
algunos aspectos que deben tomarse en cuenta:
Demanda en tiempo real.- Las aplicaciones no solo deben
capturar grandes cantidades de datos, deben proveer un
an
alisis constante e inmediato (in situ), en tiempo real sin
tener que migrar los datos a sistemas separados, ya no es
suficiente llevar a acabo un an
alisis de lotes sin conexi
on,
an
alisis ligeros deben ser realizados para proporcionar un
contenido din
amico que permita la interactividad y mejorar
la experiencia del usuario. Esta caracterstica requerida hace
referencia a una anterior tecnologa utilizada llamada Business Intelligence el cual es el analizar los datos ingresados
pero con fines distintos, mientras el BI se centra en ayudar a
la organizaci
on a la toma de decisiones de una manera r
apida y a
gil, el Big Data se centra en el proceso y visualizaci
on
de gran cantidad de datos.
[9]
Velocidad:
Esta caracterstica es una de las mas complejas de entender,
al principio las compa
nas realizaban el an
alisis de los datos
tomando una porci
on de estos y ejecutando algunos jobs en
el servidor lo cual generaba resultados despues de un periodo de tiempo, este esquema funciona siempre y cuando el
periodo de ingreso de datos sea mas peque
no que el tiempo
en que los jobs procesan la informaci
on ingresada, con las
nuevas fuentes de datos, la frecuencia con la que se generan
y almacenan las pilas de datos la lista de proceso de batchs
y jobs ya no llega a ser eficiente y llega a exceder los limites
de lo manejable, hoy en da no es solo el almacenar los datos
si no el tiempo de respuesta del an
alisis de estos datos es
muy importante, por ejemplo para una aplicaci
on que controla fraudes electr
onicos, el periodo de espera de mas de
un minuto significa tener que tomar decisiones de mucho
riesgo, pero no solo es el obtener resultados de manera r
apida y eficiente en base a los resultados obtenidos del an
alisis
de estos datos, tambien cuenta que un sistema pueda adecuarse/adaptarse a la tasa de ingreso de datos y as poder
crear puntos de restauraci
on, soporte, no todos los datos
ingresan con la misma velocidad ni con la misma frecuencia pero el poder analizarlos en tiempo real (Casi tiempo
Hablamos de gente/problem
aticas/competencias distintas.
El Big Data atiende a personal tecnico, estadstico y matem
atico,
mientras que el BI es para analistas de negocio, personal empresarial y de negocio.
R
apida evoluci
on.- Las organizaciones deben ser a
giles,
dispuestas a incorporar nuevas funciones, nuevas caractersticas a sus aplicaciones de manera r
apida y f
acil, los que
pueden adaptarse a los cambios con mayor rapidez tendr
an
exito.
Despliegue flexible.- Las organizaciones deben ser capaces
de desplegar sus ambientes en entornos que permitan poder
beneficiarse y adaptar el mismo ambiente a las necesidades
actuales de la organizaci
on, una tecnologa muy recomendada es el cloud. Las tecnologas tradicionales tienen dificultades para adaptarse a la velocidad, variedad y volumen de los datos generados actualmente, las bases de datos
relacionales se han dise
nado para un modelo de datos est
aticos en el que los vol
umenes de datos eran relativamente
peque
nos, hoy en da las bases de datos NoSQL como Mon2
goDB est
an dise
nados para poder soportar estas caractersticas.
Extraccin
Frecuentemente la informaci
on colectada no se encuentra en
un formato listo para el an
alisis, por ejemplo datos de salud
de un paciente de hospital es seguro que tendr
a informaci
on plasmada en un electrocardiograma, placas de rayos
X, an
alisis de laboratorio, etc, los cuales no pueden proveer
un estado confiable si no son analizados primeramente para
tambien identificar que es lo importante y lo que no lo es.
Integracin
No solo se trata de almacenar y de encapsular conjuntos de
datos en formatos que lleguen a ser mas f
aciles de entender
para realizar su respectivo an
alisis, es necesario tener un
conjunto de datos que muestre de manera mas confiable que
la informaci
on manejada generara mucho beneficio, al igual
que con un experimento cientfico se deben tomar muchos
par
ametros para poder interpretar y calificar un resultado
de exitoso o fallido, es necesario integrar, agregar muchos
datos y despues representarlos.
Big data es desordenado.- No es todo acerca de la infraestructura. Practicantes de Big Data consistentemente
reportan que el 80 % del esfuerzo del trabajo se ocupa en
la verificaci
on de la limpieza y organizaci
on de los datos
recibidos: [Probablemente me paso m
as tiempo convirtiendo
datos de origen desordenado en algo u
til con lo que pueda
trabajar que en el resto del proceso de an
alisis de los datos
combinados]. [5].
Anlisis
Los metodos para realizar el an
alisis en Big Data son diferentes a los metodos utilizados en modelos est
aticos, big data
es mas din
amico, heterogeneo, inter-relacionado y llega a
ser mucho mas confiable ya que no solo analiza peque
nas
muestras, Big Data forma grandes redes de informaci
on heterogeneas, con la que la informaci
on de redundancia puede
ser explorado para compensar la falta de datos, cotejar los
casos conflictivos, para validar las relaciones de confianza, de
revelar agrupaciones inherentes, y para descubrir relaciones
y modelos ocultos.
4.
Interpretacin
Tener la capacidad de analizar grandes vol
umenes de datos
tiene un valor limitado si los usuarios no pueden entender o
interpretar los resultados obtenidos, por lo general , se trata
de examinar todas las suposiciones hechas y volver sobre
el an
alisis para poder entender mas el camino o decisi
on
a tomar, por otra parte, como hemos visto anteriormente,
los sistemas solo pueden ayudarnos a obtener resultados, la
interpretaci
on de los mismos y la decisi
on a tomar en base a
estos debe ser tomado con mucha responsabilidad, es por eso
que big data se apoya en otra tecnologa como la de business
intelligence, para poder interpretar los resultados obtenidos
y tomar buenas decisiones.
BigData_Pipeline.png
5.
Adquisicin
La informaci
on es generada por diferentes medios, actualmente el termino Internet of Things es utilizado con frecuencia para inferir que cada sistema por peque
no que sea
Herramientas Actuales:
Que es NoSQL?
3
Map Reduce
Modelo de programaci
on funcional en paralelo dise
nado para
escalabilidad y tolerancia a fallos en grandes sistemas de
commodity hardware:
MapReduce es un framework que proporciona un sistema de
procesamiento de datos paralelo y distribuido. Su nombre
se debe a las funciones principales que son Map y Reduce,
las cuales explicaremos a continuaci
on. MapReduce est
a
pensado para la soluci
on pr
actica de algunos problemas que
pueden ser paralelizados, pero se ha de tener en cuenta que
no todos los problemas pueden resolverse eficientemente con
MapReduce. MapReduce est
a orientado a resolver problemas con conjuntos de datos de gran tama
no, por lo que
utiliza el sistema de archivos distribuido HDFS.
La funci
on Map recibe como par
ametros un par de (clave,
valor) y devuelve una lista de pares. Esta funci
on se encarga
del mapeo y se aplica a cada elemento de la entrada de datos,
por lo que se obtendr
a una lista de pares por cada llamada
a la funci
on Map. Despues se agrupan todos los pares con la
misma clave de todas las listas, creando un grupo por cada
una de las diferentes claves generadas. No hay requisito de
que el tipo de datos para la entrada coincida con la salida y
no es necesario que las claves de salida sean u
nicas.
Map (clave1, valor1) > lista (clave2, valor2)
La funci
on Reduce se aplica en paralelo para cada grupo
creado por la funci
on Map().La funci
on Reduce se llama una
vez para cada clave u
nica de la salida de la funci
on Map.
Junto con esta clave, se pasa una lista de todos los valores
asociados con la clave para que pueda realizar alguna fusi
on
para producir un conjunto m
as peque
no de los valores.
Introduccin a MongoDB
Escrito en C++, lo cual nos provee cierto tipo de semejanza al (baremetal), es un sistema de base de datos multiplataforma orientado a documentos, lo que significa que
cada entrada puede tener un esquema ( columnas, tablas)
diferente, licenciado como GNU AGPL 3.0 (licencia libre)
y soportada por los sistemas operativos Windows, Solaris y
Linux.
En MongoDB, cada registro o conjunto de datos se denomina documento. Los documentos se pueden agrupar en colecciones, las cuales se podra decir que son el equivalente a las
tablas en una base de datos relacional (s
olo que las colecciones pueden almacenar documentos con muy diferentes
formatos, en lugar de estar sometidos a un esquema fijo).
Se pueden crear ndices para algunos atributos de los documentos, de modo que MongoDB mantendr
a una estructura
interna eficiente para el acceso a la informaci
on por los contenidos de estos atributos.
Los distintos documentos se almacenan en formato BSON,
o Binary JSON, que es una versi
on modificada de JSON
que permite b
usquedas r
apidas de datos. Para hacernos una
idea, BSON guarda de forma explcita las longitudes de los
campos, los ndices de los arrays, y dem
as informaci
on u
til
para el escaneo de datos. Es por esto que, en algunos casos,
el mismo documento en BSON ocupa un poco m
as de espacio de lo que ocupara de estar almacenado directamente
en formato JSON. Pero una de las ideas claves en los sistemas NoSQL es que el almacenamiento es barato, y es mejor
aprovecharlo si as se introduce un considerable incremento
en la velocidad de localizaci
on de informaci
on dentro de un
documento.
Sin embargo, en la pr
actica, nunca veremos el formato en
que verdaderamente se almacenan los datos, y trabajaremos
siempre sobre un documento en JSON tanto al almacenar
como al consultar informaci
on. Un ejemplo de un documento en MongoDB podra ser perfectamente este: [10]
MongoDB
MongoDB, nombrado del termino humongous que significa extremadamente enorme, es un sistema escalable de
alto rendimiento de base de datos NoSQL, provee alta disponibilidad y f
acil escalabilidad a traves de replicacion, sharding
ademas de utilizar NoSQL, que soporta una amplia variedad
de tecnologas de bases de datos, a continuaci
on describiremos mas acerca de MongoDB:
Arquitectura MongoDB
5
Conclusiones MongoDB
Debido a la f
acil instalaci
on, estructura simple de entender
ademas de que se basa en NoSQL y es flexible con la escalabilidad, MongoDB 10Gen es una de las soluciones recomendadas, cuenta con 2 versiones MOngoDB con subscripcion la cual provee soporte de la empresa creadora de
MongoDB 10Gen y la version Community que es Open
Source y no provee soporte. Informaci
on acerca de Mongo:
http://www.mongodb.org/
Riak
Delayed members: En estas instancias se aplican los cambios con un retardo(delayed), ideales para protegerlas de errores humanos, o cambios inesperados que pueden provocar
una perdida de efectividad del servicio.
Disponibilidad:
Tolerante a fallas:
Utilizando MongoDB
Simplicidad Operacional:
Escalabilidad:
Riak autom
aticamente distribuye los datos en todo el cluster
y obtiene un rendimiento casi lineal en cuanto se agrega mas
capacidad a los nodos (RAM, Almacenamiento).
6
Arquitectura Riak
Conclusiones Riak
Hay que tener presente que Riak es una muy buena base
de datos, que fundamenta sus potencias en la posibilidad de
contar con un cluster, lecturas r
apidas con cache, y b
usquedas
artificiosas con MapReduce, pero puede haber otros usos
en los que las consultas de modificaci
on y eliminaci
on masivas sean lo m
as importante y esto ya sera mejor abarcarlo con otra base de datos de otro tipo. Mas detalles:
http://basho.com/riak/
Cloudera
Cloudera es una empresa que propone una soluci
on big data
basada en hadoop, actualmente una soluci
on muy popular
por el soporte que existe para hadoop al ser 100 % open
source, aunque cloudera como tal se apoya en hadoop el
producto que ofrece no es open source, esta esta dividida en
cloudera standard y cloudera enterprise la ultima requiere
de licencias.
Cloudera es una soluci
on que emplea mas de una tecnologa,
basada en lo que es Hadoop, CDH, HDFS, MapReduce,
HBase, Impala, cada una con diferentes funciones pero cuando
estas se integran en una sola soluci
on trabajando como un
todo conforman lo que es la soluci
on Big Data mas recomendable al momento y mas completa viene en dos versiones:
Cloudera Standard y Cloudera Enterprise.
Arquitectura Cloudera
Para entender la arquitectura Cloudera debemos dar un
equeno repaso a las tecnologias con las que cuenta: CDH,
(Distribuci
on de Cloudera Hadoop Apache Incluido)es la
distribuci
on m
as completa, probada y ampliamente implementada del mundo de Apache Hadoop. CDH es de c
odigo
abierto 100 % y es la soluci
on Hadoop s
olo para ofrecer el
procesamiento por lotes, SQL interactivo y b
usqueda interactiva, as como a nivel empresarial disponibilidad continua.
M
as empresas se han descargado CDH que todas las dem
as
distribuciones combinadas. HDFS, el sistema de archivos
distribuido Hadoop (HDFS) por sus siglas en ingles,es tolerante a fallos, provee la auto-sanaci
on del sistema de archivos
distribuido dise
nado para transformar un cluster de servidores est
andar de la industria en una piscina masivamente
escalable de almacenamiento. Desarrollado especficamente
para cargas de trabajo de procesamiento de datos a gran escala, donde la escalabilidad, la flexibilidad y el rendimiento
son crticos, HDFS acepta datos en cualquier formato, independientemente del esquema, optimiza el streaming de
alto trafico ende datos, y se escala para implementaciones
probadas de 100pb (petabyes) y m
as all
a.
Cada partici
on es una unidad de disco que contendr
a 8 vnodos, la replicacion es manejada de acuerdo a la configuraci
on de RIAK, el usuario decide cuantos v-nodos ser
an de
replicas, todos los nodos tienen conexi
on y est
an al tanto del
estado del otro nodo, cuando uno de estos falla, el nodo o
los nodos adyacentes mas cercanos tomaran su lugar y ejecutaran su trabajo, este sera normalizado una vez se haya
reparado o cambiado el nodo cado, cuando un v-nodo falla
los nodos.
Utilizando Riak
Riak viene con dos versiones, Riak Enterprise y Riak Open
Source, la cantidad mnima de nodos que puede tener un
deployment de RIAK es de 3 nodos los cuales conformaran
un mnimo de 256 v-nodos.
REFERENCES
Utilizando Cloudera
Cloudera asigna roles a sus istancias miembros de su cluster,
los cuales tienen una funcion especifica, los roles son: Manager, Storage y Process.. cada uno con diferentes acciones
y funciones a realizar dentro del cluster de Cloudera. Manager, es el nodo que se encarga de administrar que la informaci
on sea almacenada en los nodos de storage y procesada
en los nodos Process, un cluster tiene que tener un nodo
manager y un nodo process o Storage como mnimo.
Ambas versiones de Cloudera llevan las tecnologas CDH,
Impala, Zookeper, HBase, Hive, cloudera Entreprise tambien provee soporte 24x7 u 8x5
Conclusiones Cloudera
Cloudera es una de las soluciones mas completas y actuales
que proveen mas escalabilidad, mejor performance y procesamiento de datos por manejar instancias con roles diferentes
6.
REFERENCIAS