Apache CouchDB
Fondo negro y azul
¿Qué es CouchDB?

Vea las características, ventajas y facilidad de uso que CouchDB aporta a la gestión de bases de datos empresarial.

Apache CouchDB (CouchDB (enlace externo a ibm.com)) es una base de datos de documentos de código abiertoNoSQL que recopila y almacena datos en formatos de documentos basados en JSON. A diferencia de las bases de datos relacionales, CouchDB utiliza un modelo de datos sin esquema, que simplifica la gestión de registros en varios dispositivos informáticos, teléfonos móviles y navegadores web.

CouchDB fue lanzada en 2005 y luego se convirtió en un proyecto básico para el software Apache (el enlace reside fuera de ibm.com) en 2008. Como proyecto de código abierto, CouchDB cuenta con el apoyo de una comunidad activa de desarrolladores que mejoran continuamente el software con un enfoque en la facilidad de uso y la adopción de la web.

Productos destacados

Cloudant


¿Por qué utilizar CouchDB?

Para la mayoría de las empresas, decidir qué proveedor utilizar al adquirir tecnología de gestión de datos puede ser un desafío. Un software privado no solo impone ciertas restricciones de licencia sobre el uso de la tecnología, sino que existen algunas inquietudes sobre la continuidad del negocio cuando se transfieren todos los datos de su empresa a un sistema de administración de bases de datos (DBMS) de "talla única" sin visibilidad de su estructura interna.

CouchDB es diferente. A diferencia del software privado que puede correr el riesgo de ser "bloqueado del proveedor", CouchDB es de código abierto, de uso gratuito y se integra fácilmente en su infraestructura de administración de datos actual. Debido a que usted tiene más control sobre el software, también tiene más flexibilidad al adaptarlo a las necesidades únicas de su negocio. Ya sea que requiera un almacén de documentos de propósito general, que permita una sincronización de datos eficiente o que adopte una mentalidad "Sin conexión primero", CouchDB brinda a las empresas la flexibilidad que necesitan para crear infraestructuras duraderas, confiables y escalables.

Para ver más de cerca cómo funciona CouchDB, vea nuestro video "CouchDB Explained":


Beneficios

CouchDB presenta una variedad de beneficios para usuarios y desarrolladores que la convierten en una excelente solución de administración de bases de datos no relacionales.

Escalabilidad

El diseño arquitectónico de CouchDB lo hace extremadamente adaptable al particionar bases de datos y escalar datos en múltiples nodos. CouchDB admite tanto la partición horizontal como la replicación para crear una solución fácil de administrar para equilibrar las cargas de lectura y escritura durante la implementación de una base de datos.

CouchDB cuenta con un motor de almacenamiento muy duradero y confiable que se creó desde cero para infraestructuras de múltiples nubes y bases de datos. Como base de datos NoSQL, CouchDB es muy personalizable y abre la puerta al desarrollo de aplicaciones predecibles e impulsadas por el rendimiento, independientemente de su volumen de datos o de la cantidad de usuarios.

Sin bloqueos de lectura

En la mayoría de las bases de datos relacionales (donde los datos se almacenan en tablas), si alguna vez necesita actualizar o modificar una tabla, la fila de datos que se cambia queda bloqueada para otros usuarios hasta que se procesa la solicitud de modificación. Esto puede crear problemas de accesibilidad para los clientes y cuellos de botella generalizados en sus procesos de gestión de datos.

CouchDB usa MVCC (Control de concurrencia de múltiples versiones) para administrar el acceso a las bases de datos al mismo tiempo. Esto significa que independientemente de las cargas actuales de la base de datos, CouchDB puede ejecutarse a toda velocidad y sin restricciones para sus usuarios. Dado que los documentos en CouchDB obtienen sus más recientes versiones y se agregan en tiempo real, las solicitudes de lectura de la base de datos siempre verán las imágenes de la base de datos más actualizadas, independientemente de quién haya accedido primero al documento.

Desarrollo de código abierto

Debido a su fuerte respaldo y soporte en la comunidad de código abierto, CouchDB mantiene una base sólida y confiable para la administración de bases de datos empresariales. Desarrollado durante varios años como una solución sin esquema, CouchDB ofrece una flexibilidad incomparable que simplemente no se puede encontrar en la mayoría de las soluciones de bases de datos patentadas.


Características

La motivación detrás del desarrollo de CouchDB se puede definir con una palabra: relajarse. CouchDB viene con un conjunto de características diseñadas para reducir el esfuerzo de ejecutar un sistema distribuido resistente. Estas son algunas de las características clave de CouchDB y por las cuales se diferencia de otras bases de datos NoSQL.

Replicación de CouchDB

Una de las características que definen a CouchDB es la replicación bidireccional, que permite la sincronización de datos en varios servidores y dispositivos mediante la replicación bidireccional. Esta replicación permite a las empresas maximizar la disponibilidad de los sistemas, reducir los tiempos de recuperación de datos, ubicar geográficamente los datos más cercanos a los usuarios finales y simplificar los procesos de respaldo.

