Couchbase es una plataforma de base de datos NoSQL que ofrece varias ediciones y opciones de despliegue, incluyendo un binario de instalación gratuita, así como una base de datos totalmente gestionada como un servicio. Este blog compara brevemente nuestra edición gratuita Couchbase Community Edition con Couchbase Capella™ DBaaS, y presenta algunas de las ventajas de actualizarse al servicio gestionado. Para garantizar que ambas ediciones se evaluaran en las mismas condiciones, implementé y ejecuté la carga de trabajo E de la especificación YCSB (Yahoo! Cloud Serving Benchmark) como referencia.
¿Qué es Couchbase Community Edition (CE)?
Community Edition (CE) es un binario de instalación gratuita de la base de datos distribuida NoSQL Couchbase Server. Está diseñada para aplicaciones muy sencillas que necesitan un almacén de datos JSON flexible y capacidades básicas de disponibilidad, rendimiento, escalado y seguridad. Las aplicaciones desarrolladas en CE son totalmente portables a Capella. Sin embargo, los clusters están limitados a cinco nodos por su licencia BSL 1.1. CE incluye varios modelos servicios de acceso a datos que interactuar con los datos en un clúster CE:
-
- Clave-valor: La capacidad de leer/escribir datos a través de una búsqueda "clave", que es extremadamente rápida, especialmente dada la arquitectura de memoria de Couchbase, y es genial para la simplicidad.
- SQL++ (SQL para JSON): El soporte de sintaxis SQL es un método de acceso a datos estándar del sector de las bases de datos.
- Búsqueda de texto completo (FTS): Un "motor de búsqueda" de datos de texto que también admite búsquedas geográficas y coincidencias de búsqueda difusas.
¿Qué es Couchbase Capella?
Couchbase Capella es un servicio totalmente gestionado Base de datos como servicio (DBaaS) que permite a los usuarios centrarse en utilizar la funcionalidad disponible en el producto eliminando las actividades de gestión de la base de datos. Es la forma más fácil y rápida de empezar a trabajar con Couchbase. Para el acceso multimodelo, Capella ofrece búsqueda clave-valor, SQL++ y de texto completo junto con servicios adicionales de Couchbase como:
-
- Analítica: Consulte datos con consultas SQL++ complejas y ad hoc en un entorno aislado compatible con varios usuarios.
- Concurso completo: Los desarrolladores pueden escribir funciones JavaScript que respondan a eventos de cambio de datos.
- App Services para sincronización móvil móvil: Couchbase Lite, la primera base de datos incrustada offline, ofrece sincronización de datos peer-to-peer y cliente/servidor con Couchbase Server.
Comparación
Para garantizar la simetría y un punto de referencia igual, se ejercitó la misma carga de trabajo de YCSB contra CE y Capella. Carga de trabajo E es una carga de trabajo de escaneo de corto alcance en la que se consultan rangos de registros en lugar de registros individuales con un ratio de escaneo/actualización de 95%-5%. Esta carga de trabajo simula conversaciones enhebradas con muchas solicitudes de escaneo y actualizaciones periódicas. En situaciones reales, un ejemplo de operación de escaneado es una aplicación de comercio electrónico con usuarios que consultan un catálogo de productos y ocasionalmente compran productos que generan algunas solicitudes de actualización.
La comparación se centró en la instalación y la configuración del clúster, así como en el rendimiento de CE en comparación con Capella. Se utilizaron máquinas de 8 CPU y 16 GB de RAM para el clúster de Capella, y c4.2xlarge instancias EC2 coincidentes para el clúster de CE ejecutando el sistema operativo Ubuntu 18.04.4 LTS en clústeres de cinco nodos debido a la limitación de nodos de CE. La carga de trabajo se ejecutó en 20.000.000 registros utilizando cinco clientes de acceso, cada uno de los cuales emitió 20 subprocesos de trabajador para un total de 100 subprocesos. Se utilizaron las siguientes consultas de exploración/actualización para ejecutar la carga de trabajo E.
Consulta SCAN utilizando Couchbase SQL++:
|
1 |
SELECT meta().id FROM `bucket` WHERE meta().id >= $1 ORDER BY meta().id LIMIT $2 |
Consulta UPDATE usando Couchbase SQL++:
|
1 |
collection.replace(id, content, replaceOptions().timeout(kvTimeout).expiry(documentExpiry).durability(persistTo, replicateTo)) |
Instalación y configuración del clúster
Aunque la configuración de un clúster CE es fácil para una plataforma de código abierto, no se puede comparar con Capella DBaaS en términos de nivel de esfuerzo. La instalación de CE implicó varios pasos:
-
- Crear cinco máquinas AWS EC2 con el sistema operativo Ubuntu 18.04.4 LTS
- Instalar CE en cada nodo; los pasos mínimos para el SO son:
Descargue el metapaquete.
-
-
-
-
1curl -O https://packages.couchbase.com/releases/couchbase-release/couchbase-release-1.0-amd64.deb
-
-
-
Instale el paquete meta.
-
-
-
-
1sudo dpkg -i ./couchbase-release-1.0-amd64.deb
-
-
-
Recarga la base de datos local de paquetes.
-
-
-
-
1sudo apt-get update
-
-
-
Instale el último paquete de Couchbase Server CE.
-
-
-
-
1sudo apt-get install couchbase-server-community
-
-
-
-
- Crear un clúster en un nodo CE
- Inicie sesión en la máquina primaria y añada cada nodo al clúster basándose en la IP del nodo
La creación de un cluster Capella requiere los siguientes pasos:
-
- Sólo tiene que inscribirse en cuenta
- Crear un nuevo proyecto utilizando la interfaz de usuario de Capella Control Plane
- Crear un clúster utilizando la misma interfaz de usuario
Rendimiento
CE no dispone de escalado multidimensional (MDS) completo. Las combinaciones de nodos se limitan a datos, índice, consulta; búsqueda de texto completo, datos, índice, consulta; o sólo datos. Esto significa que las combinaciones de servicios no pueden modelarse para adaptarse perfectamente a cargas de trabajo específicas. Un cluster CE sólo puede contener cinco nodos o menos y los servicios Couchbase Analytics y Eventing no están disponibles. Este límite de nodos significa que CE es más adecuado para entornos pequeños, no de producción. Las réplicas de índices tampoco están disponibles. Esto puede afectar al rendimiento del cluster CE. En la comparación YCSB Workload E, Capella tuvo aproximadamente 3 veces mejor rendimiento y 20% menor latencia.
Las capturas de pantalla del gráfico de utilización de la CPU que aparecen a continuación muestran cómo un clúster CE que ejecuta la carga de trabajo E de la especificación YCSB sólo utiliza plenamente un nodo frente a un clúster Capella en el que todos los nodos se utilizan para el procesamiento. Con Capella no hay capacidad desaprovechada, todos los nodos están totalmente disponibles y pueden tener índices replicados. Esto significa que Capella supera el rendimiento de CE con menos hardware, lo que se traduce en menores costes totales.

