O Couchbase é uma plataforma de banco de dados NoSQL que oferece várias edições e opções de implementação, incluindo um binário de instalação gratuito e um banco de dados totalmente gerenciado como serviço. Este blog compara brevemente nosso Couchbase Community Edition gratuito com Couchbase Capella™ DBaaS, e apresenta alguns dos benefícios de fazer upgrade para o serviço gerenciado. Para garantir que as duas edições fossem avaliadas sob as mesmas condições, implementei e executei a carga de trabalho E da especificação YCSB (Yahoo! Cloud Serving Benchmark) como linha de base.
O que é o Couchbase Community Edition (CE)?
O Community Edition (CE) é um binário de instalação gratuita do banco de dados NoSQL distribuído do Couchbase Server. Ele foi projetado para aplicativos muito simples que precisam de um armazenamento de dados JSON flexível e recursos básicos de disponibilidade, desempenho, dimensionamento e segurança. Os aplicativos desenvolvidos no CE são totalmente portáteis para o Capella. Não há bloqueio para o ambiente do CE, no entanto, os clusters são limitados a cinco nós por sua licença BSL 1.1. O CE inclui vários modelos serviços de acesso a dados que interagir com os dados em um cluster de EC:
-
- Valor-chave: A capacidade de ler/gravar dados por meio de uma pesquisa de "chave", que é extremamente rápida, especialmente devido à arquitetura que prioriza a memória do Couchbase, e é excelente para a simplicidade.
- SQL++ (SQL para JSON): O suporte à sintaxe SQL é um método de acesso a dados padrão do setor de bancos de dados.
- Pesquisa de texto completo (FTS): Um "mecanismo de pesquisa" de texto para dados que também suporta pesquisas baseadas em geografia e correspondências de pesquisa difusas.
O que é o Couchbase Capella?
Couchbase Capella é uma empresa totalmente gerenciada Banco de dados como serviço (DBaaS) que permite que os usuários se concentrem na utilização da funcionalidade disponível no produto, eliminando as atividades de gerenciamento de banco de dados. É a maneira mais fácil e rápida de começar a trabalhar com o Couchbase. Para acesso a vários modelos, a Capella oferece valor-chave, SQL++ e pesquisa de texto completo, além de serviços adicionais do Couchbase, como:
-
- Análises: Consultar dados com consultas SQL++ complexas e ad hoc em um ambiente isolado com suporte a vários locatários.
- Eventos: Os desenvolvedores podem escrever funções JavaScript que respondem a eventos de alteração de dados.
- Serviços de aplicativos para sincronização móvel: Primeiro banco de dados incorporável off-line, o Couchbase Lite, que oferece sincronização de dados ponto a ponto e cliente/servidor com o Couchbase Server.
Comparação
Para garantir a simetria e um benchmark igual, a mesma carga de trabalho do YCSB foi usada tanto no CE quanto no Capella. Carga de trabalho E é uma carga de trabalho de varredura de curto alcance na qual são consultados intervalos de registros em vez de registros individuais com uma relação de varredura/atualização de 95%-5%. Essa carga de trabalho simula conversas encadeadas com muitas solicitações de varredura e atualizações periódicas. Em situações reais, um exemplo de operação de verificação é um aplicativo de comércio eletrônico com usuários que visualizam um catálogo de produtos e, ocasionalmente, compram produtos que criam algumas solicitações de atualização.
A comparação concentrou-se na instalação e na configuração do cluster e no desempenho do CE em comparação com o Capella. Usamos máquinas com 8 CPUs e 16 GB de RAM para o cluster do Capella e instâncias EC2 correspondentes c4.2xlarge para o cluster do CE executando o sistema operacional Ubuntu 18.04.4 LTS em clusters de cinco nós devido à limitação de nós do CE. A carga de trabalho foi executada em 20.000.000 de registros usando cinco clientes de acesso, cada um emitindo 20 threads de trabalho para um total de 100 threads. As seguintes consultas de varredura/atualização foram usadas para executar a carga de trabalho E.
Consulta SCAN usando o Couchbase SQL++:
1 |
SELECIONAR meta().id DE `balde` ONDE meta().id >= $1 ORDEM BY meta().id LIMITE $2 |
Consulta UPDATE usando o Couchbase SQL++:
1 |
coleção.substituir(id, conteúdo, replaceOptions().tempo limite(kvTimeout).expiração(expiração do documento).durabilidade(persistTo, replicarPara)) |
Instalação e configuração do cluster
Embora a configuração de um cluster de CE seja fácil para uma plataforma de código aberto, ela não se compara ao Capella DBaaS em termos de nível de esforço. A instalação do CE envolveu várias etapas:
-
- Crie cinco máquinas AWS EC2 com o sistema operacional Ubuntu 18.04.4 LTS
- Instalar CE em cada nó; as etapas mínimas para o sistema operacional são:
Faça o download do meta-pacote.
-
-
-
-
1enrolar -O https://packages.couchbase.com/releases/couchbase-release/couchbase-release-1.0-amd64.deb
-
-
-
Instale o pacote meta.
-
-
-
-
1sudo dpkg -i ./couchbase-liberação-1.0-amd64.deb
-
-
-
Recarregar o banco de dados de pacotes local.
-
-
-
-
1sudo apto-obter atualização
-
-
-
Instale o pacote mais recente do Couchbase Server CE.
-
-
-
-
1sudo apto-obter instalar couchbase-servidor-comunidade
-
-
-
-
- Criar um cluster em um nó CE
- Faça login na máquina principal e adicione cada nó ao cluster com base no IP do nó
A criação de um cluster do Capella requer as seguintes etapas:
-
- Basta se inscrever em um conta
- Crie um novo projeto usando a interface de usuário do Capella Control Plane
- Crie um cluster usando a mesma interface de usuário
Desempenho
O CE não tem escalonamento multidimensional (MDS) completo. As combinações de nós são limitadas a dados, índice, consulta; pesquisa de texto completo, dados, índice, consulta; ou somente dados. Isso significa que as combinações de serviços não podem ser modeladas para se adequar perfeitamente a cargas de trabalho específicas. Um cluster de CE só pode conter cinco nós ou menos e os serviços Couchbase Analytics e Eventing não estão disponíveis. Esse limite de nós significa que o CE é mais adequado para ambientes pequenos e de não produção. As réplicas de índice também não estão disponíveis. Isso pode afetar o desempenho do cluster do CE. Na comparação da carga de trabalho E do YCSB, o Capella teve uma taxa de transferência aproximadamente 3x melhor e uma latência 20% menor.
As capturas de tela do gráfico de utilização da CPU abaixo demonstram como um cluster CE que executa a carga de trabalho E da especificação YCSB utiliza totalmente apenas um nó em comparação com um cluster Capella em que todos os nós são utilizados para processamento. Com o Capella, não há capacidade desperdiçada, todos os nós estão totalmente disponíveis e podem ter índices replicados. Isso significa que o Capella supera o desempenho do CE com menos hardware, levando a custos gerais mais baixos.
Resumo
Essa comparação da Carga de Trabalho E da YCSB demonstra que Couchbase Capella é um banco de dados mais completo do que o Couchbase Community Edition. O Capella é mais flexível e inclui serviços adicionais como Analytics, Eventing e uma suíte Mobile madura. Por outro lado, limitações como a ausência de réplicas de índice, MDS restrito e um limite máximo de cinco nós tornam o CE mais adequado para cargas de trabalho menores em que o desempenho é menos importante.
Com o Capella, você obtém um desempenho três vezes melhor e um design nativo da nuvem - tudo isso com dimensionamento ilimitado, alta disponibilidade com replicação geográfica, replicação entre centros de dados (XDCR) e recuperação de desastres flexível. O Capella reduz o custo total de propriedade (TCO), praticamente eliminando os custos operacionais e de gerenciamento, ao mesmo tempo em que oferece um armazenamento de documentos NoSQL de nível empresarial para atender às demandas dos aplicativos modernos. É por isso que você precisa fazer o upgrade do CE para o Capella AGORA!
Próximas etapas
Saiba mais sobre Couchbase Capella:
-
- Faça um test drive com a Capella inscrevendo-se para um teste gratuito de 30 dias.
- Conecte seu cluster de teste ao Playground ou conecte um projeto para testá-lo por si mesmo.
- Se você já estiver usando o Capella, poderá interagir com seu cluster usando o shell interativo do Couchbase ou por meio do plano de controle do Capella para:
- Confira o visualizador de documentos
- Conectar-se a um projeto
- Dê uma olhada no Caminho de aprendizado Capella!
Tutoriais
O Portal do desenvolvedor do Couchbase tem toneladas de tutoriais/guias de início rápido e caminhos de aprendizagem para ajudar você a começar!
Consulte a documentação para saber mais sobre os SDKs do Couchbase.
Obrigado por ler este artigo! Se tiver alguma dúvida ou comentário, entre em contato conosco na página Couchbase Fóruns!