37
y podemos, de alguna forma, utilizar para llegar a diversas conclusiones. Muchas ve- ces el interés radica en el procesamiento de estos datos en tiempo real o casi real, esto depende del problema que tengamos y de lo que se tenga que analizar. Tendremos una mayor cantidad de datos que, en muchos de los casos, serán muy variados. A diferen- cia de los sistemas que ofrecían datos más o menos procesados (como una operadora de telecomunicaciones que da una serie de datos ya agregados para interpretarlos de una forma más o menos sencilla), ahora hay muchos datos que incluso pueden estar re- petidos o tomados desde puntos distintos y con distinta relevancia, o que pueden estar falseados por el propio sistema de medición.
Podemos tener datos de cuya veracidad no podemos fi arnos demasiado. Por ejemplo, los datos de un GPS dependen de dónde estemos, la información que proporciona un GPS va cambiando dinámicamente y no siempre tiene el mismo radio de precisión.
Ahora contamos con la posibilidad de
procesar y guardar todos los datos, lo que su- pone un problema muy distinto al de las ba- ses de datos tradicionales porque aquí se rea- liza una sola escritura y luego múltiples tipos de lectura para procesarlos lo mejor que se pueda dentro de las capacidades que se tie- nen. Este fenómeno ha llevado a algunos a pensar que podemos estar ante la muerte del método científi co, y es ahora mismo uno de los grandes problemas a los que se enfren- ta el mundo científi co. Es decir, estos datos son relativamente sencillos de procesar, se pueden ajustar con una serie de polinomios y extraer unas fórmulas que sirven para un artículo científi co de un campo concreto, pero realmente no se está extrayendo cono- cimiento nuevo. Los grandes descubrimien- tos científi cos se hicieron cuando se llegó a fórmulas analíticas que analizan realmente lo que estamos observando y aportan infor- mación adicional que nos permite predecir o diseñar nuevos comportamientos, como las ecuaciones de Maxwell o cualquier otro gran avance científi co.
La relación entre los sistemas de Big Data y Cloud Computing es una oportunidad y una respuesta para los pequeños grupos de investigación, permitiéndoles acceder a herramientas que hasta ahora no estaban a su alcance.
38
FUNDACIÓN RAMÓN ARECES / NÚM. 14
Es un problema porque es una ciencia guiada por los datos en la que los científi cos investigan sobre aquellos que son más fáciles de procesar para llegar a ciertas conclusio- nes. Y puede ser que, como en las series de datos hay partes que no son tan buenas o no hay tantos datos, empecemos a tener aguje- ros en la Ciencia. Es por ello que el Big Data tiene una serie de riesgos posibles bastante grandes. De hecho, esto está pasando ahora mismo con Google y su experimento para predecir las olas de gripe en Estados Unidos en función de las búsquedas. La predicción les ha fallado en el último año, bien porque la gente se ha adaptado a los sistemas sociales o por otros motivos. Esto signifi ca que el Big Data es una herramienta más, pero no pode- mos convertirlo en el centro de la Ciencia.
Evidentemente, es muy interesante y en mu- chos campos va a ser absolutamente relevan- te y nos va a permitir tener muchos nuevos avances, pero tenemos que tener en cuenta que es muy peligroso y que algunos de los análisis nos pueden dar enfoques que no son adecuados o incluso hasta engañarnos.
Una de las características típicas que se muestran del Big Data es el volumen. Son sistemas con un gigantesco volumen de da- tos que no están perfectamente controlados, que se generan a una gran velocidad, en mu- chos casos a mayor velocidad de la que so- mos capaces de procesar, lo que nos llevará a disponer de diversos heurísticos y datos que pueden no ser totalmente veraces, o bien porque la captura tenga un cierto proble- ma o porque provengan de fuentes que por alguna cuestión no sean totalmente fi ables.
Respecto al volumen no se pueden apli- car las mismas soluciones que en Business Intelligence porque colapsan debido a ciertos problemas computacionales y a los propios algoritmos que estamos utilizando, que al estar creados para otro tipo de datos pueden afectar negativamente a nuestros resultados e impedir que sean los que realmente pode- mos llegar a tener.
Necesitamos enfoques que seamos capa-
ces de almacenar y procesar. En este senti- do, hasta ahora todas las soluciones van si- guiendo el camino que ha marcado Google, que ha creado un sistema distribuido para analizar la web que es libre de escala y, por lo tanto, el algoritmo que se planteó era el más adecuado. El sistema de Google tiene la ventaja de ser robusto y sobrevivir aunque falle cualquier tipo de los componentes.
Los sistemas de contenido peer-to-peer son más sólidos en muchos casos que algu- nos de los servicios de pago: muchos orde- nadores colaborando, dando algunas partes de sus datos con un sistema perfectamente coordinado, nos puede proporcionar en muchos casos un tipo de servicio bastante más interesante que el que podamos tener en otro tipo de sistemas. Esto representa un cambio de mentalidad en los sistemas de al- macenamiento que surgió de lo publicado por Google en 2006 en una serie de artículos científi cos en los que describían su infraes- tructura y que han permitido crear el resto.
El proyecto más importante que hay aho- ra mismo en este sentido, Hadoop, replica lo que realizó Google inicialmente para avan- zar a partir de ahí, aunque hay ya algunas voces que claman la búsqueda de un nuevo paradigma. Hadoop diseñó una gigantesca base de datos sin estructura, al contrario de lo que ocurre con las bases de datos SQL, que permite tener múltiples discos, baratos y fungibles, y al menos tres réplicas de cada elemento para evitar que, por cuestiones es- tadísticas, esta información se pierda.
Por dentro, todos utilizan los mismos sistemas que los peer-to-peer en BitTorrent o Emule y sistemas de algoritmos denomi- nados Distributed Hash Tables que permiten acceder a contenidos en función de unas claves que se generan. En lugar de ir a una parte de la memoria, va a otro ordenador que está en alguna parte del mundo. Todos estos algoritmos son fundamentales para el avance de esta cuestión. Son la base de las bases de datos no-SQL. Cada base de datos no-SQL resuelve una serie de problemas y
AF_Especial_Num14.indd 38
AF_Especial_Num14.indd 38 07/12/15 13:4707/12/15 13:47
39
necesitamos ajustarlas de una manera más o menos sencilla. Tenemos los datos, se genera un hash o un código a partir de ellos y distri- buimos esa clave por el mundo. Si tenemos sufi cientes participantes, esto nos proporcio- na una estructura de datos que es muy resis- tente tanto a fallos como a pérdidas.
¿Cómo se computa esto? Google publicó un artículo en 2004 que explicaba cómo lo hacían inicialmente con MapReduce, un mo- delo de programación que presupone que el ordenador no va a ser capaz de realizar por sí solo toda la computación y se sirve, por tan- to, de un número variable de ordenadores disponibles, con lo cual no se necesita calcu- lar ni preparar el programa para el tamaño que quiera tener, por lo que podrá hacerse de una manera absolutamente fl exible. Esto permite que la computación avance más o menos rápida en función de los ordenado- res que estén disponibles en cada momento.
Si tengo, por ejemplo, un sistema de Cloud Computing, puedo aprovechar los valles de la demanda para que realicen este tipo de ta-
reas y vayan avanzando. Son sistemas auto- rregulados y auto-confi gurados, por lo que nadie puede equivocarse al confi gurarlos y se adaptan muy bien a los distintos cambios y problemas que podamos tener.
Hadoop es un proyecto de software libre, iniciado en el proyecto Apache, que está es- crito en Java y que dispone de diversas ca- pas que permiten un uso más sencillo. Aun así, sigue teniendo una cierta complejidad.
Programar en el paradigma de MapReduce requiere un cambio notable de mentalidad porque son computaciones en las que se van dejando elementos temporales en los discos y se cuenta con una serie de fases en las cua- les vamos agrupando los datos para poder paralelizarlos. La ventaja que tiene es que no necesitamos programar específi camente este tipo de paralelismo sabiendo números ni máquinas concretas, sino que se va auto- confi gurando en función de lo que tenga- mos en cada momento. Evidentemente, esto tiene una relación total con el Cloud Com- puting. Los operadores que ofrecen cloud
AF_Especial_Num14.indd 39
AF_Especial_Num14.indd 39 07/12/15 13:4707/12/15 13:47
40
FUNDACIÓN RAMÓN ARECES / NÚM. 14
ofrecen ya el servicio de MapReduce sobre cloud, permitiendo el acceso a estas funcio- nalidades.
Un problema muy grave es que los da- tos son muy variados. Muchos de los casos van a ser no estructurados, lo que quiere decir que no van a seguir una estructura, que en algunos casos pueden tener más o menos campos dependiendo de que cier- tos sensores funcionen o no, ni van a estar agregados. El que los datos no estén agre- gados quiere decir que aunque no se haya perdido información, al manejar una gran cantidad de datos se necesita, en general, un precocinado anterior que debe ser manual.
Además, como los datos pueden provenir de múltiples fuentes no disjuntas, podemos te- ner redundancia de datos, lo que puede lle- var a que unos algoritmos engañen. Como resultado, tenemos que sobrepasar manual- mente la fracasada idea de la web semántica.
La promesa de que en la web semántica el proceso iba a ser automático no se ha hecho realidad, por lo que para cada caso concre- to alguien tiene que hacer un curado y una unión de todos los datos que tenemos. Ésta
es una de las partes más críticas para cual- quier proyecto de Big Data.
La velocidad es otro de los grandes pro- blemas del Big Data ya sea en relación a la generación, el almacenamiento, el movi- miento y el procesado.
Muchos de los protocolos que se utiliza- ban, o se siguen utilizando para multimedia, para proporcionar fl ujo de datos, pueden utilizarse para todo este tipo de cosas. De he- cho, muchos de estos esquemas están inten- tando utilizar las GPU. El problema es que los GPU son unos sistemas bastante difíciles de programar para uso general. La ventaja que tienen es que nos procesan una pantalla entera en un solo ciclo de reloj, es decir, muy rápidamente. Si conseguimos que nuestro problema case con las arquitecturas de una GPU, sí que podemos llegar a tener procesa- do en streaming: Vamos a poder procesar los datos que nos llegan desde los distintos sen- sores o desde los distintos sitios. De hecho, ya algunos proveedores de cloud empiezan a tener proveedores, no solo de CPUs sino también de GPUs, con los que podemos ha- cer este tipo de procesados en la Nube.
AF_Especial_Num14.indd 40
AF_Especial_Num14.indd 40 07/12/15 13:4707/12/15 13:47
41
Otra parte muy importante es la visuali- zación. Mark Twain dijo que había tres ti- pos de mentiras: las mentiras, las malditas mentiras y las estadísticas. La visualización es esto último, pero es un componente vital de todo análisis. Una visualización debe ser atractiva para que sea publicada y normal- mente es llevada a cabo por personas que no se han dedicado a los datos. Alguien tiene que ser capaz de procesar los datos, alguien tiene que entender de computación distri- buida para que esto funcione y otro distinto, con un perfi l artístico, tiene que ser capaz de hacer la visualización bonita, que es lo que, al fi nal, la gente va a ver de una investiga- ción. Éste es un nicho con mucho futuro en el cual todavía queda bastante por hacer.
Otro punto esencial de la problemática en torno al Big Data es la privacidad. A día de hoy existe un cambio de esquema radical en todo este asunto y, de hecho, las nuevas generaciones tienen una perspectiva distinta de la privacidad a la de las anteriores. Las
nuevas técnicas de programación utilizan un lenguaje de programación orientado a objetos, denominado duck typing, que se basa en el principio de que si algo grazna como un pato, anda como un pato y se mueve como un pato, lo consideramos un pato. En Internet da igual que no sepa tu nombre, pero tengo tu perfi l entero. Eso quiere decir que ahora mismo gran canti- dad de los sistemas que están conectados a Internet son capaces de conocer cómo nos comportamos, y esto nos puede llevar a muchos resultados. Nuestros datos están en una gran cantidad de sitios. En la obra de Orwell “1984” se planteaba ya la exis- tencia de televisiones que eran capaces de grabar a los usuarios. Ahora, una Smart TV tiene HTML 5 y W3C, es capaz de grabar y de enviar la información. Ahora mismo, el Gran Hermano es posible con una Smart TV, el Internet de las cosas, las redes sociales y el teléfono móvil. Es un escenario bastante complicado.
La generación de datos está creciendo de forma exponencial. La sensorización asociada al Internet de las cosas (IoT Internet of things) y las ciudades inteligentes (Smart Cities) es una de sus principales fuentes de crecimiento.