Tal y como comentaba en otro artículo anterior, el sistema REST permite un acceso a los datos basado en la mezcla entre localizaciones de elementos (URL) y verbos de HTTP para indicar lo que se desea hacer con ese elemento. Eso, agregando un almacén de datos que permita albergar elementos y otras características añadidas, nos dan como resultado CouchDB.
El sistema de CouchDB, además de destacar como base de datos documental, cuya definición, extraída de la Wikipedia, viene a decir:
Permiten la indexación a texto completo, y en líneas generales realizar búsquedas más potentes. Tesaurus es un sistema de índices optimizado para este tipo de bases de datos.
Este sistema está altamente indicado para proyectos del tipo:
- Buscadores, ya que se pueden almacenar webs y después hacer búsquedas en texto de forma eficiente.
- Bitácoras, blogs, weblogs...; donde el almacenamiento de artículos o extensos textos, puede ser indizado y manejado para realizar las búsquedas.
- Almacenes de libros, documentos y otros textos que puedan escribirse, sobre todo en formatos de texto plano, como pueden ser HTML, XML (Docbook, DITA, ...), SGML, TXT, LaTeX, ...
A esto sumamos que el transporte se realiza mediante HTTP, por la convención establecida mediante REST, y tenemos un sistema fácil de implementar y que soporta la carga que supone transmitir todos los documentos almacenados de una forma eficiente.
Cabe destacar que, aunque sea una base de datos documental y esté basada en el almacenamiento de documentos en campos de texto grandes, también se pueden almacenar otros tipos de datos y crear "tablas" a modo de tener un formato relacional, donde el documento juegue el papel principal, claro.