Introdução
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 é não relacional e horizontalmente escalável ou escalável. Essa capacidade de expansão é alcançada adicionando mais nós, ou partições, a um contêiner.
Essa capacidade de dimensionamento permite que os contêineres cresçam até um tamanho teoricamente infinito. Assim, à medida que um contêiner cresce em tamanho, ele também pode lidar com um número crescente de solicitações, fornecendo o mesmo desempenho, independentemente do tamanho do contêiner.
No entanto, para atingir esse nível de escalabilidade, os usuários precisam entender os conceitos e técnicas exclusivos do Azure Cosmos DB para modelagem e particionamento de dados. Os usuários também precisam entender como os conceitos para bancos de dados NoSQL em geral.
Cenário
Imagine que trabalha para uma startup de venda a retalho que está a criar uma base de dados para gerir as encomendas online. Você está trabalhando em uma proposta para um design de banco de dados eficiente usando o Azure Cosmos DB para NoSQL. Você recebe um modelo de relacionamento de entidade para começar. Você deseja fornecer o máximo de escalabilidade, desempenho e eficiência possíveis e realizar essa tarefa para que os dados precisem ser modelados corretamente.
O diagrama entidade-relacionamento (modelo ER) a seguir fornece os detalhes das nove entidades com as quais você espera trabalhar. O modelo relacional tem nove entidades em suas próprias tabelas.
Como consegui-lo?
Neste módulo, pegamos nosso modelo de dados relacionais existente e o redesenhamos como um banco de dados NoSQL para nosso aplicativo de comércio eletrônico. Durante esse processo, você aprende os seguintes conceitos:
- Diferenças entre bancos de dados relacionais versus bancos de dados NoSQL: você explora algumas das diferenças entre bancos de dados NoSQL e bancos de dados relacionais e por que eles são assim.
- Usando padrões de acesso a dados de aplicativos para dados de modelo: você aprende como entender a maneira como um aplicativo lê e grava dados influencia como modelá-los para um banco de dados NoSQL.
- Incorporação versus referência: você aprende quando deve incorporar dados no mesmo documento versus quando deve armazenar dados como um documento separado.
- Escolhendo uma chave de partição: você aprende os principais conceitos necessários para escolher a melhor chave de partição para obter a capacidade de expansão e otimizar cargas de trabalho que são pesadas de leitura ou gravação, ou ambas.
- Pesquisa de modelagem ou dados de referência: finalmente, você aprende a modelar dados que são usados como pesquisa ou referência para outros dados.
Qual é o principal objetivo?
Ao concluir este módulo (e o módulo complementar, Otimizar 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, conseguirá:
- Determine padrões de acesso para dados.
- Aplique estratégias de particionamento e modelo de dados para dar suporte a um banco de dados NoSQL eficiente e escalável.