fbpx
Wikipedia

CouchDB

Apache CouchDB, comúnmente llamada CouchDB, es un gestor de bases de datos de código abierto, cuyo foco está puesto en la facilidad de su uso y en ser "una base de datos que asume la web de manera completa".[1]​ Se trata de una base de datos NoSQL que emplea JSON para almacenar los datos, JavaScript como lenguaje de consulta por medio de MapReduce y HTTP como API.[1]​ Una de sus características más peculiares es la facilidad con la que permite hacer replicaciones. CouchDB fue liberada por primera vez en 2005, transformándose en un proyecto Apache en 2008.

Apache CouchDB

Interfaz administrativa Futon de CouchDB, base de datos de usuarios
Información general
Tipo de programa Base de datos
Autor Damien Katz, Jan Lehnardt, Noah Slater, Christopher Lenz, J. Chris Anderson, Paul Davis, Adam Kocoloski, Jason Davies, Benoît Chesneau, Filipe Manana, Robert Newson
Desarrollador Apache Software Foundation
Lanzamiento inicial 2005
Licencia Apache License 2.0
Información técnica
Programado en Erlang
Versiones
Última versión estable 3.0.0 (info) 26.02.2020
Asistencia técnica
Enlaces
Sitio web oficial
Blog
Repositorio de código
Seguimiento de errores

A diferencia de una base de datos relacional, CouchDB no almacena los datos y sus relaciones en tablas. En cambio, cada base de datos es una colección de documentos independientes. Cada documento mantiene sus propios datos y su esquema autocontenido. Una aplicación puede acceder a múltiples bases de datos, por ejemplo una residente en el teléfono móvil del usuario y otra residente en un servidor. Los metadatos del documento contienen información acerca de la versión del mismo, permitiendo refundir cualesquiera diferencias que puedan haberse producido mientras las bases de datos estaban desconectadas.

CouchDB implementa una forma de control de concurrencia multiversión (Multiversion Concurrency Control) a fin de evitar la necesidad de bloquear el archivo de base de datos durante las escrituras. La resolución de conflictos se delega a la aplicación. Para resolver un conflicto generalmente se requiere primero refundir los datos en uno de los documentos para luego eliminar el otro.[2]

Otras características son una semántica ACID con consistencia eventual, MapReduce, replicación incremental y tolerancia a los fallos. Las labores de administración se facilitan por medio de una aplicación web incorporada, llamada Futon.

Historia

CouchDB (Couch es un acrónimo para cluster of unreliable commodity hardware)[3]​ es un proyecto creado en abril de 2005 por Damien Katz, ex desarrollador de Lotus Notes en IBM. Damien Katz lo definió como un "sistema de almacenamiento para una base de datos objetal de gran escala". Sus objetivos eran que la base de datos se transformara en la base de datos de la Internet y que se diseñara desde un principio para prestar servicios a aplicaciones web. Él mismo financió el proyecto por espacio de casi dos años y lo liberó como proyecto de código abierto bajo la licencia GPL.

En febrero de 2008, pasó a ser un proyecto de Apache Incubator y la licencia se cambió a la Apache License.[4]​ Pocos meses más tarde, se graduó como proyecto top-level.[5]​ Así se llegó a la publicación de la primera versión estable en julio de 2010.[6]

A principios de 2012, Damien Katz abandonó el proyecto a fin de concentrarse en Couchbase.[7]​ El proyecto ha seguido adelante, liberando su versión 1.2, en abril de 2012.

Características principales

