icon

CouchDB

Una base de datos de documentos de código abierto, basada en solicitudes HTTP/JSON y que soporta sincronización multiplataforma.

template cover
Implementado13 veces
Editorlilixxs
Creado2025-02-19
Servicios
service icon
Etiquetas
Database

Introducción a CouchDB

Una base de datos orientada a documentos de código abierto, con sincronización multi-maestro sin interrupciones y una API HTTP/JSON intuitiva, diseñada para ofrecer fiabilidad.

CouchDB es similar a MongoDB, pero más ligera y fácil de usar.

¿Por qué elegir CouchDB?

Apache CouchDB te permite acceder a tus datos donde los necesites. El Couch Replication Protocol está implementado en una variedad de proyectos y productos que abarcan todos los entornos informáticos imaginables, desde clusters de servidores distribuidos globalmente, hasta teléfonos móviles y navegadores web.

Almacena tus datos de forma segura, ya sea en tus propios servidores o con cualquier proveedor líder de servicios en la nube. A tus aplicaciones web y nativas les encanta CouchDB porque habla JSON de forma nativa y soporta datos binarios para todas tus necesidades de almacenamiento de datos.

El Couch Replication Protocol permite que tus datos fluyan sin interrupciones entre clusters de servidores, teléfonos móviles y navegadores web, brindando una experiencia de usuario offline-first atractiva mientras mantiene un alto rendimiento y una fiabilidad sólida. CouchDB viene con un lenguaje de consulta amigable para los desarrolladores y, opcionalmente, MapReduce para una recuperación de datos simple, eficiente y completa.

Comparación entre CouchDB y MongoDB

Similitudes:

  1. Ambos son bases de datos No-SQL orientadas a documentos, capaces de almacenar, agregar, transformar y devolver datos en formato de documento (JSON).
  2. Ambos soportan despliegues de clústeres distribuidos de alta disponibilidad.
  3. Ambos son proyectos de código abierto que pueden ser autohospedados o utilizar los servicios de proveedores de nube.

Principales diferencias:

  1. CouchDB interactúa a través de la API REST, mientras que MongoDB utiliza una conexión a la base de datos + su propio lenguaje de consultas.
  2. CouchDB se enfoca en la disponibilidad (A) y la tolerancia a particiones (P), mientras que MongoDB enfatiza la consistencia (C) y la tolerancia a particiones (P).
  3. CouchDB es un proyecto de Apache y no ofrece servicios comerciales oficiales; MongoDB ofrece servicios comerciales (MongoDB Enterprise) y servicios en la nube (MongoDB Atlas).
  4. Tendencia actual: MongoDB es más popular que CouchDB, y los servicios de soporte relacionados son más completos.

Variables de entorno relacionadas

  • COUCHDB_USER: El nombre de usuario del administrador inicial
  • COUCHDB_PASSWORD: La contraseña del administrador inicial

Proceso de uso del servicio

Cuando el servicio se inicia por primera vez, se requiere una inicialización. Se recomienda usar el panel de administración Fauxton incorporado en CouchDB para la configuración.

  1. Acceda al panel de administración del navegador integrado de CouchDB. La dirección se encuentra en la página Estado del servicio bajo CouchDB built-in Fauxton admin webpage. Inicie sesión con el nombre de usuario y la contraseña inicial.
  2. Haga clic en el icono de la llave inglesa en el lado izquierdo para comenzar la inicialización.
    1. Configure a Single Node = Configurar como modo de nodo único
    2. Configure a Cluster = Configurar como modo de clúster Es necesario generar varios servicios CouchDB en el proyecto y modificar las configuraciones de puerto y verificación de contraseñas. Consulte la documentación oficial para más detalles: https://docs.couchdb.org/en/stable/setup/cluster.html
  3. Una vez completada la inicialización, podrá comenzar a usarlo.

Administración de la base de datos con la interfaz integrada de Fauxton

Documentación de la interfaz de administración: https://docs.couchdb.org/en/stable/fauxton/install.html#fauxton-visual-guide

Dirección del panel de administración: Fauxton -- CouchDB built-in admin webpage en la página Estado del servicio.

Inicie sesión con el nombre de usuario (CouchDB username) y la contraseña (CouchDB password) a continuación.

La interfaz en su navegador se verá como la siguiente, permitiéndole gestionar los datos y la configuración de la base de datos.

Acceso a la base de datos mediante REST API

Documentación de la API: https://docs.couchdb.org/en/stable/api/index.html

El siguiente ejemplo muestra cómo enviar una solicitud GET al camino /. La base de datos debe devolver un mensaje de bienvenida.

Utilice herramientas como curl para enviar solicitudes HTTP REST.

curl <la dirección copiada arriba>

La respuesta contendrá datos de bienvenida, incluyendo características de versión, versión y más.

{
    "couchdb": "Welcome",
    "version": "3.4.2",
    "git_sha": "6e5ad2a5c",
    "uuid": "7687c62cfdf781f4623b721104a70c88",
    "features": [
        "access-ready",
        "partitioned",
        "pluggable-storage-engines",
        "reshard",
        "scheduler"
    ],
    "vendor": {
        "name": "The Apache Software Foundation"
    }
}