Dada a arquitetura e o design dos sistemas NoSQL, especialmente os bancos de dados da família de documentos como o Couchbase, que não impõem esquema na gravação, a modelagem de dados para NoSQL pode frequentemente ser desafiadora ao migrar de sistemas relacionais para NoSQL ou ao construir aplicativos do zero usando NoSQL. De fato, a modelagem de dados costuma ser um fator crítico de sucesso para implementações do Couchbase, e otimizar progressivamente os modelos de dados pode ser um enorme impulsionador de desempenho de aplicativos, dada a natureza em rápida evolução dos aplicativos de big data.
Tradicionalmente, a modelagem de dados para sistemas relacionais era a ciência de identificar os objetos de dados, seus relacionamentos entre si e sua representação precisa, o que fundamentava um bom design de banco de dados. A modelagem para NoSQL, por outro lado, explora padrões de acesso específicos da aplicação, por exemplo: “quais são os tipos de perguntas que os usuários gostariam de responder com esses dados?”. Isso, por sua vez, dita o tipo de consultas que precisam ser suportadas e foca em como estruturar melhor os dados para a otimização de desempenho. Essas considerações nos fazem mudar nossa abordagem de modelagem de dados das restrições tradicionais de RDBMS (esquema na gravação) para a modelagem de dados voltada para a aplicação específica (esquema na leitura).
Outro diferencial entre sistemas RDBMS e NoSQL que impacta os paradigmas de modelagem é o conceito de normalização e desnormalização de dados. Enquanto os sistemas RDBMS enfatizavam a normalização de dados para entender relacionamentos estritos e atender a limitações rígidas de armazenamento antigamente, os sistemas NoSQL flexíveis tendem à desnormalização de dados, uma vez que os dados são distribuídos em clusters e a redundância pode facilitar o dimensionamento de leituras de dados. Muitas vezes, o modelo de dados ideal é uma combinação de ambas as abordagens, dependendo do caso de uso.
Portanto, a modelagem de dados precisa continua sendo uma disciplina fundamental para o sucesso com bancos de dados NoSQL.
Agora, vamos mergulhar na modelagem usando o erwin DM NoSQL. O erwin DM NoSQL oferece três principais funcionalidades:
Engenharia direta
O processo de conversão de seus modelos relacionais em modelos JSON compatíveis com o Couchbase.
Transformação
Capacidade de escolher a forma de transformação desejada (normalizada, desnormalizada, personalizada) para seus modelos.
Engenharia reversa
Capacidade de importar o esquema de dados de produção do Couchbase para o ambiente erwin.
Este é o guia passo a passo para modelar dados para a Plataforma de Dados Couchbase usando o erwin DM NoSQL:
Configuração:
Passo 1:
Solicitação de conta aqui e faça login no erwin DM NoSQL usando suas credenciais.

Passo 2:
Importe um modelo de Entidade-Relacionamento gerado no erwin DM ou em qualquer outra ferramenta de modelagem relacional no formato “XML” usando a opção de importação para o erwin DM NoSQL.

Passo 3:
Visualize seus diagramas ER no ambiente erwin.

Transformação
Passo 1:
Escolha transformar os modelos usando transformação normalizada, desnormalizada ou personalizada.

Passo 2:
Transformação normalizada:
Normalização é tipicamente o processo de organização de dados no banco de dados, criando tabelas separadas e estabelecendo relacionamentos para remover a duplicação. Os objetos ou entidades neste processo geralmente são referenciados. Ao criar modelos JSON, as tabelas referenciadas normalmente seriam documentos separados.


b. Transformação desnormalizada:
Nesse processo, os objetos de dados geralmente são embutidos. Como objetos semelhantes são embutidos em muitos documentos, essa organização apresenta redundância. A desnormalização é frequentemente encontrada para melhorar significativamente o desempenho, já que não precisamos de junções para buscar os dados necessários. Isso é frequentemente adotado em sistemas NoSQL. Nesta ferramenta, o modelo transformado gerado usando a desnormalização é uma combinação de objetos embutidos e referenciados.

