10. Agenda
1. Quina és la tendència de les dades?
2. Què és el Big Data?
3. Quins són els reptes del Big Data?
4. Emmagatzematge massiu
5. Processament distribuït
6. Pràctica de Big Data
34. Què és Big Data?
"Big data is high-volume, high-velocity and
high-variety information assets that demand
cost-effective, innovative forms of information
processing for enhanced insight and decision
making."
Gartner, 2012
37. Varietat
Les dades han passat de ser estructurades a
ser semi-estructurades o completament
desestructurades:
● Estructurades: BDRM, Taules
● Desesctruturades: Text, Imatges, Vídeo
● Semi-estructurades: XML, JSON
Tendència: 10% estructurat - 90% desestructurat
38. Velocitat
1. Tenim una alta velocitat de generació de
dades (Streaming Data)
2. i necessitem una alta velocitat de resposta
per processar-les.
40. Quins són els seus reptes?
Emmagatzematge
Massiu
i
Processat Distribuït
41. Teorema CAP (Brewer's theorem)
El teorema diu que és impossible per un
sistema distribuït oferir simultàniament ninguna
de les tres propietats següents:
● Consistència: tots els nodes amb la mateixa informació
al mateix temps.
● Availability: una garantia de què cada Request rebrà
un Response si s'ha realitzat bé o no.
● Partició o Tolerància a l'error: el sistema continua
operant encara que hi hagi una caiguda del sistema o
pèrdua de missatges.
Quins són els seus reptes?
46. Bases de Dades Relacionals
● Dades estructurades en taules utilitzant
columnes per cada atribut.
● Relacions amb altres taules utilitzant claus
de referència
● Esquema i Normalització
● SQL llenguatge query
47.
48. Beneficis de les RDBMS
Standarització SQL
Transacionabilitat (ACID)
● Atomicitat: Una transacció o bé finalitza correctament i
confirma o bé no deixa cap rastre de la seva execució.
● Consistència: La concurrència de transaccions no pot
produir resultats anòmals.
● AÏllament (o Isolament): Cada transacció del sistema
s'ha d'executar com si fos l'única que s'executa en
aquell moment en el sistema.
● Definitivitat: Si es confirma una transacció, el resultat
d'aquesta ha de ser definitiu i no es pot perdre.
52. Clau Valor
● Model de dades: Parells de Claus i Valor
{ Clau : Valor }
● Basat en Amazon Dynamo paper
● Focus en la escalabilitat
Dynamo: Amazon’s Highly Available Key-value Store
http://www.read.seas.harvard.edu/~kohler/class/cs239-w08/decandia07dynamo.pdf
54. Basats en documents
● Model de Dades: Clauç/Valor on el Valor
són documents JSON o BSON
{teachers: [
{ name : "Marc" , surname : "Pous"},
{ name : "Marc" , surname : "Planagumà"}
] }
● Basat en Lotus Notes
● Sense esquema
56. Basats en columnes
● Model de Dades: Dades en
columnes amb índex i
timestamp.
● Basat en el paper de 2004
de la Google BigTable
● Sense esquema
i1 i2 i3 i4
ts ts ts ts
1 0 0 0
0 1 0 0
1 1 1 0
0 0 1 1
1 1 0 1
1 1 0
0 1
1
Bigtable: A Distributed Storage System for Structured Data
http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/es//archive/bigtable-osdi06.pdf
60. Ho podem tenir tot?
● Rendiment
● Disponibilitat
● Exactitud
● Seguretat
● SQL
61. Com es fan les queries?
● APIs: REST, Thrift, Avro
● Sintaxis pròpies
● GQL - SQL-like per BigTable
● SPARQL - llenguatge query semàntic web
● Gremlin o Cypher - llenguatge per grafs
70. Què és el Map Reduce?
Model de programació introduït per Google als
voltants del 2000 per adaptar-se a la
computació distribuïda que permeten els
clústers d'ordinadors.
MapReduce: Simplied Data Processing on Large Clusters
http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/es//archive/mapreduce-osdi04.pdf
71. Què és el Map Reduce?
Volem executar una query sobre un dataset
molt gran.
1. Dividim aquest conjunt total de dades en
moltes parts.
2. Executem en paral·lel el processat en vàries
màquines.
3. Agreguem els resultats i els tornem.
72. Què és el Map Reduce?
2 fases:
● Map: les dades d'entrada són processades
una a una i transformades en un dataset
provisional de clau/valor.
● Reduce: aquestes dades preparades pel
map són operades donant com a resultat un
nou dataset clau/valor amb els resultats.
83. Pràctica de Big Data
Combinació de la part teòrica amb 1 pràctica:
Escolliu un problema que us agradaria resoldre.
Penseu quines dades existeixen públiques o si tindríeu
accés a les dades.
● Xarxa de transport públic
● El vostre ADN
● Les vostres pel·lícules preferides
● Sensors i actuadors
● Les lleis del país
● ...
84. Pràctica de Big Data
● Existeixen altres fonts de dades interessants
associades a les dades que tenim?
● Quin tipus de dades són? Són grans volums de dades?
Com s’haurien d’estructurar?
● Com adquiriu les dades? En temps real? Cada hora?
Cada dia?
● Quines consultes haureu de fer sobre les vostres
dades?
● Quins requisits CAP teniu?
A quin problema ens enfrontem? Quina
seria la millor estructura de dades per
resoldre el problema?