Almacenamiento de documentos
CouchDB almacena los datos como "documentos", esto es, uno o más pares campo/valor expresados en JSON. Los valores de los campos pueden ser datos simples como cadenas de caracteres, números o fechas. Pero también se pueden usar listas ordenadas y vectores asociativos. Todos los documentos en una base de datos CouchDB tienen un identificador único y no requieren un esquema determinado.
Semántica ACID
CouchDB provee una semántica de atomicidad, consistencia, aislamiento y durabilidad.[8]​ Lo hace implementando una forma de control de concurrencia multiversión, lo que significa que CouchDB puede manejar un gran número de lectores y escritores en paralelo, sin que surjan conflictos.
Vistas e índices Map/Reduce
Los datos almacenados se estructuran por medio de vistas. En CouchDB, cada vista se construye por medio de una función JavaScript que actúa como la mitad Map de una operación map/reduce. La función recibe un documento y lo transforma en un único valor, retornándolo. CouchDB puede indexar vistas y mantener actualizados esos índices a medida que se agregan, eliminan o actualizan documentos.
Arquitectura distribuida con replicación
CouchDB se diseñó con teniendo en mente la replicación bidireccional (o sincronización) y la operación off-line. Eso significa que múltiples réplicas pueden tener cada una sus propias copias de los mismos datos, modificarlas y luego sincronizar esos cambios en un momento posterior.
Interfaz REST
Todos los ítems tienen una URI única que queda expuesta vía HTTP. REST usa los métodos HTTP POST, GET, PUT y DELETE para las cuatro operaciones básicas CRUD (Create, Read, Update, Delete) con todos los recursos.
Consistencia Eventual
CouchDB garantiza consistencia eventual para poder ofrecer tanto disponibilidad como tolerancia a las particiones.
Hecha para operar offline
CouchDB puede replicar datos a dispositivos (como teléfonos inteligentes) que pueden quedar offline y manejar automáticamente la sincronización de los datos cuando el dispositivo vuelve a estar en línea.

CouchDB también ofrece una interfaz de administración incorporada y accesible vía web llamada Futon.[9]

Casos de uso e instalaciones productivas

Las capacidades de replicación y sincronización de CouchDB hacen de ella un recurso ideal para ser usado en dispositivos móviles, donde la conectividad de red no está garantizada pero la aplicación debe seguir funcionando en modo offline.

CouchDB se presta para aplicaciones con un fondo de datos acumulativo con cambios ocasionales, sobre el que se ejecutan consultas predefinidas y donde el manejo de versiones resulta importante (CRM, sistemas CMS, por ejemplo). La replicación máster-máster es una característica especialmente interesante que facilita las instalaciones en múltiples sitios.[10]

Empresas que usan CouchDB

CouchDB se usa en determinadas aplicaciones para Android, tales como "SpreadLyrics", así como aplicaciones para Facebook como "Will you Kissme" o "Birthday Greeting Cards", o bien sitios web como "Friendpaste"[11]

Entre las empresas que han usado o actualmente usan CouchDB se pueden mencionar:

  • Ubuntu para su servicio de sincronización "Ubuntu One" hasta noviembre de 2011[12]​ pero fue descontinuado por problemas de escalabilidad.[13]
  • La BBC, para sus plataformas de contenidos dinámicos[14]
  • Credit Suisse, para usos internos en el departamento de commodities para su framework de mercados.[11]
  • , para su plataforma social (web y aplicaciones) - Meebo fue adquirido por Google y cesó sus operaciones el 12 de julio de 2012.

Para una lista más completa de proyectos de software y sitios web que usan CouchDB, véase el artículo [11]​ en el sitio oficial del proyecto.

Manipulación de datos: documentos y vistas

CouchDB maneja una colección de documentos JSON. Los documentos se organizan por medio de vistas. Las vistas se definen por medio de funciones de agregación y los filtros se calculan en paralelo, al estilo de MapReduce.

Las vistas, en general, se almacenan en la base de datos y sus índices se actualizan continuamente. CouchDB soporta un sistema de vistas que emplea servidores de sockets externos y un protocolo basado en JSON.[15]​ Como consecuencia, se han desarrollado servidores de vistas en diversos lenguajes de programación (JavaScript es el lenguaje por defecto, pero también existen en PHP, Ruby, Python y Erlang).

Acceso a los datos vía HTTP

Las aplicaciones interactúan con CouchDB vía HTTP. A continuación hay algunos ejemplos con cURL, un utilitario de línea de comando. En estos ejemplos se supone que CouchDB se está ejecutando en localhost (127.0.0.1) en el puerto 5984.

