diumenge, 20 de desembre del 2009

BBDD orientadas a documentos o NoSQL

¿Qué es NoSQL?

NoSQL es un término que representa y engloba a las bases de datos no relacionales u las orientadas a documentos y cuyo uso se ha extendido rápidamente, junto con la popularidad de este tipo de bases de datos.

Al contrario que bases de datos relacionales, las bases de datos orientadas a documentos no almacenan datos en tablas con campos uniformes para cada fila o registro. Cada documento es almacenado de forma que tenga ciertas características, cualquier número o tipo de campos pueden ser añadidos a un documento, e incluso contener varios tipos de datos.

Su mayor ventaja es que el escalado horizontal es extremadamente sencillo. Aunque ya hablaremos de ventajas e inconvenientes en breve en otro post.

Diferencias con SQL

Un ejemplo de base de datos orientada a documentos:

Clave Documento
63 Nombre: Pepe; Apellidos: García; Nacionalidad: Española
64 Nombre: François; Apellidos: Villepin; Nacionalidad: Francesa; Edad: 29;
65 Nombre: Mario; Nacionalidad: Italiana

… comparada con una relacional:

Clave Nombre Apellidos Nacionalidad Edad
63 Pepe García Española
64 François Villepin Francesa 29
65 Mario Italiana

Además, en la relacional los campos podrían estar optimizados por tipo como VARCHAR, TEXT o INT parar mejorar la arquitectura.

Podemos ver que en la NoSQL, los campos vacíos no se añaden y que se pueden añadir campos concretos a documentos concretos, sin tener que aumentar el número de columnas.

Aplicaciones NoSQL conocidas

  • CouchDB
  • Google BigTable
  • Amazon SimpleDB
  • MongoDB
  • HyperTable
  • Lotus Notes
  • Cassandra

Posted via web from jrosell's posterous

Cap comentari:

Publica un comentari a l'entrada