Etiqueta : nosql

Reuniones NoSQL para este verano

nosqlDesde a NoSQL Summer nos proponen una serie de reuniones para debatir documentos e ideas sobre bases de datos, sistemas distribuidos y NoSQL.

La mecánica es sencilla: en cada iteración se presentan unos artículos para debatir y comentar en reuniones periódicas de alrededor de una hora. El objetivo es que todo el mundo tenga la oportunidad de aprender sobre este nuevo concepto del NoSQL:

El NoSQL (acrónimo de No SQL, o Not Only SQL), nace como un movimiento que promueve una definición flexible de almacenamientos no relacionales que pretenden romper con el paradigma establecido de las base de datos relacionales.

Estos almacenamientos se caracterizan por no necesitar esquemas de datos fijos, no soportan agregaciones de forma implícita (no hay joins, ni relaciones), y normalmente están diseñados para escalar horizontalmente.

Aunque no se trata de un concepto nuevo en su totalidad (contamos con almacenamientos clave/valor desde hace años, llamados almacenamientos estructurados), ha ganado relevancia recientemente gracias a varios factores:

  • En 2009 Eric Evans reintroduce el concepto en SF NoSQL Meetup, donde se habló de Bases de datos no relacionales, distribuidas y Open Source. Este evento atrajo muchas miradas, de ahí que arrancara como movimiento para promover la idea.
  • Aunque existían hace tiempo implementaciones propietarias, como el BigTable de Google o el Dynamo de Amazon, distintas soluciones Open Source comienzan a coger fuerza.
  • La idea encaja con la web 2.0 (grandes volúmenes de datos), las start ups (NoSQL es barato para empresas que empiezan porque escala fácilmente) y el concepto de Cloud Computing (NoSQL es la infraestructura ideal para montar servicios distribuidos), todos complementarios y que se pueden beneficiar de las bondades de NoSQL.

Cuando se empezó con el hype promocional hace un año, era posible ser escéptico, pero a la fecha de hoy, y gracias al interés suscitado por la propuesta, tenemos diferentes soluciones Open Source listas para entrar en producción:

  • Apache CouchDB: desde la Fundación Apache, es una base de datos orientada a documentos. Es una de las puntas de lanza iniciales del movimiento NoSQL, y se utiliza, entre otros, en toda la infraestructura cloud de Ubuntu.
  • MongoDB: desarrollada por 10gen, es el competidor más directo de CouchDB. También orientada a documentos, y desarrollada en C++ (CouchDB funciona sobre una MV de Erlang). Entre los casos de éxito más notables está Sourceforge o GitHub (viendo su lista de casos de éxito, queda clara la relación de NoSQL con la web 2.0).
  • Redis: actualmente patrocinado por VMware, se trata de un almacén clave/valor muy avanzado. Desarrollado en C, su mayor punto fuerte es la velocidad. Entre los casos de éxito destacan Craiglist o The Guardian.
  • Apache Cassandra: nuevamente desde la Fundación Apache, esta vez es un sistema de bases de datos distribuido que implementa la idea de BigTable de Google. Desarrollado en Java, ha sido implantado con éxito en proyectos como Digg, Facebook, Twitter o Reddit (todas páginas web 2.0, con un volumen de usuarios muy grande).

Hay más propuestas, cada una con sus ventajas y sus inconvenientes, porque la apuesta de NoSQL va en contra de la versatilidad de los sistemas de bases de datos relacionales más tradicionales. Ya no existe una solución válida para todos los problemas, que hasta ahora era casi decidirse entre un SGBD u otro.

Volviendo a nuestra propuesta inicial, si estás interesado en aprender más sobre NoSQL, Madrid es una de las ciudades partipantes en el a NoSQL Summer.