big data basics
DESCRIPTION
big dataTRANSCRIPT
Big
Data
By: Victor Ascue Morales
Outline
•Introducción: La revolución de los Datos•¿Y cómo exploto toda esta información?: Apache Hadoop
Para alcanzar a comprender lo que es big data, empecemos por las bases:
el bit es la unidad mínima de almacenamiento
La revolucion de los datos
bit
1 bit = 0.0000000012 m = 12 atomosposibles valores 0 1En 1cm2 se pueden llegar a meter 1.5 Tb1cm2 = 12,000,000,000,000 bits
nibble
1 nibble = 4 bits16 combinacionesSe usa para representar un carácter hexadecimal
byte
1 byte = 8 bits256 combinacionesEs posible expresar cualquier carácter alfabético en un byte.Hagan la prueba guardando un archivo de texto con una sola letra. Pesará 1 byte.ASCII, UTF-8
Palabra
Depende del procesador¿Y eso para qué sirve?El procesador solo procesa palabras enteras, es decir por cada ciclo de reloj desplaza esa información.
Más allá del kilo, mega, giga, tera ...
Claro que hay más allá del Tera, y es importante que alguien que trabaje con Big Data no se asuste de escuchar unidades estratosféricas ... kilo 1x103
mega 1x106
giga 1x109
tera 1x1012
¿Cuales siguen?
peta 1x1015
exa 1x1018
zetta 1x1021
yotta 1x1024
xona o hella ("hell of a lot [of],") 1x1027
weka 1x1030
vunda 1x1033
uda 1x1036
treda 1x1039
y siguen ...
sorta 1x1042
rinta 1x1045
quexa 1x1048
pepta 1x1051
ocha 1x1054
nena 1x1057
minga 1x1060
luma 1x1063
se acabaron los nombres pero ...
continúan los numerales
Undecillion 1x1066
Undecilliarde 1x1069
Googol 1x10100
Sexvigintillion 1x10156
Zentillion 1x10600
Googolplex 1x10Googol
Googolplexplex 1x10Googolplex
Googolplexplexplex 1x10Googolplexplex
tabla
...bytes y ...bits
Es muy común confundir un GB con un Gb (ó Gbit).Si en su casa tienen conexión de 1MbpsQuiere decir que fluyen1,000,000 bits por segundo, es decir1,000,000 / 8 = 125,000 bytes por segundoPor lo que la velocidad máxima de descarga será de:125 KB/s
cifras, cifras y más cifras
Cada 5 minutos se genera 1 exabyte de datos= 1,000,000,000,000,000,000 bytes
Tendencias de la Industria
Los datos digitales crecerán 44x próxima
década
EXPLOSIÓN DE DATOS
CONSUMERIZACIÓN DE TI
NUBE PÚBLICA Y PRIIVADA
En 2015, servicios de nube pública tendrán
46% de crecimiento neto en gasto de TI
Nuevos roles:
•Big Data, Data Science y lo que nos pueden proporcionar
•Actores de mercado en Big Data: Data Scientist
•Utilidades de Big Data: personalizacion, customer behaviour, market intelligence
¿Qué es Big Data?
•Big data Consists of datasets that grow so large that they become awkward to work with using on-hand DB Management tools.
•Wikipedia
Big data is when the size of the data itself becomes part of the problem
Mike Lukides, O’Reilly Radar
It’s not just your “Big Data” problems, it’s all about your BIG “data” Problems.Alexander Stojanovic, Hadoop Manager on Win
Azure
Las 4 V’s
Volumen
Velocidad
Variedad
Variabilidad
Ejemplos de Big Data12 Tbdía
21 PbHadoopcluster
7 Pbmes
1 Tbtweets/dia
75 Millionscores/day
14 TbHadoopcluster
4 BillionGraph edg/day
7 Tbdatos/dia
¡ El GRAN acelerador de Hadrones !
Por muchos considerado el mayor invento de la humanidad, “el que podría ocasionar que el universo se colapse” ….la particula de Dios...Genera ya por todos sus sensores500 exabytes diarios de información= 500,000,000,000,000,000,000 bytes
¿Y los gobiernos ? ….
El gobierno de Estados Unidos almacena la información de todos sus ciudadanos en el NSA (National Security Agency) de Utah en un data center con una capacidad de 5 Zettabytes= 5,000,000,000,000,000,000,000 bytes
y.... ¿los negocios?
y.... ¿Qué hacemos con tanta información?
Minarla ….Así como los mineros encuentran piedras preciosas entre taaanta tierra, en el caso de los datos es lo mismo, intentar encontrar patrones que ayuden a tomar decisiones es un arte….
y…. ¿Cómo empezamos?
Bueno primero es importante tener espacio de almacenamiento. Recuerda que no todas las computadoras soportan discos duros de más de 2TB.El MBR (Master Boot Record) tiene un límite de 2TB y se necesita usar GPT (GUID Partition Table) y debe soportar un tipo de BIOS llamado UEFI (Unified Extensible Firmware Interface).
y… ¿Cuánta información necesito?
No hay un mínimo de tamaño, bases de datos de Megas, Gigas, Teras, etc pueden ser evaluadas con herramientas de Big Data.
y… ¿Qué se usa?
Las bases de datos tradicionales tienen algunos límites, por ejemplo:MySQL soporta hasta 4GB en discos duros FAT o hasta 2TB en discos duros Windows NTFS, Linux ext3 y Mac HFS+Por lo que se usan herramientas especiales.
y… ¿Cuáles sí soportan?
Los más grandes del mercado son estos, pero existen alternativas Open Source como por ejemplo Hadoop o Cassandra.
Bases de datos que usan las grandes empresas
Facebook: RocksDBAmazon: DynamoGoogle: BigTableFoursquare: MongoDBTwitter: CassandraWikipedia: MariaDBEbay: BerkeleyDBYahoo: OracleMicrosoft: SQL Server
Tecnologías de Big Data
Bases de datos relacionales
Permiten establecer interconexiones (relaciones) entre los datos (que están guardados en tablas), y a través de dichas conexiones relacionar los datos de ambas tablas
Tecnologías de Big Data
Bases de datos no relacionales
Los datos almacenados no requieren estructuras fijas como tablas, no garantizan completamente ACID (atomicidad, coherencia, aislamiento y durabilidad), y habitualmente escalan bien horizontalmente.
Tecnologías de Big Data
NewSQL
Nace en el 2011 y trata de conseguir el mismo rendimiento escalable de sistemas no relacionales para el procesamiento de transacciones en línea y garantiza el ACID de un sistema de base de datos tradicional
Tecnologías de Big Data
NoSQL
No usan SQL como el principal lenguaje de consultas. Las principales compañías de Internet se dieron cuenta que el rendimiento era más importantes que cuidar la coherencia.
Tecnologías de Big Data
Key Value
Relacionan una llave con un valor, este es el principio fundamental que logra que consultas se ejecuten instantáneamente en bases de datos de muy muy alta escala. Buscar en bases de datos de quintillones de registros es instantáneo gracias a esto.
Funcionan mediante arreglos
En la programación hay una estructura de datos muy común que se llaman arreglos, que consiste en guardar varios valores en una variable y se mandan llamar por su posición.
Ejemplo de un arreglo
var arreglo = [];arreglo[0] = “Hola”;arreglo[1] = “Amiga”;arreglo[2] = “Sentada”;arreglo[3] = “Atrás”;
Extraigamos información
Si requerimos en valor de la casilla 1 hacemos lo siguiente:
arreglo[1]
Y nos devuelve “Amiga”
Pasa lo mismo con textos
Pero se le suelen llamar mapas (éste es la base de Big Data).var mapa = {};mapa[“que”] = “Adios”;mapa[“mal”] = “Amigo”;mapa[“ejem”] = “Dormido”;mapa[“plo”] = “Adelante”;
Mandamos traer un registro
Si queremos traer el valor de la posición “ejem” entonces sería así:
mapa[“ejem”]
Y nos devolverá:
“Dormido”
¿Qué es lo que hace?
Inmediatamente ubica la posición de memoria ya sea dependiendo de la posición o trae el registro directamente de una tabla de Hash que genera internamente, lo que lo hace instantaneo y no necesita “buscar”, solo lo trae.
Podemos guardar una tabla
Ahora podemos hacer estovar tabla = {}tabla[“user1”] = {nombre:”Anastasio”,edad:120};tabla[“user2”] = {nombre:”Basaltar”,edad:135};tabla[“user3”] = {nombre:”Malechor”,edad:165};tabla[“user4”] = {nombre:”Matusalen”,edad:15};
Y mandarla traer
Si queremos traer la información de “user2” lo llamamos así tabla[“user2”]y nos trae sus datos{nombre:”Basaltar”,edad:135}
O pedir algunos datos
O podemos pedir solo algún datotabla[“user2”][“nombre”]
Y regresa:Basaltar
Así de sencillo funciona Big Data
De esta manera es como funciona el “Map - Reduce” que es la base de Big Data.
Cuando profundizen en el tema veran que hablan mucho de ello, eso que explicamos es lo que es.
BigTable
Como mencionamos, las grandes empresas como Google necesitan velocidad en sus búsquedas y no podían perder tiempo buscando en miles de tablas, por lo que todo lo pusieron en una sola, con miles y miles de columnas, de ahí nació BigTable.Esta “tabla gigante” no tiene porque estar en una sola computadora, puede estar distribuida en una granja de servidores.
¿Todo en una tabla?
Y la entidad relacion? Que paso? Se rompe con los conceptos de normalización ya que la misma información se repite muuuchas veces? Es esto posible?Si.Pero recuerden que en BigData no importa que tanto espacio ocupan las tablas, lo importante es que sea instantáneo. Es decir lo que prevalece la busqueda..
Ejemplouser_id user_name bank_name bank_cash group_name faculty_name
dsf5ds6fds Fracasio BCP 1 teacher FICS
dsf678sd6f Germayoni Scotia 244 teacher FACC
d6s6fs7df6 Delfino Interbank 44 student FCM
sdf6s78f6s Ruperto Nacion 2 student FCE
Hagamos una consulta
Las búsquedas son por llave valor, ejemplo{user_id:”dsf678sd6f”}
Y nos regresa:[{user_id:”dsf678sd6f”,user_name:”Germayoni”,bank_name:”Scotia”,bank_cash:”244”,group_name:”teacher”,school_name:”FACC”}]
Ahora por otro registro
Las búsquedas son por llave valor, ejemplo{group_name:”teacher”}
Y nos regresa 2 registros:[{user_id:”dsf5ds6fds”,user_name:”Fracasio”,bank_name:”BCP”,bank_cash:”1”,group_name:”teacher”,school_name:”FICS”},{user_id:”dsf678sd6f”,user_name:”Germayoni”,bank_name:”Scotia”,bank_cash:”244”,group_name:”teacher”,school_name:”FACC”}]
MongoDB
Cuenta con una versión estable desde el 2011. Es una de las principales plataformas usadas para Big Data debido a la escalabilidad, el uso de NoSQL y el eficiente uso de llave-valor. Es gratuita y de código abierto.
Funciona exactamente como el ejemplo
Hagamos el ejemplo en mongodb.table.find({user_id:”dsf678sd6f”})
Y nos regresa exactamente lo mismo[{user_id:”dsf678sd6f”,user_name:”Germayoni”,bank_name:”Benemex”,bank_cash:”244”,group_name:”teacher”,school_name:”UNEM”}]
Cómo probarlo
Puedes descargar bases de datos públicas muy muy grandes desde aquíhttp://www.valleyprogramming.com/blog/big-data-datasets-large-examples-boulder-colorado-hadoop-mongodb
Prueba BigQuery de Google
BigQuery es una herramienta relacional de gran escala que la puedes probar fácilmente con bases de datos ya cargadashttps://developers.google.com/bigquery/
Prueba on line Hadoop
http://www.cloudera.com/content/cloudera/en/downloads.html