La tecnologia darrera del Big Data

  • Mario Macías
07/10/2014

La tecnologia darrera del Big Data

El passat 9 de setembre en Mario Macías va fer una didàctica presentació sobre el funcionament del Big Data dins del marc del cicle de “Tertúlies: Recerca i Big Data” a l’Estació Beta de Big Bang Data. A continuació podeu llegir una resenya de l’activitat:

Els 6 desafiaments del Big Data

“Big Data” és un concepte de moda, i per tant, de vegades es fa servir sense conèixer bé el seu significat. Aquesta va ser la premisa des de la que va començar la presentació de Mario Macías, professor de la UPC i investigador del Supercomputer Center de Barcelona.

No obstant, abans d’entrar en matèria i a petició d’Olga Subirós, comissària de l’exposició, en Mario va explicar la diferència que existeix entre un data center i un supercomputador. En principi -va aclarir- un i altre no son gaire diferents, més enllà de que en el segon cas els ordinadors són més compactes i potents. Tanmateix, on resideix la diferència fonamental és a la finalitat: en un datacenter l’objectiu és proporcionar un servei d’enmagatzematge, i en un supercomputador el que es busca principalment és tractar dades.

Abans del Big Data, el gran ‘trend’ va ser el Cloud, servei que va perdre força enfront al poder de les dades tot i quedar-hi íntimament relacionat. Però què és exactament el Big Data? N’hi ha prou amb que hi hagin enormes paquets de dades? Per responre aquesta pregunta, en Mario Macías va posar l’exemple d’una biblioteca. Aquestes instal·lacions ordenen els seus recursos segons la integritat referencial, és a dir, cada referència es correspon amb un llibre que està classificat i col·locat a la prestatgeria en funció d’uns números i unes lletres. El paper del bibliotecari en aquesta classificació es crucial.

Si un bibliotecari rep cinc llibres al dia no tindrà problema per classificar-los, però què passa si en reb cent? Estem enfront d’un cas de Big Data? Dependrà del temps que tingui per a endreçar aquests llibre. Si disposa d’una setmana no serà cap problema, però si que ho serà si comença a rebre la mateixa quantitat de llibres cada dia: en aquest cas no donarà abast. La solució a aquest problema podria ser duplicar o triplicar la quantitat de bibliotecaris per a que classifiquessin els llibres. En el mon de les dades, a posar més recursos per a processar més informació se l’anomena paralelisme.

Però això no garanteix la solució: quan es gestionen grans quantitats d’informació, arriba un moment que per més recursos que es dediquin a classificar, la informació no es pot arribar a organitzar. Tenim masses dades i es genera un coll d’ampolla, o dit segons la terminologia adient: s’arriba al límit d’escalabilitat, i per més recursos que es posin no es podran processar les dades més ràpidament.

És aquí quan la quantitat de dades es torna un desafiament, quan es parla de Big Data, o dit segons les paraules d’en Mario Macías: “Tenemos un problema de Big Data cuando el tamaño de los datos es un problema”. Però, què passa quan la quantitat de dades que arriben es tan gran que no es pot processar? Doncs que es crea una “caixa de sorra” o un “abocador de dades”. És el que passa de vegades amb totes les dades que arriben de les xarxes socials, agregadors de notícies, open data, smart cities o dispositius mòbils, entre d’altres.

Però el problema no només el la quantitat de dades, sinó també com estan aquestes dades. Per a classificar els llibres en una biblioteca, es creen fitxers amb una sèrie de metadades (autor, títol, editorial, any, etc.). Aquestes dades estan estructurades, i per tant son fàcils de processar. Les dades provenents de l’ecosistema digital, en la majoria de casos arriben de manera desestructurada (videos, fotos, sons, articles, etc). Aquesta informació no segueix estructures concretes i fàcils d’entendre per un ordinador, i el mateix succeeix, per exemple, amb els llibres digitalitzats. També son difícils d’entendre per les màquines.

Es per això que s’estàn fent molts esfoços per a extreure informació de les dades desestructurades a través del machine learning, software de reconeixement de veu o d’imatges, etcétera.

De manera resumida, per al Mario Macías un fenòmen pot ser considerat com Big Data si ha d’enfrontar aquests sis desafiaments:

1.Moltes dades
2.Limitacions de temps
3.Limitacions d’escalabilitat
4.Diverses fonts
5.Desestructuració
6.Multidisciplinarietat

CPUs i algoritmes: el processament del Bid Data

Feta aquesa introducció, el ponent va passar a exposar, d’una manera molt senzilla, el procés tècnic que implica el Big Data. Perquè moltes dades necessiten molts ordinadors, però, com fer per a que tots aquests recursos treballin alhora en un problema conjunt?

Per a gestionar paquets de dades massives, a nivell informàtic el primer que es necessita és un sistema de fitxers. De la mateixa manera que els nostres ordinadors guarden diferents tipus d’arxius d’una manera diferent (txt, jpg, mp3), cada tipus de dada també es guardarà d’una manera particular. Ara, hi ha vegades que els arxius que arriben son massa grans per a entrar en un sol ordinador. En aquests casos, es fa servir un sistema de fitxers distribuïts: es creens molts discs durs i un sistema que divideixi aquests arxius tant grans per a poder enmagatzemar-los a diferents llocs.

Un cop les dades estan guardades, es necessita un model de programació per a tractar-les. Tot i que n’hi ha molts, en Mario Macías va posar l’exemple partint de Map reduce. El model de programació és la manera en la que li diem als processador quins fitxers buscar i de quina manera fer-ho. Els passos son elsegons les plataformes de blog). Finalment tindrem una taula que es pot representar o visualitzar de diferents maneres.

Aquests passos poden posar-se a funcionar una vegada per aconseguir una informació concreta (estàtica), o crear un cicle o fluxe de recollida, processament i reducció de dades on s següents:

1.Paralelitzar: es divideix el total de treball que s’ha de fer entre els processadors
2.Mapejar: cada processador buscarà el tipus de dades requerides (per exemple, quantes vegades surt la paraula “big data” en els blogs europeus entre 2008 i 2014). Cada processador buscarà aquesta informació en un paquet diferent de dades i generarà una taula. El resultat serà un conjunt de taules amb diferents tipus d’informació, que s’ha d’homogeneitzar i resumir
3.Reduïr: un cop generades les dades es posen a treballar més CPUs per a agregar i consolidar les dades (seguint amb l’exemple, faria una taula que ordenaria la quantitat de vegades que s’ha escrit Big Data per anys i països europeus). Un cop reduïdes les dades, poden tornar a reduïr-se per poder aconseguir una informació encara més acurada (per exemple, veure la quantitat de vegades que s’escriu Big Data, també sempre s’estarà generant informació (dinàmica). Per a que tot això sigui possible cal tenir un “scheduler” o planificador, un programa que coordina els recursos, i atenent als que estan lliures els diu quan han de començar a fer les seves respectives feines.

Finalment, sobre el model de programació es posa una capa d’abstracció, una interfície que fa més fàcil la gestió d’aquests processos.

Si vols aprofundir en aquest tema, Mario Macías, el ponent de la tertúlia “La tecnologia darrera del Big Data” és autor del llibre Del Bit a la Nube.

Deixa una resposta