Os conceitos errôneos sobre NoSQL existem há muito tempo. Esta série do blog está sendo concluída com uma discussão sobre o que significa ser "o mais temido" e o que significa dar memória a um banco de dados.
Não deixe de conferir as postagens anteriores desta série:
Nesta postagem, examinarei novamente alguns dos concepções errôneas que o MongoDB fez sobre o Couchbase e o NoSQL.
O Couchbase é o "banco de dados mais temido"?
Mongo chama a atenção para a Pesquisa de Desenvolvedores do Stack Overflow de 2020, que agora está dois anos desatualizada. É verdade que o Couchbase foi classificado em uma posição baixa nessa pesquisa. No entanto, não é porque os desenvolvedores marcaram uma caixa que dizia "Eu temo esse banco de dados" (isso é inferido a partir de caixas de seleção sobre projetos planejados para o próximo ano).
Além disso, o nome "Couchbase" é frequentemente confundido com o nome semelhante, mas muito diferente, "CouchDB" (um suposição errônea comum de que até mesmo o Mongo fez em sua página da Web). Isso foi comprovado com os resultados mais recentes do Pesquisa com desenvolvedores 2022que adicionou o CouchDB como uma opção distinta. Desde 2020, o Couchbase continuou a subir nos resultados das pesquisas de 2021 e 2022, com um aumento de mais de 11 pontos desde 2021.
E ainda mais importante é observar que, embora o Couchbase certamente tenha trabalho a fazer em termos de conscientização, os dois principais bancos de dados da pesquisa são o PostgreSQL e o Redis. Esses são dois bancos de dados que oferecem excelente suporte a SQL e armazenamento em cache, como dois produtos separados. Claramente, SQL e arquitetura memory-first são duas coisas que os desenvolvedores querem, e o Couchbase já reúne essas coisas.
Para os 6.803 desenvolvedores que "temem" trabalhar com o Mongo, você pode considerar dar uma olhada no Couchbase CapellaSe você estiver procurando a flexibilidade do JSON e a familiaridade do SQL (afinal, duas das três principais linguagens da pesquisa são JavaScript e SQL).
A Pesquisa para Desenvolvedores do Stack Overflow é importante, e o Couchbase está sempre trabalhando para melhorar a experiência do desenvolvedor. Se estiver interessado em outras pesquisas e prêmios em que o Couchbase se saiu bem, confira:
-
- TrustRadius mais bem avaliadoO prêmio é concedido com base no feedback direto dos clientes
- DBTA 100 - as empresas que mais importam, de acordo com a Database Trends and Applications
- Os 50 melhores locais de trabalho inspiradores
- As empresas de sistemas de banco de dados mais interessantes de 2022
- 7 prêmios do G2, um site de avaliação ponto a ponto
- A Produto do ano do CRN.
Sim, ainda temos muito trabalho a fazer. Mas o Couchbase se preocupa com os desenvolvedores e continuará a desenvolver e melhorar para atender às suas necessidades.
Todo banco de dados não pode usar memória?
Esse último equívoco é sobre como os bancos de dados usam a memória. Pode ser uma questão complexa, mas, de modo geral, o uso da memória em bancos de dados se divide em duas categorias:
-
- Armazenamento em buffer
- Armazenamento em cache
Esses termos descrevem coisas muito diferentes, mas são frequentemente usados (erroneamente) de forma intercambiável.
O que é um buffer?
Em poucas palavras, um buffer é usado para suavizar a velocidade com que os dados são movimentados. Os resultados de uma consulta podem ser colocados em um buffer, de modo que o cliente possa ler do buffer em vez de diretamente do processo de consulta. Depois que os resultados são consumidos, os dados não estão mais no buffer.
O que é um cache?
Por outro lado, armazenamento em cache é usado para fornecer acesso rápido aos dados repetidamente. O resultado de uma pesquisa de valor-chave buscado no disco na primeira vez pode ser armazenado na memória para a próxima vez que precisar ser acessado. Os dados permanecerão no cache até serem "invalidados" (expirados, expulsos ou qualquer que seja o mecanismo de cache).
Esta apresentação de UPS do cliente Couchbase discute (entre outras coisas) a implementação do Managed Cache do Couchbase e os benefícios de um cache gerenciado:
É verdade que quase todos os bancos de dados usam buffer e é verdade que o espaço para buffer pode ser ajustado, o que pode melhorar o desempenho. Mas NÃO é verdade que todo banco de dados tenha um cache gerenciado integrado. É por isso que, por exemplo, o Redis (um sistema de cache) é frequentemente combinado com bancos de dados que não têm recursos de cache.
O Couchbase tem um cache gerenciado incorporadoPortanto, você não precisa instalar nenhuma ferramenta adicional para armazenamento em cache nem se preocupar com a falta de sincronia: é tudo automático.
Portanto, tenha isso em mente ao avaliar a configuração da memória do banco de dados: ela afeta o armazenamento em buffer, o armazenamento em cache ou ambos?
Devo colocar tudo na memória?
Bem, claro. Esse é um caminho a seguir. Para determinados tamanhos de bancos de dados, isso é viável e econômico. Para bancos de dados maiores (por exemplo, vários terabytes), esse pode não ser o caminho mais econômico. E, de qualquer forma, talvez você nem esteja usando uma quantidade suficiente desses dados regularmente.
Entre: O novo Mecanismo de armazenamento de magmaque pode oferecer suporte a vários terabytes para seus dados com uma taxa de memória para dados de apenas 1%.
O que vem a seguir?
Obrigado por ler esta série sobre conceitos errôneos de NoSQL.
Quer discutir mais? Você é bem-vindo a participar do Discórdia do Couchbase para mais conversas, perguntas e respostas com a equipe e a comunidade do Couchbase. Confira também o novo Centro Comunitário do Couchbase.