A prova de conceito pode ser exatamente o que você precisa para começar quando estiver avaliando o Couchbase.
Temos blogado muito sobre o lado técnico da mudança de um banco de dados relacional como Oracle ou SQL Server para o Couchbase. Aqui estão alguns dos recursos e postagens que publicamos:
- Como o Couchbase supera a Oracle
- Couchbase para desenvolvedores Oracle: Parte 1 Parte 2 Parte 3
- Ferramenta CSV para migrar do Relacional para o Couchbase
- Modelagem de dados JSON para usuários de RDBMS (e vídeo)
- Mudança de
De relacional para NoSQL: Como começar papel branco
Mas, nesta postagem, falaremos mais sobre o processo geral em vez dos detalhes técnicos. Você verá cinco etapas para criar uma prova de conceito bem-sucedida. E se precisar de ajuda para começar, você pode Fale com um engenheiro de soluções do Couchbase.
Etapas da prova de conceito
Essas etapas não servem apenas para migrar um aplicativo existente para o Couchbase, elas também funcionam muito bem para criar um novo aplicativo "greenfield" com o Couchbase, ou até mesmo aumentar um banco de dados existente (em vez de substituí-lo completamente).
Ao criar uma Prova de Conceito, é uma boa ideia manter o escopo o mais pequeno e simples possível. Algumas perguntas a serem feitas:
- Ela provará/desmentirá o que você precisa e o ajudará a passar para a próxima etapa?
- Isso pode ser feito rapidamente? Se levar muito tempo ou não for uma prioridade, pode fracassar.
- Pergunte a Membro da equipe técnica do Couchbase: isso é uma boa opção para o Couchbase? Você pode aproveitar a experiência deles para se poupar de alguns problemas.
Selecione um caso de uso e um aplicativo
Quando converso com as pessoas sobre o Couchbase e o NoSQL, digo a elas que a única coisa pior do que não que usam o Couchbase estão usando o Couchbase para a coisa errada e estão ficando desanimados com os bancos de dados de documentos.
"Diferente nem sempre é melhor, mas melhor é sempre diferente." - Autor desconhecido
- Sabedoria em programação (@CodeWisdom) 16 de maio de 2017
Os benefícios de um banco de dados distribuído como o Couchbase são:
- Melhor desempenho
- Melhor escalabilidade
- Maior disponibilidade
- Maior agilidade/flexibilidade dos dados
- Melhoria do gerenciamento operacional
Se o seu aplicativo puder se beneficiar de uma dessas características, vale a pena dar uma olhada no Couchbase. O Couchbase pode não ser a melhor opção se você precisar de transações com vários documentos. Mas, como mostrei em meu post sobre modelagem de dadosSe você puder agrupar os dados em vez de espalhá-los em partes, talvez não precise tanto de transações com vários documentos quanto pensa.
Além disso, as conversas com os clientes do Couchbase nos levaram a identificar a necessidade de ir além de um banco de dados tradicional para alimentar interações. Marriott chama isso de índice "look-to-book".