Resumen
Esta comparación de la carga de trabajo E de YCSB demuestra que Couchbase Capella es una base de datos más completa que Couchbase Community Edition. Capella es más flexible e incluye servicios adicionales como Analytics, Eventing y una suite Mobile madura. Por otro lado, limitaciones como la ausencia de réplicas de índices, un MDS restringido y un límite máximo de cinco nodos hacen que CE sea más adecuada para cargas de trabajo más pequeñas en las que el rendimiento es menos importante.
Con Capella, obtendrá un rendimiento tres veces superior y un diseño nativo de la nube, todo ello con escalabilidad ilimitada, alta disponibilidad con georreplicación, replicación entre centros de datos (XDCR) y recuperación flexible en caso de desastre. Capella reduce el coste total de propiedad (TCO) al eliminar prácticamente los costes operativos y de gestión, al tiempo que proporciona un almacén de documentos NoSQL de nivel empresarial para satisfacer las demandas de las aplicaciones modernas. Esta es la razón por la que necesita actualizar de CE a Capella ¡YA!
Próximos pasos
Más información Couchbase Capella:
-
- Prueba Capella suscribiéndote a un prueba gratuita de 30 días.
- Conecte su grupo de prueba al Playground o conecta un proyecto para probarlo por ti mismo.
- Si ya estás utilizando Capella, puedes interactuar con tu cluster utilizando el shell interactivo de Couchbase o a través del plano de Control de Capella para:
- Consulte el visor de documentos
- Conectarse a un proyecto
- Eche un vistazo al Ruta de aprendizaje Capella!
Tutoriales
En Portal para desarrolladores de Couchbase tiene toneladas de tutoriales/guías de inicio rápido y vías de aprendizaje para ayudarle a empezar.
Consulte la documentación para obtener más información sobre los SDK de Couchbase.
Gracias por leer este artículo. Si tiene alguna pregunta o comentario, por favor conéctese con nosotros en el Couchbase Foros