Patente afirma a liderança técnica da Couchbase na otimização de consultas NoSQL

Em 14 de dezembro de 2021, o Escritório de Patentes e Marcas Registradas dos EUA concedeu à Couchbase o seu primeira patente

A equipe de engenharia do Couchbase tem estado na vanguarda da evolução do desempenho dos bancos de dados de documentos na última década. O compromisso de nossos engenheiros com a excelência é a razão pela qual algumas das maiores empresas do mundo agora confiam no Couchbase para seus aplicativos de missão crítica. Recentemente, patenteamos uma nova abordagem de otimização baseada em custo (CBO) para consultas a bancos de dados orientados a documentos como parte desse compromisso. A engenharia do Couchbase trouxe o poder da otimização baseada em custo para o NoSQL pela primeira vez, e essa concessão de patente reconhece a inovação.  

Parabenizamos Bingjie Miao, Keshav Murthy, Marco Grecoe Prathibha Bisarahalli por seu trabalho impressionante!

Esta postagem explicará a otimização baseada em custo (CBO), por que ela é importante e por que a CBO para consultas a bancos de dados de documentos é exclusiva do Couchbase.

O que é otimização baseada em custos?

A otimização baseada em custo (ou CBO) é um processo para selecionar a maneira mais eficiente de executar uma consulta a um banco de dados, considerando o custo de memória, CPU, transporte de rede e uso de disco. A CBO compara o custo de rotas de consulta alternativas e, em seguida, seleciona o plano de execução de consulta com o menor custo. 

Keshav Murthy, nosso vice-presidente de engenharia e um dos autores da patente, usa a seguinte analogia de mapa para explicar o que é CBO:

"Uma maneira de entender a CBO é considerar um avião plano de vooPor exemplo, um avião pode tomar qualquer número de caminhos para ir de São Francisco a São Paulo, mas há apenas alguns caminhos ideais quando você considera os custos de combustível, a resistência do vento, o tráfego aéreo etc. Da mesma forma, uma consulta ao banco de dados precisa de um plano de consulta. Há muitas maneiras de executar a consulta, mas apenas alguns planos ideais. 

Uma maneira de selecionar um caminho de consulta é usar uma otimização baseada em regras (Rule-based Optimization, RBO), que toma decisões sobre o caminho da consulta com base em regras (por exemplo, sempre preferir índices com o maior número de chaves). No entanto, a RBO pode ficar muito confusa e ineficiente rapidamente. E raramente produz o caminho de consulta mais ideal. No mundo dos bancos de dados NoSQL, a maioria dos bancos de dados ainda utiliza a otimização baseada em regras.

A otimização baseada em custos pega uma consulta enviada pelo usuário, seleciona entre milhões de planos de consulta e escolhe o plano de maior desempenho e eficiência de recursos para a execução da consulta com base em estatísticas."

Por que a otimização baseada em custos é importante?

As implicações do CBO são que as consultas utilizam menos memória, menos disco, menos E/S, menos partições, menos estouro, o que resulta em menor latência e menor custo para os usuários. Isso é particularmente significativo para bancos de dados que lidam com um grande número de transações - até mesmo pequenas melhorias de desempenho podem ter um impacto significativo.

Keshav Murthy continuou explicando por que o CBO é importante, novamente usando uma analogia com um mapa:

"Quando é importante - como chegar a tempo ao recital de seu filho ou a um jogo de futebol - você usaria um mapa de direção estático que não leva em conta o tráfego? O otimizador de rotas do Google Maps otimizará o tempo. Os otimizadores desenvolvem um plano para executar a consulta com o mínimo de recursos: CPU, memória. Sabendo disso, por que você aceitaria uma regra estática (ou forma de consulta!) em sua carga de trabalho de banco de dados crítica para os negócios?

O otimizador de consultas do banco de dados toma decisões. Essas decisões têm implicações importantes no desempenho da consulta, no rendimento do sistema e em sua capacidade de cumprir os SLAs. Os bancos de dados com um otimizador melhor facilitarão o desenvolvimento, o gerenciamento e o cumprimento dos SLAs."

Como o CBO para bancos de dados de documentos é exclusivo do Couchbase

A otimização baseada em custos (CBO) para SQL existe há mais de 40 anos e tem sido fundamental para o sucesso do RDBMS e da produtividade do desenvolvedor. No entanto, o CBO não estava disponível para consultas a bancos de dados de documentos até que a Couchbase implementou o CBO para N1QL com a versão 6.5 do Couchbase Server em 2019. Desde então, nossos clientes têm aproveitado os benefícios de desempenho do CBO para suas consultas - o que é particularmente importante para muitos de nossos clientes que dependem do alto desempenho do Couchbase para alimentar seus aplicativos mais críticos.

A concessão da patente representa um compromisso técnico da Couchbase em fornecer os melhores elementos de SQL para nossa plataforma de banco de dados NoSQL. E, com a recente concessão da patente, o Couchbase é o único provedor de banco de dados de documentos capaz de executar de forma inteligente a otimização baseada em custos para consultas a bancos de dados NoSQL - o que tem enormes implicações no desempenho e no custo. Antes de decidir por um banco de dados NoSQL, pergunte ao seu fornecedor:  Você tem um otimizador baseado em custos?

Mais uma vez, parabéns à nossa equipe de engenharia pelo trabalho árduo e contínuo para desenvolver o padrão de excelência para bancos de dados de documentos.

Saiba mais sobre a otimização baseada em custo para o Couchbase!

Assista a vídeo curto ou leia o documentação para obter uma visão geral da otimização baseada em custo no N1QL.

Para conhecer a fundo o CBO for N1QL, recomendo a leitura dos seguintes posts do blog de Keshav Murthy, nosso vice-presidente de engenharia:

Obrigado pela leitura!

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Vinai Amble

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.