Como hemos indicado anteriormente, las consultas en CouchDB se realizan por medio de MapReduce y HTTP como API. A través de la interfaz REST se accede a los métodos HTTP POST, GET, PUT y DELETE por medio de las operaciones de Create, Read, Update, Delete, este proceso es conocido como CRUD, usando un indentificador único o URI.
Por ejemplo, supongamos que tenemos una colección llama articulos y un documento con la siguiente estructura:
{ "_id" : "832t41121621a326ec63382f846d3142", "_rev" : "1-524521c989ff07s4fa62dad0366677b5", "nombre" : "Daniel Romero", "articulo" : "CouchDB en HispaBigData", "blog" : "HispaBigData", }Si queremos acceder a la información de este documento, solo tendriamos que formar la URL de nuestro HOST + el Nombre de la colección + el Identificador único de nuestro documento, seria de la siguiente forma:
http://localhost:5984/articulos/832t41121621a326ec63382f846d3142Como veis, usar CouchDB en aplicativos web es muy sencillo, ya que podemos realizar peticiones simples vía HTTP a la base de datos, de esta forma obtenemos el documento, en caso de existir, en su representación JSON, el cual podremos parsear para su presentación. Existen drivers de couchDB para los lenguajes de programación mas populares como Pyton, PHP, Java, .Net, Ruby...
La replicación de bases de datos se realiza mediante peticiones HTTP, desde una base de datos origen a una de destino, el proceso es muy sencillo.
POST /_replicate HTTP/1.1 {"source":"http://localhost:5984/HispaBigData","target":"HispaBigData"}En el ejemplo anterior podemos ver que hay un campo llamado _rev, es un campo especial que almacena la versión del documento, cada ve que realicemos un cambo en el documento cambiara el numero de revisión, con esto conseguimos que los documentos que ya existan en la base de datos destino y estén en la misma revisión no se transfieren a la base de datos origen.
En CouchDB las bases de datos tienen un número de secuencia que incrementa cada vez que la base datos cambia, de esta forma podemos comprobar que datos han cambiado entre la secuencia XXX y la secuencia actual, esto nos puede ahorrar muchísimo tiempo en caso de que necesitemos obtener dicha información, ya que no tendremos que tirar de backup.
Otra de las característica principales de CouchDB es que dispone de una interfaz administrativa llamada Futon, la cual nos ayudara a agilizar tareas de administración, la forma de acceder es la siguiente:
http://localhost:5984/_utils/
En resumen, CouchDB es un motor de base de datos orientado a documentos para entornos web, altamente escalable y con un sistema de replicación bastante fácil y potente, el cual nos puede permitir la reducción de costes en entornos de producción ya que no necesitaremos máquinas tan potentes para su uso. Más adelante entraremos en más detalles de como instalar CouchDb y como manipular datos.
No hay comentarios:
Publicar un comentario