Acción Petición Respuesta
Acceder a la información del servidor
curl http://127.0.0.1:5984/ 
{ "couchdb": "Welcome", "version":"1.1.0" } 
Crear una base de datos llamada wiki
curl -X PUT http://127.0.0.1:5984/wiki 
{"ok": true} 
Intentar crear una segunda base de datos llamada wiki
curl -X PUT http://127.0.0.1:5984/wiki 
{ "error":"file_exists", "reason":"The database could not be created, the file already exists." } 
Consultar información sobre la base de datos wiki
curl http://127.0.0.1:5984/wiki 
{ "db_name": "wiki", "doc_count": 0, "doc_del_count": 0, "update_seq": 0, "purge_seq": 0, "compact_running": false, "disk_size": 79, "instance_start_time": "1272453873691070", "disk_format_version": 5 } 
Eliminar la base de datos wiki
curl -X DELETE http://127.0.0.1:5984/wiki 
{"ok": true} 
Crear un documento, pidiéndole a CouchDB que suministre un identificador para el documento
curl -X POST -H "Content-Type: application/json" --data \ '{ "text" : "Wikipedia on CouchDB", "rating": 5 }' \ http://127.0.0.1:5984/wiki 
{ "ok": true, "id": "123BAC", "rev": "946B7D1C" } 

Componentes de código abierto

CouchDB incluye diversos otros proyectos de código abierto que forman parte de su paquete por defecto.

Componente Descripción Licencia
SpiderMonkey SpiderMonkey es un nombre clave del absolutamente primer intérprete de JavaScript, escrito por Brendan Eich en Netscape Communications, posteriormente liberado como código abierto, que actualmente es mantenido por la Fundación Mozilla. Licencia triple MPL/GPL/LGPL
jQuery jQuery es una biblioteca JavaScript liviana e independiente del navegador, que enfatiza la interacción entre JavaScript y HTML. Licencia dual: GPL y MIT
ICU International Components for Unicode (ICU) es un proyecto de código abierto que provee bibliotecas maduras para C/C++ y Java de soporte para Unicode, internacionalización y globalización de software. ICU es ampliamente portable a diversos sistemas operativos y entornos. Licencia MIT License
OpenSSL OpenSSL es una implementación en código abierto de los protocolos SSL y TLS. La biblioteca nuclear (escrita en lenguaje C) implementa las funciones criptográficas básicas y provee diversas funciones utilitarias. Licencia semejante a la licencia Apache
Erlang Erlang es un lenguaje de programación concurrente y runtime de propósito general. El subconjunto secuencial de Erlang es un lenguaje funcional, con evaluación estricta, asignación única y tipado dinámico. Licencia MPL modificada

Véase también

Referencias

  1. Apache Software Foundation. «Apache CouchDB». Consultado el 15 de abril de 2012. 
  2. Smith, Jason. «What is the CouchDB replication protocol? Is it like Git?». StackOverflow. Stack Exchange. Consultado el 14 de abril de 2012. 
  3. Exploring CouchDB, artículo de IBM Developer Works
  4. Anuncio en la lista de correo de Apache en mail-archives.apache.org
  5. Re: Proposed Resolution: Establish CouchDB TLP en mail-archives.apache.org
  6. "CouchDB NoSQL Database Ready for Production Use", artículo aparecido en PC World de julio de 2010
  7. Katz, Damien. «The future of CouchDB». Consultado el 15 de abril de 2012. 
  8. CoachDB, Technical Overview el 20 de octubre de 2011 en Wayback Machine.
  9. "Welcome to Futon" en "CouchDB The Definitive Guide"
  10. Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase comparison por Kristóf Kovács
  11. "CouchDB in the wild" el 20 de julio de 2017 en Wayback Machine. artículo del sitio oficial, con una lista de proyectos de software y sitios web que usan CouchDB
  12. Email de Elliot Murphy (Canonical) el 5 de mayo de 2011 en Wayback Machine. a la lista CouchDB-Devel
  13. EOL for couchdb and desktopcouch
  14. CouchDB at the BBC as a fault tolerant, scalable, multi-data center key-value store
  15. View Server Documentation el 20 de octubre de 2008 en Wayback Machine. en wiki.apache.org

