O desempenho confiável em escala é fundamental para todos os sistemas de missão crítica centrados em dados. Como profissionais de tecnologia, trabalhamos muito para fornecer plataformas de dados que ajudarão a garantir implementações bem-sucedidas do sistema. Discussões de arquitetura, apresentações de conceitos e treinamento de produtos são um ótimo ponto de partida para facilitar a visão e ajudar a definir as necessidades. No entanto, precisamos (e queremos) colocar a mão na massa para entender melhor e arquitetar uma plataforma de dados confiável. A realização de uma prova de conceito (POC) formal em um ambiente semelhante ao qual o sistema será executado, com tamanhos de dados e cargas de trabalho de usuários semelhantes, muitas vezes é a solução.
Um modelo de engajamento no estilo POC deve ajudar:
- As partes interessadas entendem como será a implementação para a organização.
- Definir os benefícios que o novo sistema proporcionará.
- Fornecer informações sobre o impacto nos negócios.
- Defina a experiência do desenvolvedor.
- Dê às equipes de operações uma compreensão do suporte ao sistema.
Em muitos casos, para atender a todos esses objetivos de uma POC do Couchbase, precisamos que os proprietários de negócios de dados entendam, o que pode ser um grande obstáculo para a realização de uma prova de conceito. O Couchbase fornece exemplos de conjuntos de dados, mas muitas vezes nos deparamos com a necessidade de criar conjuntos de dados que façam mais sentido para nossos clientes.
Opção 1 de criação de dados
Se tivermos sistemas existentes, podemos dedicar algum tempo para exportar dados e criar estruturas JSON provenientes de sistemas de produção existentes. Aqui eu consegui pegar um conjunto de dados de amostra stocks.json e importá-lo para o Couchbase. Cada linha do arquivo contém uma estrutura JSON que representa informações de estoque.
- O código utiliza o leitor de linha => https://github.com/nickewing/line-reader
- Arquivo de dados de informações de estoque => https://jsonstudio.com/wp-content/uploads/2014/02/stocks.zip
- Exemplo de importação => https://github.com/justinmichaels006/datasample/blob/master/appOG2.js
Opção 2 de criação de dados
Como geralmente acontece, não temos tempo ou talvez não tenhamos acesso ou precisemos obter o envolvimento de outras equipes para usar os dados existentes. Existem ferramentas on-line disponíveis para gerar dados de amostra. Embora muitas vezes elas não ofereçam a capacidade de criar conjuntos de dados com tamanho de produção, um utilitário muito robusto está disponível aqui ... https://www.generatedata.com. Como alternativa, poderíamos criar a estrutura que desejamos e iterar para criar o tamanho de que precisamos. Aqui, definimos uma estrutura de dados que espelha os dados que eventualmente teríamos em produção.
- Exemplo de importação => https://github.com/justinmichaels006/datasample/blob/master/appOG.js
Precisamos ter cuidado com o tamanho do conjunto de dados criado em um determinado momento porque o Node.js gera tudo no loop ao mesmo tempo. Mesmo assim, consegui gerar um conjunto de dados útil para apoiar uma POC bem-sucedida. Seja qual for a abordagem, usando as opções acima, podemos fornecer um sistema que abriga dados familiares e um tamanho que reflete o que esperamos na produção.
Na próxima vez, usaremos esses conjuntos de dados para entender o que podemos fazer com o Couchbase aproveitando as exibições e como a nossa futura linguagem de consulta nickel (N1QL) simplificará drasticamente nossos esforços de desenvolvimento.