jueves, 3 de febrero de 2011

El movimiento NOSQL


El movimiento NOSQL (Not Only SQL, que no se confunda como una negación de SQL o un movimiento antiSQL) surge de la necesidad de almacenar datos de forma distinta a la que nos proporciona una base de datos relacional. Las bases de datos relacionales siguen el modelo relacional de creado por Codd en los 70 que se fue afinando en los 80. La verdad es que es un sistema que funciona bien, pero que no se adapta muy bien con el paradigma de orientación a objetos. Para paliar esto, surgieron nuevos modelos post-relacionales como es el de las bases de datos orientadas a objetos (Caché, de Intersystems). Además, últimamente están apareciendo nuevas necesidades, como la de almacenamiento masivo para cálculo (DataWareHousing), adaptada a redes sociales (Bases de datos estructuradas en grafos), para cálculo masivo (Map/Reduce), etc. Muchas de ellas no son ACID, ya que están orientadas a otros usos que no son el transaccional.

De este modo, han salido una serie de implementaciones de distintas alternativas al modelo relacional. Cada una tiene sus ventajas y sus inconvenientes. Las primeras que se me pasan por la cabeza son: redis, riak, hbase, membase, cassandra, mongodb, couchdb, ravendb, neo4j... Hay algunas comparativas: aquíaquí...

Tienen que ser realmente útiles cuando se están usando en entornos de producción (Facebook, SourceForge, ebay, Amazon, Google, Apple y otros grandes están usando este tipo de tecnología). Pero como todo, dependen del proyecto y de sus necesidades. No hay nada que siempre sea la solución ideal.
 
En breve tengo pensado introducirme en algunas de ellas y os iré comentando mi experiencia.

No hay comentarios:

Publicar un comentario