Comenzando con CouchDB

CouchDB es una base de datos documental libre (Open Source) que actualmente esta siendo desarrollada por la fundación Apache. Su nombre es un acrónimo. Couch significa “Cluster Of Unreliable Commodity Hardware” o sea, CouchDB esta destinada a funcionar en forma distribuida en crusters de bajo costo.

Su principal característica es que es un sistema de base de datos documental el cual difiere mucho con los sistemas de base relacional (los mas usados y conocidos), no encontraremos tablas, columnas, filas, foreing key, primary key, etc, solo documentos.

Veamos algunas otras características:

  • Formadas por documentos, no existe límite para la cantidad de ellos y tampoco para la cantidad de campos que pueda tener un documento.
  • No hace falta respetar un esquema de datos, cada documento puede tener distinta estructura evitando así campos nulos (pensemos en un conjunto de fichas personales, tendría sentido poner campos con valor nulo?).
  • El concepto de clave primaria es sustituido por un identificador único (UUID) en cada documento.
  • No sobreescribe los documentos sino que posee un sistema de versionado interno en el cual deja disponible la última versión y guarda las anteriores
  • No posee un sistema de bloqueo en los documentos. Si dos usuarios tratan de actualizar el mismo documento al mismo tiempo solo tendrá exito el primero. CouchDB devolvera un error de conflicto al segundo.
  • Los datos almacenados son accedidos mediante una API RESTFULL
  • Se utiliza JSON para el formato de las respuestas a las consultas REST.