Bibliografía

  • Anderson, J. Chris; Slater, Noah; Lehnardt, Jan (15 de noviembre de 2009), CouchDB: The Definitive Guide (1st edición), O'Reilly Media, p. 300, ISBN 0-596-15816-5 .
  • Lennon, Joe (15 de diciembre de 2009), (1st edición), Apress, p. 300, ISBN 1-4302-7237-6, archivado desde el original el 5 de diciembre de 2010, consultado el 31 de julio de 2012 .
  • Holt, Bradley (7 de marzo de 2011), Writing and Querying MapReduce Views in CouchDB (1st edición), O'Reilly Media, p. 76, ISBN 1-4493-0312-9 .
  • Holt, Bradley (11 de abril de 2011), Scaling CouchDB (1st edición), O'Reilly Media, p. 72, ISBN 1-4493-0343-9 .
  • Brown, MC (31 de octubre de 2011), Getting Started with CouchDB (1st edición), O'Reilly Media, p. 50, ISBN 1-4493-0755-8 .
  • Thompson, Mick (2 de agosto de 2011), Getting Started with GEO, CouchDB, and Node.js (1st edición), O'Reilly Media, p. 64, ISBN 1-4493-0752-3 .

Enlaces externos

  • Sitio oficial
  • (en inglés)
  • (en inglés)
  • Noticias y artículos sobre CouchDB en myNoSQL (en inglés)
  • Scaling CouchDB (en inglés)
  • (en inglés)
  • Simple biblioteca PHP5 para comunicarse con CouchDB (en inglés)
  • Cliente asincrónico CouchDB para Java (en inglés)
  • 3 estudios de caso con CouchDB (en inglés)
  • (en inglés)
  • Lehnardt, Jan (2008). «Couch DB at 10,000 feet». Erlang eXchange 2008. Consultado el 15 de abril de 2012.  Texto «web» ignorado (ayuda)
  • Lenhardt, Jan (2009). . Erlang Factory London 2009. Archivado desde el original el 19 de junio de 2011. Consultado el 15 de abril de 2012. 
  • Katz, Damien (enero de 2009). . RubyFringe. InfoQ. Archivado desde el original el 27 de abril de 2011. Consultado el 15 de abril de 2012. 
  •   Datos: Q1136882

