martes, 17 de noviembre de 2009

Movimiento NoSQL: La alternativa a las bases de datos relacionales

Durante décadas el dominio de la información ha estado basado en las bases de datos relacionales (BDM o RDBMS), las cuales, de forma metódica organizan la información y la procesa. Con ello, tenemos en la actualidad gestores de bases de datos aplicando esta filosofía, como Oracle, SQL Server, MySQL, PostgreSQL, Firebird, Access, etc. La infinidad de bytes que rigen los datos de las empresas y personas de todo el mundo están sometidas por estos gestores.

Sin embargo, en los últimos años, aparecen nuevas propuestas a las bases de datos, creando un movimiento llamado NoSQL. Este movimiento lo iniciaron algunos programadores Web y Java, creando sus propias soluciones ajustadas de presupuesto.

Lo primero que llama la atención es su espíritu rebelde contra una tecnología grande, costosa y lenta, con un enfrentamiento un tanto radical, pero efectivo dada la sólida instauración de las BDR. Pueden pasar como simples proyectos personales, a los que se ha ido uniendo una pequeña comunidad, y que puedan parecer menos que hormigas, pero están ganando posiciones y adeptos. Tanto llega que Google, eBay, Facebook, Last.fm, Adobe, Apache, Linkedin o digg (entre otros) tienen sus propios proyectos o invierten en los mismos.

Existen muchos puntos en estas nuevas filosofías, que se comparan constantemente con el referente de las BDM. Uno de los puntos más claros es que las BDM son monstruos que ofrecen muchas funcionalidades que ni siquiera utilizamos, desperdiciando recursos y rendimiento. Sobre este punto, el argumento de algunos NOSQL es ofrecer sólo lo que necesitas, con lo que se gana en sencillez, rapidez y recursos.

Por poner un ejemplo, Facebook abandonó MySQL por su propio desarrollo Cassandra, que permite escribir 50GB de datos en disco en tan sólo 0,12 milisegundos (unas 2500 veces más rápido que MySQL).

Otro factor que incrementa el rendimiento es la falta de interpretación de un lenguaje como SQL.

Otra característica de NoSQL es la cantidad ingente de datos que pueden almacenar, superando incluso a las de BDR. Bigtable (Google) puede almacenar 20 petabytes al día, o Hypertable es capaz de guardar más de mil millones de celdas por día.

Otro dato a favor de estas tecnologías es que pueden usar clusters con PC's baratos, sin necesidad de comprar costosos servidores.

Los proyectos NoSQL más relevantes son:
- Apache JackRabbit
- Cassandra
- Voldemort
- Apache CouchDB
- BigTable
- HyperTable
- MongoDB
- Dynomite
- HBase
- VPork


Fuentes:
http://www.dosideas.com/base-de-datos/657-nosql-el-movimiento-en-contra-de-las-bases-de-datos.html
http://blog.oskarsson.nu/2009/06/nosql-debrief.html
http://en.wikipedia.org/wiki/Nosql

Safe Creative #1001195347740