Big Data Basics

Post on 09-Dec-2015

216 views 0 download

Tags:

description

big data

transcript

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