En CouchDB, no hay distinción si los datos se almacenan en un servidor o en varios. Por el contrario, CouchDB identifica los cambios en los documentos a medida que ocurren desde cualquier fuente, y garantiza que todas las copias de la base de datos permanezcan sincronizadas con la información más actualizada. Esto permite que múltiples réplicas de bases de datos sean autónomas y se administren sin dejar de albergar información precisa en tiempo real en múltiples entornos informáticos.

Vistas de CouchDB

CouchDB usa vistas como la herramienta principal para ejecutar consultas y crear informes a partir de archivos de documentos almacenados. Las vistas le permiten filtrar documentos para encontrar información relevante para un proceso de base de datos en particular. Esta información puede luego mapearse según sus preferencias, y extraerse en un orden específico.

Lo maravilloso de CouchDB es la libertad que tiene con la forma en que se presenta la información. Debido a que las vistas de CouchDB se crean dinámicamente y no afectan directamente a los almacenes de documentos subyacentes, no hay limitación en la cantidad de vistas diferentes de los mismos datos que puede ejecutar. Estas vistas se crean dentro de documentos de diseño especiales y se pueden replicar en múltiples instancias de bases de datos como datos almacenados normales.

Otra gran característica de CouchDB es la disponibilidad de Apache MapReduce para crear índices poderosos que ubican fácilmente documentos basados en cualquier valor que viva en ellos. Luego, puede usar estos índices para establecer relaciones de un documento al siguiente y realizar una variedad de cálculos basados en esas conexiones.

API HTTP

CouchDB usa una API RESTful para acceder a la base de datos desde cualquier lugar, con total flexibilidad de operaciones CRUD (crear, leer, actualizar, eliminar). Este medio simple y eficaz de conectividad de bases de datos hace que CouchDB sea flexible, rápido y potente, sin dejar de ser muy accesible.

Desarrollado para su uso fuera de línea

Cuando la usabilidad y accesibilidad de su base de datos crece, es esencial poder crear aplicaciones que funcionen tan bien tanto en conexión como fuera de línea. CouchDB permite que las aplicaciones almacenen los datos recopilados localmente en dispositivos móviles y navegadores, y luego sincroniza esos datos una vez que vuelven a estar en línea.

Almacenamiento eficiente de documentos

En CouchDB, los documentos son las unidades principales de datos que se utilizan en JSON, compuestas por varios campos y archivos adjuntos para un fácil almacenamiento. No hay límite para el tamaño del texto o el recuento de elementos de cada documento, y se puede acceder a los datos y actualizarlos desde múltiples fuentes de bases de datos y en clústeres de servidores distribuidos globalmente.

Compatibilidad

CouchDB es extremadamente accesible y ofrece una variedad de beneficios de compatibilidad cuando se integra con su infraestructura actual. CouchDB fue desarrollado en lenguaje Erlang (un lenguaje de programación y un sistema de tiempo de ejecución de uso general, concurrente y recolectado de basura), lo que lo hace confiable y fácil de usar para los desarrolladores.

Debido a sus capacidades de código abierto, CouchDB es extremadamente flexible y se puede instalar y ejecutar en varios sistemas operativos y herramientas de virtualización. También es compatible con PouchDB, una base de datos liviana diseñada para ejecutarse en el navegador de dispositivos móviles.


CouchDB e IBM

IBM ha apoyado durante mucho tiempo las comunidades de código abierto, especialmente cuando se trata del desarrollo de tecnología de gestión de bases de datos.

IBM Cloudant es una base de datos distribuida escalable y totalmente administrada desarrollada sobre la base de Apache CouchDB. Permite a los usuarios acceder a sus datos en cualquier momento y en cualquier lugar mientras confían en los expertos de IBM para proporcionar un servicio en la nube totalmente gestionado y respaldado por SLA. IBM ha vuelto a incorporar muchas funciones de código abierto a la comunidad Apache CouchDB, que incluyen, entre otras, la agrupación en clústeres, la búsqueda de texto completo, el lenguaje Mango Query y el panel de administración de Fauxton.

IBM utiliza las funciones de su red de nube global con la compatibilidad y flexibilidad de CouchDB para brindar a las empresas una solución escalable para soluciones de almacenamiento y replicación de datos duraderas y seguras, en entornos globales basados en la nube.

IBM Cloudant utiliza todo el potencial de CouchDB al eliminar la complejidad para los desarrolladores que implementan sistemas de administración de bases de datos mientras crea una forma rentable para que las empresas escalen sus aplicaciones actuales.

Para obtener más información sobre Apache CouchDB, consulte "Análisis en profundidad de la base de datos: CouchDB . "

Regístrese para obtener un ID de IBM (IBMid) y crear su cuenta de IBM Cloud.


Soluciones relacionadas

IBM Cloudant

La capa de datos para aplicaciones de hiperescala resilientes y disponibles a nivel global, basada en Apache CouchDB de código abierto