El 14 de diciembre de 2021, la Oficina de Patentes y Marcas de EE.UU. concedió a Couchbase su primera patente

El equipo de ingenieros de Couchbase ha estado a la vanguardia de la evolución del rendimiento de las bases de datos documentales durante la última década. El compromiso de nuestros ingenieros con la excelencia es la razón por la que algunas de las mayores empresas del mundo confían ahora en Couchbase para sus aplicaciones más críticas. Como parte de este compromiso, recientemente hemos patentado un novedoso enfoque de optimización basada en costes (CBO) para consultas de bases de datos orientadas a documentos. La ingeniería de Couchbase ha llevado el poder de la optimización basada en costes a NoSQL por primera vez, y esta concesión de patente reconoce la novedosa innovación.  

Felicitamos a Bingjie Miao, Keshav Murthy, Marco Grecoy Prathibha Bisarahalli ¡por su impresionante trabajo!

Este post explicará la optimización basada en costes (CBO), por qué es importante, y por qué la CBO para consultas a bases de datos documentales es exclusiva de Couchbase.

¿Qué es la optimización basada en los costes?

La optimización basada en costes (CBO) es un proceso que permite seleccionar la forma más eficaz de ejecutar una consulta a una base de datos teniendo en cuenta el coste de memoria, CPU, transporte de red y uso de disco. La CBO compara el coste de rutas de consulta alternativas y selecciona el plan de ejecución de consultas con el menor coste. 

Keshav Murthy, nuestro Vicepresidente de Ingeniería y uno de los autores de la patente, utiliza la siguiente analogía cartográfica para explicar qué es CBO:

"Una forma de comprender la CBO es considerar un avión plan de vueloun avión puede tomar cualquier número de rutas para ir de San Francisco a São Paulo, pero sólo hay unas pocas rutas óptimas si se tienen en cuenta los costes de combustible, la resistencia del viento, el tráfico aéreo, etc. Del mismo modo, una consulta a una base de datos necesita un plan de consulta. Hay muchas formas de ejecutar la consulta, pero sólo unos pocos planes óptimos. 

Una forma de seleccionar una ruta de consulta es utilizar una optimización basada en reglas (RBO), que toma decisiones sobre la ruta de consulta basándose en reglas (por ejemplo, preferir siempre los índices con más claves). Sin embargo, RBO puede volverse muy desordenado e ineficiente muy rápidamente. Y rara vez produce la ruta de consulta más óptima. En el mundo de las bases de datos NoSQL, la mayoría de las bases de datos siguen utilizando la optimización basada en reglas.

La optimización basada en los costes toma una consulta enviada por el usuario, la selecciona entre millones de planes de consulta y elige el plan más eficaz y eficiente en recursos para la ejecución de la consulta basándose en estadísticas".

¿Por qué es importante la optimización basada en los costes?

Las implicaciones de CBO son que las consultas aprovechan menos memoria, menos disco, menos IO, menos particiones, menos desbordamiento, lo que se traduce en una menor latencia y un menor coste para los usuarios. Esto es especialmente importante para las bases de datos que gestionan un gran número de transacciones: incluso pequeñas mejoras de rendimiento pueden tener un impacto significativo.

Keshav Murthy continuó explicando por qué es importante la CBO, utilizando de nuevo la analogía del mapa:

"Cuando es importante, como llegar a tiempo al recital de tu hijo o a un partido de béisbol, ¿utilizarías un mapa de direcciones estático que no tiene en cuenta el tráfico? El optimizador de rutas de Google Maps optimizará el tiempo. Los optimizadores desarrollan un plan para ejecutar la consulta con la menor cantidad de recursos: CPU, memoria. Sabiendo esto, ¿por qué aceptarías una regla estática (o forma de la consulta) en la carga de trabajo crítica de su base de datos?

El optimizador de consultas de la base de datos toma decisiones. Estas decisiones tienen implicaciones importantes en el rendimiento de las consultas, el rendimiento del sistema y su capacidad para cumplir los SLA. Las bases de datos con un mejor optimizador facilitarán el desarrollo, la gestión y el cumplimiento de los SLA".

Cómo CBO para bases de datos de documentos es único en Couchbase

La optimización basada en costes (CBO) para SQL existe desde hace más de 40 años y ha sido fundamental para el éxito de RDBMS y la productividad de los desarrolladores. Sin embargo, CBO no estaba disponible para consultas de bases de datos de documentos hasta que Couchbase implementó CBO para N1QL con el lanzamiento de Couchbase Server 6.5 en 2019. Desde entonces, nuestros clientes han disfrutado de los beneficios de rendimiento de CBO para sus consultas, lo que es particularmente importante para muchos de nuestros clientes que confían en el alto rendimiento de Couchbase para impulsar sus aplicaciones más críticas.

La concesión de la patente representa un compromiso técnico de Couchbase para ofrecer los mejores elementos de SQL para nuestra plataforma de base de datos NoSQL. Y con la reciente concesión de la patente, Couchbase es el único proveedor de bases de datos de documentos capaz de ejecutar de forma inteligente la optimización basada en costes para consultas de bases de datos NoSQL, lo que tiene enormes implicaciones en el rendimiento y el coste. Antes de decidirte por una base de datos NoSQL, pregunta a tu proveedor:  ¿Dispone de un optimizador basado en los costes?

Enhorabuena de nuevo a nuestro equipo de ingenieros por su duro trabajo continuo para hacer evolucionar el estándar de excelencia de las bases de datos de documentos.

Obtenga más información sobre la optimización basada en costes para Couchbase.

Ver un vídeo corto o leer el documentación para una visión general de la Optimización Basada en Costes en N1QL.

Para una inmersión profunda en CBO para N1QL, recomiendo la lectura de las siguientes entradas de blog por Keshav Murthy, nuestro VP de Ingeniería:

Gracias por leerme.

Autor

Publicado por Vinai Amble

Dejar una respuesta