couchdb, apache, comúnmente, llamada, gestor, bases, datos, código, abierto, cuyo, foco, está, puesto, facilidad, base, datos, asume, manera, completa, trata, base, datos, nosql, emplea, json, para, almacenar, datos, javascript, como, lenguaje, consulta, medio. Apache CouchDB comunmente llamada CouchDB es un gestor de bases de datos de codigo abierto cuyo foco esta puesto en la facilidad de su uso y en ser una base de datos que asume la web de manera completa 1 Se trata de una base de datos NoSQL que emplea JSON para almacenar los datos JavaScript como lenguaje de consulta por medio de MapReduce y HTTP como API 1 Una de sus caracteristicas mas peculiares es la facilidad con la que permite hacer replicaciones CouchDB fue liberada por primera vez en 2005 transformandose en un proyecto Apache en 2008 Apache CouchDBInterfaz administrativa Futon de CouchDB base de datos de usuariosInformacion generalTipo de programaBase de datosAutorDamien Katz Jan Lehnardt Noah Slater Christopher Lenz J Chris Anderson Paul Davis Adam Kocoloski Jason Davies Benoit Chesneau Filipe Manana Robert NewsonDesarrolladorApache Software FoundationLanzamiento inicial2005LicenciaApache License 2 0Informacion tecnicaProgramado enErlangVersionesUltima version estable3 0 0 info 26 02 2020Asistencia tecnicaEnlacesSitio web oficial Blog Repositorio de codigo Seguimiento de errores editar datos en Wikidata A diferencia de una base de datos relacional CouchDB no almacena los datos y sus relaciones en tablas En cambio cada base de datos es una coleccion de documentos independientes Cada documento mantiene sus propios datos y su esquema autocontenido Una aplicacion puede acceder a multiples bases de datos por ejemplo una residente en el telefono movil del usuario y otra residente en un servidor Los metadatos del documento contienen informacion acerca de la version del mismo permitiendo refundir cualesquiera diferencias que puedan haberse producido mientras las bases de datos estaban desconectadas CouchDB implementa una forma de control de concurrencia multiversion Multiversion Concurrency Control a fin de evitar la necesidad de bloquear el archivo de base de datos durante las escrituras La resolucion de conflictos se delega a la aplicacion Para resolver un conflicto generalmente se requiere primero refundir los datos en uno de los documentos para luego eliminar el otro 2 Otras caracteristicas son una semantica ACID con consistencia eventual MapReduce replicacion incremental y tolerancia a los fallos Las labores de administracion se facilitan por medio de una aplicacion web incorporada llamada Futon Indice 1 Historia 2 Caracteristicas principales 3 Casos de uso e instalaciones productivas 3 1 Empresas que usan CouchDB 4 Manipulacion de datos documentos y vistas 4 1 Acceso a los datos via HTTP 5 Componentes de codigo abierto 6 Vease tambien 7 Referencias 8 Bibliografia 9 Enlaces externosHistoria EditarCouchDB Couch es un acronimo para cluster of unreliable commodity hardware 3 es un proyecto creado en abril de 2005 por Damien Katz ex desarrollador de Lotus Notes en IBM Damien Katz lo definio como un sistema de almacenamiento para una base de datos objetal de gran escala Sus objetivos eran que la base de datos se transformara en la base de datos de la Internet y que se disenara desde un principio para prestar servicios a aplicaciones web El mismo financio el proyecto por espacio de casi dos anos y lo libero como proyecto de codigo abierto bajo la licencia GPL En febrero de 2008 paso a ser un proyecto de Apache Incubator y la licencia se cambio a la Apache License 4 Pocos meses mas tarde se graduo como proyecto top level 5 Asi se llego a la publicacion de la primera version estable en julio de 2010 6 A principios de 2012 Damien Katz abandono el proyecto a fin de concentrarse en Couchbase 7 El proyecto ha seguido adelante liberando su version 1 2 en abril de 2012 Caracteristicas principales EditarAlmacenamiento de documentos CouchDB almacena los datos como documentos esto es uno o mas pares campo valor expresados en JSON Los valores de los campos pueden ser datos simples como cadenas de caracteres numeros o fechas Pero tambien se pueden usar listas ordenadas y vectores asociativos Todos los documentos en una base de datos CouchDB tienen un identificador unico y no requieren un esquema determinado Semantica ACID CouchDB provee una semantica de atomicidad consistencia aislamiento y durabilidad 8 Lo hace implementando una forma de control de concurrencia multiversion lo que significa que CouchDB puede manejar un gran numero de lectores y escritores en paralelo sin que surjan conflictos Vistas e indices Map Reduce Los datos almacenados se estructuran por medio de vistas En CouchDB cada vista se construye por medio de una funcion JavaScript que actua como la mitad Map de una operacion map reduce La funcion recibe un documento y lo transforma en un unico valor retornandolo CouchDB puede indexar vistas y mantener actualizados esos indices a medida que se agregan eliminan o actualizan documentos Arquitectura distribuida con replicacion CouchDB se diseno con teniendo en mente la replicacion bidireccional o sincronizacion y la operacion off line Eso significa que multiples replicas pueden tener cada una sus propias copias de los mismos datos modificarlas y luego sincronizar esos cambios en un momento posterior Interfaz REST Todos los items tienen una URI unica que queda expuesta via HTTP REST usa los metodos HTTP POST GET PUT y DELETE para las cuatro operaciones basicas CRUD Create Read Update Delete con todos los recursos Consistencia Eventual CouchDB garantiza consistencia eventual para poder ofrecer tanto disponibilidad como tolerancia a las particiones Hecha para operar offline CouchDB puede replicar datos a dispositivos como telefonos inteligentes que pueden quedar offline y manejar automaticamente la sincronizacion de los datos cuando el dispositivo vuelve a estar en linea CouchDB tambien ofrece una interfaz de administracion incorporada y accesible via web llamada Futon 9 Casos de uso e instalaciones productivas EditarLas capacidades de replicacion y sincronizacion de CouchDB hacen de ella un recurso ideal para ser usado en dispositivos moviles donde la conectividad de red no esta garantizada pero la aplicacion debe seguir funcionando en modo offline CouchDB se presta para aplicaciones con un fondo de datos acumulativo con cambios ocasionales sobre el que se ejecutan consultas predefinidas y donde el manejo de versiones resulta importante CRM sistemas CMS por ejemplo La replicacion master master es una caracteristica especialmente interesante que facilita las instalaciones en multiples sitios 10 Empresas que usan CouchDB Editar CouchDB se usa en determinadas aplicaciones para Android tales como SpreadLyrics asi como aplicaciones para Facebook como Will you Kissme o Birthday Greeting Cards o bien sitios web como Friendpaste 11 Entre las empresas que han usado o actualmente usan CouchDB se pueden mencionar Ubuntu para su servicio de sincronizacion Ubuntu One hasta noviembre de 2011 12 pero fue descontinuado por problemas de escalabilidad 13 La BBC para sus plataformas de contenidos dinamicos 14 Credit Suisse para usos internos en el departamento de commodities para su framework de mercados 11 Meebo para su plataforma social web y aplicaciones Meebo fue adquirido por Google y ceso sus operaciones el 12 de julio de 2012 Para una lista mas completa de proyectos de software y sitios web que usan CouchDB vease el articulo CouchDB in the wild 11 en el sitio oficial del proyecto Manipulacion de datos documentos y vistas EditarCouchDB maneja una coleccion de documentos JSON Los documentos se organizan por medio de vistas Las vistas se definen por medio de funciones de agregacion y los filtros se calculan en paralelo al estilo de MapReduce Las vistas en general se almacenan en la base de datos y sus indices se actualizan continuamente CouchDB soporta un sistema de vistas que emplea servidores de sockets externos y un protocolo basado en JSON 15 Como consecuencia se han desarrollado servidores de vistas en diversos lenguajes de programacion JavaScript es el lenguaje por defecto pero tambien existen en PHP Ruby Python y Erlang Acceso a los datos via HTTP Editar Las aplicaciones interactuan con CouchDB via HTTP A continuacion hay algunos ejemplos con cURL un utilitario de linea de comando En estos ejemplos se supone que CouchDB se esta ejecutando en localhost 127 0 0 1 en el puerto 5984 Accion Peticion RespuestaAcceder a la informacion del servidor curl http 127 0 0 1 5984 couchdb Welcome version 1 1 0 Crear una base de datos llamada wiki curl X PUT http 127 0 0 1 5984 wiki ok true Intentar crear una segunda base de datos llamada wiki curl X PUT http 127 0 0 1 5984 wiki error file exists reason The database could not be created the file already exists Consultar informacion sobre la base de datos wiki curl http 127 0 0 1 5984 wiki db name wiki doc count 0 doc del count 0 update seq 0 purge seq 0 compact running false disk size 79 instance start time 1272453873691070 disk format version 5 Eliminar la base de datos wiki curl X DELETE http 127 0 0 1 5984 wiki ok true Crear un documento pidiendole a CouchDB que suministre un identificador para el documento curl X POST H Content Type application json data text Wikipedia on CouchDB rating 5 http 127 0 0 1 5984 wiki ok true id 123BAC rev 946B7D1C Componentes de codigo abierto EditarCouchDB incluye diversos otros proyectos de codigo abierto que forman parte de su paquete por defecto Componente Descripcion LicenciaSpiderMonkey SpiderMonkey es un nombre clave del absolutamente primer interprete de JavaScript escrito por Brendan Eich en Netscape Communications posteriormente liberado como codigo abierto que actualmente es mantenido por la Fundacion Mozilla Licencia triple MPL GPL LGPLjQuery jQuery es una biblioteca JavaScript liviana e independiente del navegador que enfatiza la interaccion entre JavaScript y HTML Licencia dual GPL y MITICU International Components for Unicode ICU es un proyecto de codigo abierto que provee bibliotecas maduras para C C y Java de soporte para Unicode internacionalizacion y globalizacion de software ICU es ampliamente portable a diversos sistemas operativos y entornos Licencia MIT LicenseOpenSSL OpenSSL es una implementacion en codigo abierto de los protocolos SSL y TLS La biblioteca nuclear escrita en lenguaje C implementa las funciones criptograficas basicas y provee diversas funciones utilitarias Licencia semejante a la licencia ApacheErlang Erlang es un lenguaje de programacion concurrente y runtime de proposito general El subconjunto secuencial de Erlang es un lenguaje funcional con evaluacion estricta asignacion unica y tipado dinamico Licencia MPL modificadaVease tambien Editar Portal Software libre Contenido relacionado con Software libre Apache Cassandra Apache Software Foundation Sistemas gestores de bases de datos Lotus Notes MongoDBReferencias Editar a b Apache Software Foundation Apache CouchDB Consultado el 15 de abril de 2012 Smith Jason What is the CouchDB replication protocol Is it like Git StackOverflow Stack Exchange Consultado el 14 de abril de 2012 Exploring CouchDB articulo de IBM Developer Works Anuncio en la lista de correo de Apache en mail archives apache org Re Proposed Resolution Establish CouchDB TLP en mail archives apache org CouchDB NoSQL Database Ready for Production Use articulo aparecido en PC World de julio de 2010 Katz Damien The future of CouchDB Consultado el 15 de abril de 2012 CoachDB Technical Overview Archivado el 20 de octubre de 2011 en Wayback Machine Welcome to Futon en CouchDB The Definitive Guide Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase comparison por Kristof Kovacs a b c CouchDB in the wild Archivado el 20 de julio de 2017 en Wayback Machine articulo del sitio oficial con una lista de proyectos de software y sitios web que usan CouchDB Email de Elliot Murphy Canonical Archivado el 5 de mayo de 2011 en Wayback Machine a la lista CouchDB Devel EOL for couchdb and desktopcouch CouchDB at the BBC as a fault tolerant scalable multi data center key value store View Server Documentation Archivado el 20 de octubre de 2008 en Wayback Machine en wiki apache orgBibliografia EditarAnderson J Chris Slater Noah Lehnardt Jan 15 de noviembre de 2009 CouchDB The Definitive Guide 1st edicion O Reilly Media p 300 ISBN 0 596 15816 5 Lennon Joe 15 de diciembre de 2009 Beginning CouchDB 1st edicion Apress p 300 ISBN 1 4302 7237 6 archivado desde el original el 5 de diciembre de 2010 consultado el 31 de julio de 2012 Holt Bradley 7 de marzo de 2011 Writing and Querying MapReduce Views in CouchDB 1st edicion O Reilly Media p 76 ISBN 1 4493 0312 9 Holt Bradley 11 de abril de 2011 Scaling CouchDB 1st edicion O Reilly Media p 72 ISBN 1 4493 0343 9 Brown MC 31 de octubre de 2011 Getting Started with CouchDB 1st edicion O Reilly Media p 50 ISBN 1 4493 0755 8 Thompson Mick 2 de agosto de 2011 Getting Started with GEO CouchDB and Node js 1st edicion O Reilly Media p 64 ISBN 1 4493 0752 3 Enlaces externos EditarSitio oficial CouchDB La guia definitiva en ingles Articulos sobre CouchDB en NoSQLDatabases com en ingles Noticias y articulos sobre CouchDB en myNoSQL en ingles Scaling CouchDB en ingles Referencia completa de la API HTTP en ingles Simple biblioteca PHP5 para comunicarse con CouchDB en ingles Cliente asincronico CouchDB para Java en ingles 3 estudios de caso con CouchDB en ingles CouchDB para la agregacion y el analisis de bitacoras de acceso en ingles Lehnardt Jan 2008 Couch DB at 10 000 feet Erlang eXchange 2008 Consultado el 15 de abril de 2012 Texto web ignorado ayuda Lenhardt Jan 2009 CouchDB for Erlang Developers Erlang Factory London 2009 Archivado desde el original el 19 de junio de 2011 Consultado el 15 de abril de 2012 Katz Damien enero de 2009 CouchDB and Me RubyFringe InfoQ Archivado desde el original el 27 de abril de 2011 Consultado el 15 de abril de 2012 Datos Q1136882Obtenido de https es wikipedia org w index php title CouchDB amp oldid 127740232, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos