Introdução

Concluído

O Azure Cosmos DB é o banco de dados NoSQL totalmente gerenciado da Microsoft no Azure. Como um banco de dados NoSQL, o Azure Cosmos DB é tanto não relacional quanto escalonável ou escalonável horizontalmente. Essa capacidade de escalar horizontalmente é alcançada adicionando mais nós, ou partições, a um contêiner.

Essa capacidade de escalar horizontalmente permite que contêineres cresçam para um tamanho teoricamente infinito. Assim, conforme um contêiner cresce em tamanho, o contêiner também pode lidar com números crescentes de solicitações, fornecendo o mesmo desempenho independentemente de quão grande o contêiner fique.

No entanto, para alcançar este nível de escalabilidade, os usuários precisam entender os conceitos e técnicas únicos do Azure Cosmos DB para modelar e particionar dados. Os usuários também precisam entender os conceitos para bancos de dados NoSQL em geral.

Cenário

Imagine que você trabalha para uma empresa nova de varejo que está desenvolvendo um banco de dados para gerenciar pedidos online. Você está trabalhando em uma proposta para um design de banco de dados eficiente usando o Azure Cosmos DB for NoSQL. Você recebe um modelo de relacionamento de entidade para iniciar. Você deseja fornecer a máxima escalabilidade, desempenho e eficiência possíveis e para alcançar esta tarefa, os dados precisam ser modelados corretamente.

O diagrama de relacionamento de entidade a seguir (modelo ER) fornece os detalhes das nove entidades que você espera trabalhar. O modelo relacional tem nove entidades em suas próprias tabelas.

Diagrama que mostra o modelo relacional para o aplicativo de exemplo.

Como fazemos isso?

Neste módulo, pegamos nosso modelo de dados relacional existente e o reformularemos como um banco de dados NoSQL para nosso aplicativo de comércio eletrônico. Durante este processo, você aprende os seguintes conceitos:

  • Diferenças entre bancos de dados relacionais versus NoSQL: Você explora algumas das diferenças entre bancos de dados NoSQL e bancos de dados relacionais e por que são assim.
  • Usando padrões de acesso a dados de aplicativos para modelar dados: Você aprende como entender a forma como um aplicativo lê e grava dados influencia como modelá-los para um banco de dados NoSQL.
  • Incorporar versus referenciar: Você aprende quando deve inserir dados no mesmo documento versus quando deve armazenar dados como um documento separado.
  • Escolhendo uma chave de partição: Você aprende os conceitos chave necessários para escolher a melhor chave de partição para alcançar a capacidade de escalar horizontalmente e otimizar cargas de trabalho que são pesadas de leitura ou gravação, ou ambas.
  • Modelando dados de pesquisa ou referência: Finalmente, você aprende como modelar dados que são usados como pesquisa ou referência para outros dados.

Qual é a meta principal?

Quando você terminar este módulo (e o módulo de complemento, Otimize seu banco de dados usando padrões de modelagem avançados para o Azure Cosmos DB), você terá o conhecimento e as habilidades para modelar e particionar dados corretamente para um banco de dados NoSQL implantado no Azure Cosmos DB.

Depois de concluir este módulo, você poderá:

  • Determinar os padrões de acesso para dados.
  • Aplicar o modelo de dados e as estratégias de particionamento para dar suporte a um banco de dados NoSQL eficiente e escalonável.