Los conceptos erróneos sobre NoSQL existen desde hace mucho tiempo. Esta serie de blogs se cierra ahora con un debate sobre lo que significa ser "lo más temido" y lo que significa dar memoria a una base de datos.
No deje de consultar las entradas anteriores de esta serie:
En este post, volveré a examinar algunas de las conceptos erróneos que MongoDB ha hecho sobre Couchbase y NoSQL.
¿Es Couchbase la "base de datos más temida"?
Mongo llama la atención sobre la encuesta Stack Overflow Developer Survey de 2020, que ya tiene dos años. Es cierto que Couchbase ocupaba una posición baja en esa encuesta. Sin embargo, no es porque los desarrolladores marcaran una casilla que dijera "me aterra esta base de datos" (se deduce de las casillas de verificación sobre los proyectos previstos para el próximo año).
Además, el nombre "Couchbase" se confunde a menudo con "CouchDB", de nombre similar pero muy diferente (un suposición errónea común que incluso Mongo hizo en su página web). Así lo demuestran los resultados más recientes del Encuesta para desarrolladores 2022, que añadió CouchDB como opción diferenciada. Desde 2020, Couchbase ha seguido subiendo en los resultados de las encuestas de 2021 y 2022, con un aumento de más de 11 puntos desde 2021.
Y aún más importante de señalar, es que mientras Couchbase ciertamente tiene trabajo que hacer en términos de conciencia, las dos bases de datos más importantes en la encuesta son PostgreSQL y Redis. Se trata de dos bases de datos que proporcionan un excelente soporte SQL y almacenamiento en caché, como dos productos separados. Claramente, SQL y la arquitectura memory-first son dos cosas que los desarrolladores quieren, y Couchbase ya reúne esas cosas.
Para los 6.803 desarrolladores que "temen" trabajar con Mongo, podrían considerar consultar Couchbase Capellasi buscas la flexibilidad de JSON y la familiaridad de SQL (después de todo, dos de los tres lenguajes más utilizados en la encuesta son JavaScript y SQL).
La encuesta para desarrolladores de Stack Overflow es importante, y Couchbase siempre está trabajando para mejorar la experiencia de los desarrolladores. Si estás interesado en otras encuestas y premios donde Couchbase lo hizo bien, echa un vistazo:
-
- TrustRadius mejor valoradoconcedido en función de la opinión directa de los clientes
- DBTA 100 - las empresas más importantes, según Database Trends and Applications
- Los 50 lugares de trabajo más inspiradores
- Las mejores empresas de sistemas de bases de datos de 2022
- 7 premios de G2un sitio de revisión entre iguales
- A Producto del año de CRN.
Sí, todavía tenemos mucho trabajo por hacer. Pero Couchbase se preocupa por los desarrolladores y continuará construyendo y mejorando para satisfacer sus necesidades.
¿No pueden todas las bases de datos utilizar memoria?
Este último concepto erróneo se refiere a cómo utilizan la memoria las bases de datos. Puede ser un tema complejo, pero en términos generales, el uso de memoria en las bases de datos se divide en dos categorías:
-
- Amortiguación
- Almacenamiento en caché
Estos términos describen cosas muy diferentes, pero a menudo se utilizan (erróneamente) indistintamente.
¿Qué es un búfer?
En pocas palabras, un búfer se utiliza para suavizar la velocidad a la que se mueven los datos. Los resultados de una consulta pueden colocarse en un búfer, de modo que el cliente pueda leerlos del búfer en lugar de hacerlo directamente del proceso de consulta. Una vez consumidos los resultados, los datos dejan de estar en el búfer.
¿Qué es un caché?
Por otro lado, almacenamiento en caché se utiliza para acceder rápidamente a los datos de forma repetida. El resultado de una búsqueda clave-valor obtenida del disco la primera vez puede almacenarse en memoria para la próxima vez que sea necesario acceder a él. Los datos permanecerán en la caché hasta que sean "invalidados" (caducados, o expulsados, o cualquiera que sea el mecanismo de almacenamiento en caché).
Esta presentación de UPS para clientes de Couchbase discute (entre otras cosas) la implementación de la caché gestionada de Couchbase, y los beneficios de una caché gestionada:
Es cierto que casi todas las bases de datos utilizan búfer y es cierto que el espacio para el búfer podría ajustarse, y eso podría mejorar el rendimiento. Pero NO es cierto que todas las bases de datos tengan una caché gestionada incorporada. Esta es la razón por la que, por ejemplo, Redis (un sistema de caché) a menudo se empareja con bases de datos que no tienen alguna capacidad de almacenamiento en caché.
Couchbase tiene un caché gestionada integradapor lo que no es necesario instalar ninguna herramienta adicional para el almacenamiento en caché ni preocuparse de que se desincronice: todo es automático.
Así pues, ten esto en cuenta cuando evalúes la configuración de la memoria de la base de datos: ¿afecta al almacenamiento en búfer, al almacenamiento en caché o a ambos?
¿Debería ponerlo todo en la memoria?
Pues claro. Es una forma de hacerlo. Para determinados tamaños de bases de datos, es factible y asequible. Para bases de datos de mayor tamaño (por ejemplo, de varios terabytes), puede que no sea la vía más asequible. Y, de todos modos, es posible que ni siquiera utilices una parte suficiente de esos datos con regularidad.
Entra: El nuevo Motor de almacenamiento Magmaque puede aportar soporte de varios terabytes a sus datos con una relación memoria/datos de tan sólo 1%.
¿Y ahora qué?
Gracias por leer esta serie sobre conceptos erróneos de NoSQL.
¿Quiere seguir debatiendo? Le invitamos a unirse al Couchbase Discord para más conversaciones, preguntas y respuestas con el personal y la comunidad de Couchbase. Echa un vistazo también al nuevo Centro de la comunidad Couchbase.