Se você está em uma situação em que precisa registrar transações em seu banco de dados tradicional, mas deseja um banco de dados de baixa latência, flexível e dimensionável para alimentar todas as interações que levam a isso, o Couchbase pode ser a opção certa para você.
Alguns casos de uso para os quais o Couchbase tem sido uma ótima opção incluem:
- Catálogo de produtos (destaque para o cliente): Tesco)
- Rastreamento de ativos
- Gerenciamento de conteúdo (destaque para o cliente): substituição do SQL Server pelo Couchbase para gerenciamento de conteúdo)
- Configuração de aplicativos
- Gerenciamento de clientes (destaque para o cliente): DirecTV)
- Serviço de metadados de arquivo ou streaming
- E muito mais: confira nosso whitepaper sobre os 10 principais casos de uso corporativo para NoSQL
Definir os critérios de sucesso
Depois de decidir que tem um caso de uso que seria bom para o Couchbase, você precisa definir o que significa uma prova de conceito bem-sucedida.
Exemplos de critérios:
- Melhorias no desempenho/latência - Isso pode se resumir a um número, como "latência de 5 ms no 95º percentil".
- Facilidade de dimensionamento - Qual é a facilidade de escalonamento agora? Quanto tempo é necessário para uma pessoa? Quantos sábados às duas da manhã você precisa trabalhar para fazer upgrades?
- Ciclos de desenvolvimento mais rápidos - O gerenciamento de esquemas consome muito tempo em seus sprints? Uma prova de conceito com o Couchbase pode ajudar a demonstrar se um modelo flexível economizará seu tempo.
- Manutenção e custos
"O aspecto mais importante do desenvolvimento de software é ter clareza sobre o que você está tentando construir." - Bjarne Stroustrup
- Sabedoria em programação (@CodeWisdom) 6 de maio de 2016
Seja qual for o critério, é bom defini-lo no início, para que você possa trabalhar para tentar alcançá-lo. Um objetivo vago como "Eu só quero brincar com o NoSQL" é bom para um desenvolvedor individual, mas um critério de sucesso bem definido será fundamental para convencer os tomadores de decisão.
Entenda seus dados
Como falei no artigo Postagem sobre modelagem de dados JSONPor isso, é importante que você entenda seus dados antes mesmo de começar a escrever qualquer código. Você precisa entender o que vai modelar e como seu aplicativo precisa funcionar.
A migração de um banco de dados relacional para um banco de dados de documentos não será um exercício puramente mecânico. Se você planeja migrar dados, é melhor começar pensando em como eles seriam, independentemente de como estão armazenados atualmente. Desenhe um conceito disso em um quadro branco sem usar "tabelas" ou "documentos".
"Semanas de codificação podem economizar horas de planejamento." - Desconhecido
- Sabedoria em programação (@CodeWisdom) 22 de agosto de 2017
Identificar os padrões de acesso
Também falei sobre isso em meu Postagem sobre modelagem de dados JSON. O Couchbase é muito flexível na forma como pode armazenar dados. Mas o acesso aos dados também é flexível. O design do seu modelo deve levar isso em conta.
"Descubra suas estruturas de dados, e o código virá em seguida." - William Laeder
- Sabedoria em programação (@CodeWisdom) 24 de janeiro de 2018
Naquela postagem do blog, apresentei algumas regras básicas para documentos aninhados/separados. Em um nível mais alto, você pode começar pensando no acesso aos dados da seguinte forma:
- Chave/valor - A capacidade de obter/alterar um documento com base em sua chave. Esse é o método mais rápido e de menor latência disponível no Couchbase.
- Consulta N1QL - O N1QL é um SQL para dados JSON, disponível no Couchbase. Ele pode consultar dados de praticamente qualquer maneira que você possa imaginar. O mais importante é que você pode consultar dados com base em algo outros do que sua chave.
- Pesquisa de texto completo - Quando você precisa fazer consultas com base em texto de uma forma que leve em conta o idioma. Excelente para pesquisas orientadas pelo usuário, por exemplo.
- Mapa/Redução - Escrever uma função pura para calcular os resultados da consulta antes do tempo. O N1QL está tirando grande parte da carga de trabalho do M/R, mas ainda é bom para alguns tipos especializados de agregação.
- Geoespacial - Consulta de documentos com base em algumas informações geográficas/localização.
- Análises/relatórios - Couchbase Analytics (atualmente em visualização) pode lhe dar acesso não operacional altamente indexado aos seus dados. Você pode executar relatórios complexos sem afetar os usuários do dia a dia.
Revisar a arquitetura
Ao final da prova de conceito, você pode medir seus resultados em relação aos critérios que criou no início.
Pode ser uma boa ideia iterar essa prova de conceito: você pode aplicar o que aprendeu em cada iteração subsequente. Se você mantiver as iterações curtas, poderá aprender mais rapidamente o que foi aplicado. A propósito, isso não se aplica apenas ao Couchbase, mas a qualquer coisa!
"Quando usar o desenvolvimento iterativo? Você deve usar o desenvolvimento iterativo apenas em projetos que você deseja que sejam bem-sucedidos." - Martin Fowler
- Sabedoria em programação (@CodeWisdom) 22 de novembro de 2017
Por fim, se sua prova de conceito for um sucesso (e eu sei que será), é hora de se preparar para a produção. Reserve um tempo para analisar a arquitetura, as decisões que você tomou, o que funcionou bem, o que não funcionou bem e assim por diante. Quanto mais você documentar, melhor será para o restante da sua equipe e organização no próximo projeto.
Resumo
Criar uma prova de conceito com estas cinco etapas o ajudará a ter sucesso! Tudo o que resta a fazer é começar:
- Download do servidor Couchbase e experimente hoje mesmo.
- Publique suas perguntas na seção Fórum do Couchbase
- Confira Treinamento on-line gratuito do Couchbase
- Entre em contato com um engenheiro de soluções para obter recursos e ajuda
- Entre em contato comigo no Twitter @mgroves se você tiver alguma dúvida ou comentário (ou deixe um comentário abaixo).