Na fig. acima, pedido de compra e item do pedido são objetos embutidos, enquanto Editora, Nome da loja e Devolução de livro são objetos referenciados.
Transformação personalizada:
O erwin DM NoSQL normalmente analisa a organização dos dados usando o seu diagrama E-R e transforma seus modelos em modelos JSON compatíveis com o Couchbase com base em certas regras. No entanto, como você, sendo um desenvolvedor ou proprietário de aplicativo, é quem melhor conhece sua aplicação, oferecemos a capacidade de personalizar seus modelos. Você tem a opção de referenciar determinados objetos embutidos e fornecemos algumas diretrizes dentro da ferramenta para ajudar você a fazer a escolha certa.

Nota: Você pode clonar qualquer um desses modelos e ajustá-los adicionando ou removendo atributos, propriedades, etc.,
Engenharia direta
Passo 1:
Baixe o modelo criado no seu sistema local.

Passo 2:
Configure clusters do Couchbase na AWS e acesse o console web usando a porta 8091

Passo 3:
Use o secure copy e copie o arquivo baixado da sua máquina local para a sua instância EC2 do Couchbase.
Sintaxe (OSX): scp -i path to key -r path to directory ec2-user@hostname:~
Ex: scp -i /Users/chaitra.ramarao/Downloads/US_East.pem -r /Users/chaitra.ramarao/Downloads/Cl_De_EMOVIES r9.64_20180329185059 ec2-user@ec2-54-152-108-80.compute-1.amazonaws.com:~

Passo 4:
Faça login na sua instância da AWS usando ssh
Sintaxe (OSX):ssh -i caminho/para/chave.pair ec2-user@ip-remoto
Ex: ssh -i /Users/chaitra.ramarao/Downloads/US_East.pem ec2-user@ec2-34-203-230-73.compute-1.amazonaws.com
Passo 5:
Verifique se os arquivos foram copiados listando-os com “ls”
Passo 6:
Navegue para o arquivo bulkInsert.sh
Ex:Cd /De_movies../scripts/5.x para localizar o bulkInsert.sh
Passo 7:
Tornar o arquivo bulkInsert executável e definir o caminho
chmod +x bulkInsert.sh
PATH=/opt/couchbase/bin:$PATH
Passo 8:
Execute o script bulkInsert com a seguinte sintaxe
./bulkInsert.sh
Ex : ./bulkInsert.sh localhost 8091 Administrator senha sample
Você pode ver os dados de exemplo modelados carregados no Couchbase com o nome do bucket especificado por você.

O script normalmente cria modelos com dados inúteis, podendo ser modificado pelos desenvolvedores de aplicativos para criar modelos para amostras de dados reais e usá-los para implantar no Couchbase usando os scripts de implantação fornecidos.

Você também pode consultar os dados após carregados no Couchbase usando N1QL (SQL para JSON) e testar a precisão e eficiência de seus modelos usando o Query Workbench e o planejador de consultas.
Engenharia reversa:
Passo 1:
Configure a conexão com o Couchbase usando o gerenciador de conexões conforme mostrado abaixo:

Passo 2:
Fazer engenharia reversa do Couchbase

Passo 3:
Importação de Esquema de dados de produção do Couchbase

Passo 4:
Visualizar os modelos do Couchbase obtidos por engenharia reversa no ambiente erwin

Continue a ajustar seus modelos periodicamente para garantir que eles estejam otimizados para fornecer o melhor desempenho.
A modelagem de dados usando o erwin ajudará você a acelerar o seu tempo de lançamento no mercado, fornecerá a interface para visualizar seu processo de modelagem e melhorará enormemente a precisão dos seus modelos. Modelos de dados melhores garantem melhor desempenho e maior sucesso com o Couchbase.
Compartilhe seus comentários aqui ou entre em contato conosco em forums.couchbase.com

Deixe um comentário
Você precisa fazer o login para publicar um comentário.