Ao começar a aprender sobre bancos de dados de documentos, é bom ter uma noção dos conceitos básicos de modelagem de dados JSON. Isso o ajudará a navegar pelo espaço e pelos tópicos com mais facilidade, tendo um vocabulário expandido sobre o assunto. A experiência com um banco de dados relacional tradicional também é um bom começo. O conhecimento sobre estruturação de dados, consultas e índices lhe dará uma vantagem inicial. Alguns conceitos serão transferidos, especialmente ao aprender o Couchbase, que utiliza uma variante do SQL (SQL++) para consultas. Muitos dos termos que você já conhece do SQL serão aplicáveis, mas diferem pelo fato de se aplicarem ao armazenamento de dados de documentos de valor-chave e documentos aninhados em vez de tabelas e linhas.
Histórico do JSON
Com a popularidade do AJAX no início dos anos 2000, o termo JSON foi cunhado por Douglas Crockford. Os dois primeiros links falam sobre um período de tempo antes do JSON, quando ele estava sendo usado, mas não tinha um nome, até o período dos aplicativos de página única. O segundo link é um vídeo do último Silicon Valley Code Camp, onde tive a oportunidade de assistir à palestra de Doug em 2019. Sua apresentação sobre "A história do JSON" é uma ótima maneira de começarmos nossa jornada aprendendo mais sobre a modelagem de dados JSON.
Trabalhando com JSON
Com uma melhor compreensão de sua história e vocabulário, podemos passar a trabalhar de fato com o JSON. O link MDN abaixo responderá a muitas perguntas sobre estrutura, obtenção de JSON com XMLHttpRequest e teste de suas próprias habilidades. Você pode testar sua compreensão do artigo no final com um desafio divertido. Quando terminar, você estará muito mais preparado para usar o JSON.
Com os conceitos básicos da Notação de Objetos JavaScript concluídos, estamos preparados para iniciar nossa jornada rumo à modelagem de documentos.
Ferramenta de modelagem de dados JSON
Nesta categoria, primeiro falamos sobre a modelagem de dados JSON em geral. Nas próximas seções, discutiremos estratégias para migrar de bancos de dados relacionais.
Abaixo estão os destaques de cada seção do vídeo acima, que aborda por que a mudança para o NoSQL (no nosso caso, um banco de dados de documentos) pode ser benéfica. Ele aborda estratégias de design JSON para modelagem e acesso a esses dados e discute dicas de migração. Vamos explorar alguns dos tópicos deste vídeo.
Por que NoSQL
Alguns bancos de dados, como o Couchbase, armazenam seus dados como JSON simples. Esta seção destaca os vários motivos para usar um banco de dados de documentos distribuído. Ela também aborda o cenário atual do NoSQL e oferece uma breve compreensão de sua escalabilidade, flexibilidade, disponibilidade, desempenho e casos de uso.
Modelagem de dados JSON
Nesta seção, você verá um exercício sobre modelagem de dados em JSON e exemplos de modelagem de dados JSON. Esta seção é completa com propriedades de dados do mundo real, uma breve seção sobre modelagem no mundo relacional como comparação e regras práticas sobre estratégias para modelar seus dados. Também são discutidas ferramentas de modelagem de terceiros, como Hackolade, Erwin, e Idera. Essas são ferramentas voltadas para bancos de dados NoSQL.
Acesso aos dados
Esta parte se aprofunda nas estratégias e regras de ouro para modelar e acessar seus dados em um banco de dados NoSQL, como ler, atualizar e excluir registros por chave. São fornecidas recomendações para chaves, juntamente com alguns bons exemplos de modelos de dados JSON. Concluímos esta seção com abordagens para subdocumentos e subcoleções, a linguagem de consulta SQL++ encontrada no Couchbase.
Migração de dados
Aqui, abordamos a movimentação de dados de um banco de dados para outro com ferramentas que o ajudarão ao longo do caminho. Ferramentas como Informatica, Kafka, Talend e Apache Nifi. O Couchbase também tem uma ferramenta chamada cbimport para ajudar a importar dados para o Couchbase.

