Big Data, manejando grandes cantidades de datos.

17/03/2011

El pasado martes 15 de Marzo, Svet Ivantchev impartió una charla sobre el concepto de Big Data en el Uniencounter 2011.

Como nos indicó al comienzo, hoy en día, el volumen de información crece tan rápidamente que somos incapaces de sacarle todo el partido a los datos. Por ejemplo, en Noviembre de 2009 cada minuto se cargaban 35 horas de vídeo en Youtube.

Cuando el volumen de información es tan elevado, las viejas técnicas para manejo de datos no nos sirven. Intentar hacer una consulta SQL a una tabla de gigas o teras de tamaño es algo inviable. Por lo que ahí entra en juego el concepto de BigData.

¿Cómo podemos hacerlo?

  • Cambios en la infraestructura para conseguir mayor flexibilidad.
  • Olvidarnos de SQL. Implantar el concepto de noSQL
  • MapReduce

¿Qué cambios en la infraestructura?

  • Servidores de "usar y tirar", si nuestras aplicaciones escalan horizontalmente, tenemos que conseguir que los servidores se configuren rápidamente. No podemos centralizarlo en un único servidor.
  • El Backup. Tenemos que conseguir que los datos perduren. Para lograr esto podemos realizar multiples copias y distribuirlas en diferentes puntos.
  • Experimentar con nuevas herramientas. Esto es algo muy importante. Poder probar con diferentes herramientas para poder transformar los datos.

El paradigma de MapReduce

MapReduce es un paradigma de programación diseñado para realizar operaciones con grandes cantidades de datos en un tiempo asequible. Consiste en dividir los datos, hacer un "Map" para realizar las operaciones en paralelo y "Reduce" para obtener el resultado final.

En la siguiente imagen podemos ver su funcionamiento con un ejemplo:

Source: http://blog.jteam.nl/2009/08/04/introduction-to-hadoop/

Hadoop como ejemplo

Hadoop de la fundacion Apache, implementa el paradigma de MapReduce. Dentro de él tenemos:

  • HDFS: Para la gestión de datos.
  • Hbase: Para definir la base de datos que va sobre Hadoop. Cada registro puede tener una estructura diferente.
  • Hive: Para el manejo de datos.
  • Pig: Lenguaje de script.

Otras herramientas que implementan el paradigma de MapReduce son CouchDB utilizado en Irekia, Cassandra utilizado en Facebook o Mahout.

Podeis ver acontinuación la presentación utilizada por Svet en la charla.


erral
17/03/2011 21:52
Y hay una base de datos NoSQL que en CS utilizamos desde nuestros inicios y Svet no citó: ZODB

Que parece que ahora está de moda esto del NoSQL pero Zope lo utiliza desde sus inicios allá por 1998 :)

Comentar

Para dejar un comentario tiene que identificarse. Para ello puede utilizar su cuenta de Facebook, Twitter o Google+