Cloud Computing, el entorno natural para la base de datos NoSQL CouchDB

4min

CouchDB es una base de datos NoSQL capaz de replicarse en una amplia gama de entornos cliente y servidor. Por sus respectivas características, el Cloud Computing es el ambiente de funcionamiento más natural de CouchDB, otra de las aplicaciones Open Source que podemos instalar y desplegar sobre los Servidores Cloud de Arsys en sólo unos minutos.

Índice

¿Que es Couch DB?

CouchDB es un sistema gestor de bases de datos no relacional, basado completamente en tecnologías sobre las que está implementada la web, como HTTP, JSON o Javascript. Es una base de datos distribuida, capaz de adaptarse tanto a ambientes de servidor como a clientes de diversos tipos. Se trata de un proyecto Open Source de la Fundación Apache pensado especialmente para usarse como infraestructura en aplicaciones web. Su principal característica es la definición del Couch Replication Protocol, un sistema que permite que una variedad de productos puedan comunicarse entre sí, compartiendo datos y realizando una sincronización de los mismos de manera automática.

Existe una gama de tecnologías que usan el protocolo de replicación de CouchDB, desde servidores en cluster hasta teléfonos móviles o navegadores de todo tipo. Este protocolo permite, entre otras cosas, que los datos de CouchDB puedan alojarse en varios sistemas, replicados de forma distribuida. En la práctica, los sistemas podrían gestionar los datos del sistema remoto y tenerlos disponibles incluso cuando están offline. CouchDB se encarga de gestionar las inconsistencias, realizando la sincronización de la información cuando se disponga de una conexión a Internet.

Para ello, puede apoyarse en las funcionalidades de diversos sistemas emergentes, como son PouchDB o Couchbase Lite. PouchDB es un sistema gestor de bases de datos que funciona sobre navegadores de ordenadores y móviles, capaz de sincronizar automáticamente con el nodo de CouchDB remoto. Por su parte, Couchbase Lite es básicamente lo mismo, pero para lenguajes de desarrollo nativo de apps.

Características de CouchDB

Orientada a documentos.

Igual que otros sistemas gestores de bases de datos NoSQL, CouchDB está orientado a documentos, que son expresados mediante el lenguaje JSON.

Soporte a ACID. 

CouchDB implementa la semántica ACID, lo que permite que diversos sistemas puedan escribir y leer en múltiples instancias de la base de datos al mismo tiempo.

Usa REST sobre HTTP. 

Al estar basado en web, usa los mismos verbos del HTTP para las operaciones CRUD, del mismo modo que las API REST. Por ello, es capaz de responder a acciones simplemente con cualquier cliente capaz de utilizar el protocolo HTTP, como navegadores o lenguajes de todo tipo.

Offline-first.

Gracias a su sistema de replicación, los sistemas que mantienen datos de CouchDB pueden trabajar offline, de manera autónoma, enviando la información a la base de datos remota cuando disponen de una conexión a Internet. Esto es muy interesante para el desarrollo de apps para dispositivos o Progressive Web Apps, ya que permite seguir trabajando con las aplicaciones en situaciones de nula o escasa conectividad.

Cloud y CouchDB

CouchDB puede usarse como sistema gestor de bases de datos en un único nodo, permitiendo las posibilidades de otras bases datos existentes. Sin embargo, su entorno más apropiado es el trabajo en un cluster, lo que permite ejecutar una única base de datos en diversos servidores. Gracias a las características de los Servidores Cloud y a su facilidad para el despliegue de clusters, son la plataforma perfecta para esta base de datos NoSQL, ya que cuenta con total flexibilidad y facilidad de gestión, a la par que una mayor capacidad, mejor disponibilidad y máxima tolerancia a fallos.

Además, las bases de datos gestionadas con CouchDB están pensadas para operar en la web, comenzando con la propia interfaz de manipulación de la información, basada en HTTP. De ahí, que nos interese su despliegue en máquinas que ofrezcan sus servicios en la Nube y que permitan a diversos tipos de clientes la conexión con los datos remotos para su sincronización.

Si queremos instalar CouchDB en los Servidores Cloud de Arsys, basta que seleccionemos la aplicación en el Catálogo de Aplicaciones. También podremos hacerlo directamente desde el Panel de Control de Cloudbuilder Next, seleccionando la imagen correspondiente en el proceso de creación del Servidor Cloud. En sólo unos clics tendremos CouchDB desplegado sobre CentOS 7.

Fernán García de Zúñiga

Productos relacionados: