Del bit al Geopbyte, la tendència de les dades és crèixer exponencialment. Cada dia s'hi aboquen a la xarxa 2 milions de Terabytes de dades. Per posar un exemple, actualment Twitter genera més de 13 Terabytes cada dia.
Qui genera aquestes aquesta informació? Doncs tot i tothom:
- Les empreses capturen trilions de bytes d'informació sobre clients, proveidors i operacions.
- Som a l'era de la Internet de les coses, de les smart cities, del M2M (Machine to Machine) on milions de dispositius i sensors interconectats generen dades.
- Qualsevol de nosaltres, des del seu smartphone o xarxa social, fem logins, mails, tuits, cerques, fotos i vídeos digitals, posts, compres electròniques... vivim online expressant gustos, disgustos, opinions, perspectives. Per cada publicació que fem a Facebook, es generen moltes més dades de rastreig i del control.
Segons la definició de Gartner “El Big Data són actius informacionals de gran volum, velocitat i varietat, que demanden formes innovadores y efectives de processar la informació per a la presa de decisions".
Mai abans hi ha hagut tantes dades (volum), tan diverses (varietat) i que es generin tan ràpidament (velocitat). I en aquesta definició, encara falta la cuarta "V" del Big Data, el valor, perquè aquestes dades no són grans sino són útils.
Reptes del Big Data
Emmagatzemament, processament, cerca, compartició, indexació o visualització, entre altres, en Big data tot adquireix una altra dimensió. Els gestors de Bases de Dades convencionals ja no ens serveixen, ens calen centenars o milers de servidors executant software de processat massiu i en paral·lel,.... no hi ha dubte que el treball amb aquestes grans quantitats de dades suposa un desafiament a les tecnologies tradicionals.
Si ens fixem en les quatre Vs:
- Volum: ¿Quan tenim un gran volum de dades? Quan aquest volum de dades no es pot tractar sense l'ajut d'eines d'anàlisis complexes.
- Varietat: Les dades han passat de ser estructurades (bases de dades relacionals, fulls de càlcul, fitxers csv…) a estar semiestructurades (XML, JSON) o totalment desestructurades (text, imatges, vídeos). Només un 20%, aproximadament de les dades, es troben emmagatzemades en sistemes tradicionals que permeten analitzar la informació de forma estructurada.
- Velocitat: Tenim una alta velocitat de generació de dades i necessitem una alta velocitat de resposta per processar-les.
- Valor: Transformar la totalitat de les dades (o el màxim numero possible) primerament en informació, i finalment en coneixement.
Solucions tecnològiques
Els sistemes d’emmagatzemament massiu i el processament distribuït (clustering) són les solucions tecnològiques que fan possible donar resposta a un problema de Big Data. A continuació, una molt breu pinzellada de cadascuna d'aquestes solucions:
Emmagatzemament massiu: Com emmagatzemar i treballar amb grans volums de dades
En aquest àmbit, cal saber que les tradicionals bases de dades relacionals amb les dades estructurades en taules, relacionades via claus, amb un determinat esquema i normalització i amb el SQL estàndard de tota la vida per fer les quèries, presenten problemes i tendeixen a no poder-se mantenir.
Hem d’anar cap a les bases de dades NoSQL (Not Only SQL) i n’hi ha de varis tipus:
- Base de dades Clau Valor
- Model de dades: Parells de Clau i Valor.
- Basades en Documents:
- Basades en Columnes:
- Primera implementació per Google (BigTable).
- Model de dades: Dades en columnes amb índex i timestamp.
- Sense esquema.
- Les més conegudes: Apache HBase, Cassandra (és la que fa servir Facebook).
- Basades en Grafs:
Les bases de dades NoSQL ens permeten rendiment, disponibilitat i exactitud però... com es fan les consultes? Doncs ens hem d’anar a sintaxis pròpies o utilitzant APIs tipus REST.
Processat distribuït: com interpretar i analitzar dades de naturalesa tan variada
Ja ho hem dit, cal repensar el processament on bàsicament el problema és l’accés a disc. Cal trobar formes per accedir als discos en paral·lel. En aquest àmbit sonen dues tecnologies:
- Paradigma MapReduce: Model de programació introduït per Google per fer el processament massiu més ràpid i més barat. Permet escriure aplicacions que processen conjunts de dades de múltiples terabytes, en paral·lel, dins clústers de milers de nodes. En comptes de fer servir un supercomputador, s’adapta a la computació distribuïda amb clústers d’ordinadors normals i heterogenis.
El programador ha d’implementar dues funcions:- Map: divideix les dades d’entrada en vàries peces claus/valor.
- Reduce: aquestes dades preparades pel map són operades donant com resultat un nou conjunt clau/valor amb els resultats.
- Tecnologia Hadoop: És una implementació OpenSource d'entorn d'execució MapReduce.
Cal aprendre a programar d’aquesta manera.
Big Data en el món universitari
El Big Data en el món en que nosaltres ens movem, l'universitari, en general ha estat principalment focalitzat en la recerca, on la necessitat de gestionar grans quantitats de dades no ha estat un problema gràcies a sistemes de supercomuptació (HPC), grid computing i ara cloud computing. És més recent, en canvi, l'aplicació en l'àmbit de l'ensenyament i l'aprenentatge, i sovint s'associa a recollir grans quantitats de dades sobre les activitats digitalitzades dels estudiants per transformar-ho en informació i produir o recomanar accions orientades a la millora dels objectius d’aprenentatge.
La TSIUC'14 (Trobada dels Serveis Informàtics de les Universitats Catalanes) tindrà lloc el 2 de desembre a la Universitat Autònoma de Barcelona, sota el lema "Reptes en Big Data a la universitat i la recerca". Segur que aleshores podrem aprofundir sobre aquest tema.