Todo desenvolvedor de aplicativos já se deparou com a necessidade de dados de amostra. Seja para testes funcionais ou testes de estresse em escala, é necessário um grande volume de dados significativos para ver o desempenho de um aplicativo em condições reais. Na maioria dos casos, o uso de dados reais de produção está fora de questão devido ao impacto sobre as cargas de trabalho operacionais e sobre a governança e a segurança dos dados, portanto, os dados de amostra são necessários.
Existem ferramentas de geração de dados aleatórios, mas elas normalmente geram apenas dados simples e repetitivos com valores genéricos que não têm nenhuma semelhança com dados complexos de aplicativos. E essas ferramentas raramente conseguem produzir dados suficientes para realmente testar aplicativos em escala e desempenho de nível empresarial.
Recentemente, participei de um esforço de desenvolvimento em que nos deparamos com essa mesma situação: um protótipo de aplicativo de companhia aérea que funcionava bem com uma quantidade minúscula de dados criados manualmente, mas que ainda precisava ser testado em escala com grandes volumes de dados. E para tornar as coisas ainda mais desafiadoras, os dados tinham que ser complexos com elementos aninhados, tornando inúteis as ferramentas de geração de dados que só podiam produzir pequenas quantidades de dados simples.
Para nossa solução, recorremos aos incríveis recursos e à imensa escala do Couchbase CapelaO banco de dados em nuvem como um serviço.
Continue lendo para obter uma visão geral, acompanhe o vídeo de demonstração que mostra a solução em ação ou vá direto para o código no GitHub.
A receita que criamos é simples:
-
- 1 parte do serviço de dados do Couchbase Capella
- 1 parte do serviço de eventos do Couchbase Capella
- 2 Funções de eventos
Misture bem em uma configuração Capella dimensionada de acordo com a quantidade de dados que deseja gerar em um período de tempo específico. Gere os dados desejados e remova-os bem quentes e prontos para uso.
Vamos nos aprofundar nos detalhes!
Couchbase Capella = velocidade e escala
O Couchase Capella é a plataforma de banco de dados em nuvem para aplicativos modernos que combina a agilidade e o desempenho de um banco de dados NoSQL distribuído e os pontos fortes de um RDBMS em um único banco de dados.
Capella é multiusoou seja, é uma combinação de padrões de acesso a dados. Primeiro, ele fornece processamento de valores-chave na memória para uma capacidade de resposta hiper-rápida. Em seguida, fornece armazenamento distribuído de dados baseados em documentos JSON para flexibilidade e resiliência. Além disso, adicione suporte para pesquisa de texto completo, sincronização de dados móveis, IoT/série temporal, análise colunar e muito mais.
Ele também oferece suporte a consultas SQL - normalmente não encontradas em outros bancos de dados de documentos - para que os desenvolvedores possam trabalhar com o Capella usando uma linguagem que já conhecem. Esses são recursos que os clientes não precisam mais reunir a partir de várias tecnologias diferentes, porque eles têm tudo isso em um único banco de dados com o Capella.
A escala e a velocidade da Capella têm a confiança de grandes clientes corporativos e startups, e foram comprovadas em benchmarks que mostram desempenho superior em relação aos concorrentes.
Capella Eventing Service = ação em tempo real
Além dos outros recursos integrados, o Capella oferece Serviço de eventosque permite que os desenvolvedores escrevam funções JavaScript que são chamadas em tempo real quando há alterações nos dados do Capella. As funções são fáceis de criar usando o editor Data Tools Eventing no Plano de Controle do Capella, onde você especifica os buckets de origem que acionam as funções a serem executadas.
Os casos de uso típicos do Eventing Service incluem:
-
- Alertas baseados em limites
- Parâmetros de monitoramento
- Enriquecimento de documentos
- Agendamento de ações futuras
- Ferramentas de pontos de limpeza de dados
- Interação REST externa
100 milhões de documentos em minutos!
Optamos pelo Capella Eventing Service para a geração de dados porque ele nos deu a flexibilidade de produzir documentos formatados exatamente como precisávamos e a escala para produzir lotes deles!
Primeiro, configuramos nosso cluster Capella para gerar um grande volume de dados em um curto espaço de tempo. Nesse caso, queríamos 100 milhões de documentos em cerca de cinco minutos, então optamos por 10 nós de cluster no total: 6 executando o Data Service e 4 executando o Eventing Service.
Em seguida, criamos funções para o Capella Eventing Service com loops projetados para gerar documentos JSON com dados realistas da companhia aérea em um bucket de destino.
A partir daí, foi fácil gerar os dados. Acionamos as funções fazendo uma simples mutação de dados em uma pasta de origem especificada e obtivemos 100 milhões de documentos de companhias aéreas em menos de três minutos!
Depois que nossos dados foram gerados, aproveitamos as vantagens do Dimensionamento multidimensional e reduzimos nossa configuração para 3 nós, economizando custos.
-
- Todo o processo está detalhado no tutorial vídeo.
- Tente gerar dados de amostra para você mesmo seguindo as instruções instruções passo a passo neste repositório do Github.
- Novo na Capella? Não deixe de aproveitar as vantagens de um Avaliação gratuita do Capella!