Las bases de tipo SQL llevan dominando el mercado demasiado tiempo tanto en entornos de código abierto como BBDD propietarias. Oracle, DB2 , SQL Server, MySQL son solo unos ejemplos de la enorme cantidad de Bases de Datos existentes basadas en este modelo. Pero... ¿Cual es el problema de estas bases de datos?
Uno de los principales problemas de las bases de datos SQL es la enorme complejidad que supone mapear datos relativamente sencillos y con un gran volumen de tamaño. El NoSQL es ideal para entornos principalmente web que augmentan exponencialmente su volumen de datos pero no la complejidad de los mismos, con lo que los famosos cuellos de botella generados por las BBDD tradicionales es irrelevante en estos entornos, ya que respecto al SQL tradicional y no tener que realizar la traducción de los datos hacia un formato amigable, las arquitecturas NoSQL son mucho mas rápidas.
Una de las grandes utilidades del NoSql es precisamente la POO (Programación orientada a objetos) y el famoso ORM (Mapeo- Objeto Relacional). El almacén de datos NoSQL soluciona este problema ya que consigue crear una verdadera BBDD orientada a objetos sin el ORM en medio, con lo que conseguimos no solo mejorar las practicas de programación, sino reducir los pasos y transformaciones que deben sufrir los datos.
Aunque este movimiento no plantea de un principio como se comenta en www.eslomas.com la sustitución de los sistemas relacionales, sino que su aplicación a todo tipo de problemas de almacenamiento de datos tal como se ha estado haciendo hasta ahora no es la mejor solución en algunos casos. Por ejemplo plantean que las bases de datos relacionales escalan correctamente hasta varios cientos de servidores pero empiezan a ser menos eficientes a partir de estas cifras, sobretodo debido a características como ACID y los commit en dos fases de las bases de datos distribuidas. En en muchas redes sociales y webs de la Web 2.0, hace falta manejar mucha más información, por lo que se plantea la utilización de miles de servidores pequeños que no utilicen bases de datos relacionales, sino sistemas de almacenamiento en disco o incluso en memoria, que permitan un manejo más eficiente de los datos, a costa de perder alguna de las características clásicas de las bases de datos relacionales, como la atomicidad y que la consistencia de la bbdd no sea determinista sino estadística. Con este sistema Google es capaz de manejar varios Petabytes de información todos los días con BigTable y lo mismo hace Facebook con Cassandra. Pero esto no quiere decir en ningún caso que sea conveniente utilizar estos sistemas para todo, es simplemente una tecnología más que hay que conocer y saber aplicar.
Son muchos los proyectos que ya funcionan bajo estas premisas y que grandes empresas como Amazon, Google o Last.fm ya utilizan en sus sitios, nombres como Hadoop, Dynomite o Voldemort son algunos de estos proyectos que comparten la filosofia de NoSQL
Aquí la lista de los proyectos que fueron presentados en su día en la conferencia de la comunidad NoSQL, los videos de las presentaciones y las presentaciones en formato PDF donde ha sido posible obtenerlos.
Intro session - Todd Lipcon, Cloudera (slides, video1, video2)
Voldemort - Jay Kreps, Linkedin (slides pdf ppt, video1, video2)
Cassandra - Avinash Lakshman, Facebook (slides pdf ppt, video)
Dynomite - Cliff Moon, Powerset (slides, video)
HBase - Ryan Rawson, Stumbleupon (slides, video)
Hypertable - Doug Judd, Zvents (slides pdf ppt, video1, video2)
CouchDB - Chris Anderson, couch.io (slides, video1, video2)
VPork - Jon Travis, Springsource (slides, video)
MongoDb - Dwight Merriman, 10gen (slides, video)
Infinite Scalability - Jonas S Karlsson, Google (slides, video)


![Validate my RSS feed [Valid RSS]](valid-rss.png)
2 comentarios:
Y que no se os olvide FluidDB: http://fluidinfo.com
JJ,
Tienes razón, aunque no tengo el placer de conocerla en profundidad. Me hablarón especialmente bien de Fluid en Barcelona. Incluso se escribió un buen artículo en el Techcrunch.
Un saludo
Publicar un comentario en la entrada