Antes de investir em ferramentas, mantenha a simplicidade, use as ferramentas de banco de dados para ajudar a exportar, importar e transformar
Migração de dados de RDBMS para NoSQL
Quando você está migrando dados de um banco de dados relacional, há muitas restrições de normalização e requisitos de esquema. Eles são necessários ao trabalhar com tabelas ou ao relacionar outras tabelas por meio de chaves estrangeiras. Esse tipo de vinculação usando IDs exclusivos também é possível em um banco de dados de documentos. Há outras opções também, como aninhar esses dados, mesmo que pareçam redundantes. Nesta primeira categoria de recursos, fornecemos links para cursos, vídeos e artigos que ajudarão na mudança de bancos de dados relacionais para um banco de dados de documentos JSON.
Esse primeiro recurso é um vídeo que apresenta os conceitos básicos e dá início à sua jornada de mudança de tabelas para documentos.
Começamos com a exportação de dados de um banco de dados relacional, usando um formato CSV, e usamos uma ferramenta chamada cbimport para importar os dados para o Couchbase. Em seguida, vamos instruí-lo sobre como transformar e estruturar esses dados no lado do banco de dados de documentos e finalizar nossos dados usando a linguagem de consulta SQL++. Com o SQL++, podemos mover os dados de um ponto de preparação para um bucket de dados final pronto para uso. Este vídeo está repleto de exemplos reais de código, o que permite que você acompanhe e experimente você mesmo.
Aqui está um artigo sobre o mesmo tópico se você preferir ler um artigo de blog a assistir ao vídeo inteiro.
Você também pode conferir o seguinte vídeo sobre dados JSON: Modele seus dados de banco de dados relacional como dados de documento NoSQLque contém insights e orientações adicionais. Ele o ajudará a pensar sobre JSON, incluindo como modelar dados relacionais existentes para documentar dados.
Outro recurso para ajudá-lo a entender as diferenças entre dados relacionais e como o Couchbase funciona vem de um veterano de mais de trinta anos da comunidade de bancos de dados.
Nossos blogs são outro grande recurso, por isso escolhi a dedo vários que tratam especificamente da mudança de sistemas relacionais para o Couchbase. Essas informações também são altamente aplicáveis à migração de qualquer banco de dados relacional, como o SQL Server, para um banco de dados de documentos JSON, como o Couchbase.
Migração do MongoDB para o Couchbase
O banco de dados de documentos mais comum para o qual nossos clientes estão mudando é o Mongo. Alguns o utilizam por causa da escalabilidade, outros pela linguagem de consulta. Se você precisar obter dados do Mongo para o Couchbase, estes recursos são para você!
Algumas postagens em nosso blog Blog do Couchbase fazem um ótimo trabalho ao abordar esse tópico. Os dois primeiros links são artigos novos e contêm informações atualizadas sobre como fazer a mudança do MongoDB para o Couchbase.
Próximas etapas e recursos
Aqui estão alguns recursos finais que podem despertar seu interesse em Técnicas de modelagem de dados JSON. Como o aprendizado à medida que você cria projetos reais é fundamental, o link a seguir o ajudará a entender como lidar com registro, login e autenticação no NoSQL.
Deseja um passo a passo sobre o planejamento de uma API REST simples? O recurso abaixo implementa as ideias discutidas acima usando Node e Express JS. Ele contém um Repositório do GitHub do código-fonte, coleções postman e variáveis de ambiente para ajudar a colocar o projeto em funcionamento com facilidade.
E não podemos mencionar os dois artigos acima sem mencionar o cliente front-end criado explicitamente para a API REST do repositório acima usando o Angular 11. Além disso, um recurso que foi atualizado com um Repositório do GitHub com o código finalizado.
Treinamento do Couchbase sobre modelagem de dados
Vamos apresentar a você nossos recursos de modelagem de dados do Couchbase Academia Couchbase. Neste curso, você colocará a mão na massa com o Couchbase, levando em consideração a modelagem de dados e as consultas de ajuste para uso com a linguagem de consulta SQL++.
Esta documentação do Couchbase tem algumas páginas muito boas que tratam de modelagem de dados e relacionamentos de entidades em dados de documentos. Os links abaixo faziam parte das versões 5x do Couchbase, mas ainda contêm informações valiosas.
Na versão atual do Couchbase Server, também temos uma página que é desenvolvida e atualizada com as versões mais recentes do nosso banco de dados em mente:
Recursos externos de modelagem de dados
O Couchbase é um dos melhores lugares na Web para aprender sobre modelagem de dados para NoSQL, bancos de dados de documentos ou repositórios de dados de valor-chave. Mas é bom se aventurar fora dele, pois há muitos outros recursos excelentes para você. Há um curso maravilhoso no Pluralsight que orienta você na criação de modelos de dados em JSON e aborda a diferença entre modelagem de dados relacionais e de documentos.

Neste slide do vídeo da Pluralsight, Kishan Iyer fala sobre uma das muitas tecnologias de banco de dados diferentes que ele aborda em seu curso
Neste slide do vídeo da Pluralsight, Kishan Iyer fala sobre uma das muitas tecnologias de banco de dados diferentes que ele aborda em seu curso
A Pluralsight é um recurso incrível para desenvolvedores de aplicativos e também tem muitos cursos relacionados ao Couchbase também.
Este artigo do Highly Scalable Blog sobre Técnicas de modelagem de dados NoSQL é informativo, divertido e repleto de mais recursos externos.
Esperamos que os recursos fornecidos neste artigo ajudem você a começar a aprender sobre bancos de dados de documentos e o Couchbase. Tentamos criar um recurso de aprendizado que você possa marcar como favorito e revisitar. Se achar que esquecemos algum recurso essencial, comente e mencione esses recursos, pois estamos sempre procurando acrescentar algo a este guia e garantir que todos se beneficiem de ter um único ponto de acesso aos recursos de modelagem de dados JSON.
[...] Você pode encontrar o artigo completo e original aqui: https://www.couchbase.com/a-json-data-modeling-guide/ [...]