Big Data กับการจัดการด้านสุขภาพ · 2019. 7. 8. · ชีวิตในยุค Big data เทคโนโลยีที่สวมใส่ได้
Big data para principiantes
-
Upload
carlos-toxtli -
Category
Software
-
view
4.928 -
download
3
Transcript of Big data para principiantes
PARA PRINCIPIANTES
Presentación
Carlos Toxtli Hernández
14 años de experiencia
Desarrollador multiplataforma
Empecemos desde cero … y uno ….
Para alcanzar a comprender lo que es big data, empecemos por las bases, el bit es la unidad mínima de almacenamiento
bit
1 bit = 0.0000000012 m = 12 atomos
posibles valores 0 1
En 1cm2 se pueden llegar a meter 1.5 Tb
1cm2 = 12,000,000,000,000 bits
nibble
1 nibble = 4 bits
16 combinaciones
Se usa para representar un
carácter hexadecimal
byte
1 byte = 8 bits
256 combinaciones
Es 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
WORD
Depende del procesador
En un procesador de 32 bits es de 32 bits …
en uno de 64 … es deeeee …….
¿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?
ok, si le atinaron
peta 1x1015
exa 1x1018
zetta 1x1021
yotta 1x1024
xona o hella ("hell of a lot [of],") 1x1027
weka 1x1030
vunda1x1033
uda 1x1036
treda 1x1039
y siguen ...
sorta 1x1042
rinta 1x1045
quexa1x1048
pepta 1x1051
ocha 1x1054
nena 1x1057
minga1x1060
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
Googolplexplexplexplex … ¿Cuánto es?
Y ahora ...
Googolplexplexplexplexplex … ???
malas noticias ...
Pero … ¿ Qué creen ?
En todo el universo sólo hay
El número de átomos de todo el universo es de 1082 por lo que no es necesario que se aprendan lo del Googol :)
y jugando un rato ...
Si 12 átomos pueden almacenar un bit, entonces todo el universo tiene una capacidad de …
8.3 x 1018 lumabits ó
8.3 x 10-19 googolbits
Aunque bueno ese dato no nos sirve de nada :’(
Ahora una prueba ...
1 kilobyte es igual a …
a) 1024 bytes
b) 1000 bytes
c) 1234 bytes :)
¡ Acertaron !
1 kilobyte = 1000 bytes
No hay que confundir los ...bytes con los ...bibytes
Los términos ...byte son potencias de 10
Los términos ...bibyte son potencias de 2
Además de que su nombre es distinto.
1 kilobyte = 1 KB = 1 x 103 = 1000 bytes
1 kibibyte = 1 KiB = 1 x 210 = 1024 bytes
...bytes y ...bibytes
tablita
...bytes y ...bits
Es muy común confundir un GB con un Gb (ó Gbit).
Si en su casa tienen conexión de 1Mbps
Quiere decir que fluyen
1,000,000 bits por segundo, es decir
1,000,000 / 8 = 125,000 bytes por segundo
Por 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
¡ El GRAN acelerador de Hadrones !
Por muchos considerado el mayor invento de la humanidad, “el que podría ocasionar que el universo se colapse” ….
Genera ya por todos sus sensores
500 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.... ¿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….
Precisamente esta charla es para iniciar a los simples mortales en el Big Data, y que se dieran cuenta del poder que tiene.
y…. ¿Qué hay para los simples mortales?
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: RocksDB
Amazon: Dynamo
Google: BigTable
Foursquare: MongoDB
Twitter: Cassandra
Wikipedia: MariaDB
Ebay: BerkeleyDB
Yahoo: Oracle
Microsoft: 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 esto
var 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 dato
tabla[“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 tablota no tiene porque estar en una sola computadora, puede estar distribuida en una granja de servidores.
Uy ¿Todo en una tabla?
Muchos profesores de Bases de datos tradicionales me bajarían del escenario porque rompe con los conceptos de normalización ya que la misma información se repite muuuchas veces.
Pero recuerden que en BigData no importa que tanto espacio ocupan las tablas, lo importante es que sea instantáneo.
Ejemplo
user_id user_name bank_name bank_cash group_name school_name
dsf5ds6fds Fracasio Banarte 1 teacher ITASM
sdfsdf7678 Arnolfo Benemex 40 student UNEM
879s7dfsd Juanelo Banarte 20 student UNEM
hjgsdf653a Petronilo Banarte 100 student ITASM
6sdf58sd5f Proculo Scotte 250 staff ITASM
75dsfsdfs7 Agapito Benemex 80 student UNEM
sdfsd76sf5 Panfilo Scotte 133 student ITASM
dsf678sd6f Germayoni Benemex 244 teacher UNEM
usdf8sf6s8f Anivdelarev Scotte 412 staff UNEM
d6s6fs7df6 Delfino Benemex 44 student ITASM
sdf6s78f6s Ruperto Scotte 2 student UNEM
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:”Benemex”,bank_cash:”244”,group_name:”teacher”,school_name:”UNEM”}]
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:”Banarte”,bank_cash:”1”,group_name:”tea
cher”,school_name:”ITASM”},{user_id:”dsf678sd6f”,user_name:”Germayoni”,bank_name:”Benemex”,bank_cash:”244”,group_na
me:”teacher”,school_name:”UNEM”}]
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 mongo
db.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”}]
Tutorial de MongoDB
Este tutorial te guiará paso a paso en el manejo de la herramienta
http://docs.mongodb.org/manual/tutorial/getting-started/
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 cargadas
https://developers.google.com/bigquery/
Gracias
Les dejo mis datos
google.com/+CarlosToxtli
facebook.com/carlos.toxtli
La presentación la publicaré en ambas redes.