Quando inserir ou referenciar dados
Na unidade anterior, inserimos os dados de endereço do cliente e a senha em um novo documento do cliente. Essa ação reduz o número de solicitações, o que aprimora o desempenho e reduz os custos. No entanto, nem sempre é possível inserir os dados. Há regras para quando você deve inserir dados em um documento em vez de referenciá-los em outra linha.
Quando você deve inserir os dados?
Insira os dados em um documento quando os seguintes critérios se aplicarem aos seus dados:
- Lidos ou atualizados juntos: os dados que são lidos ou atualizados juntos são quase sempre modelados como um documento individual. Isso é especialmente verdadeiro, pois o objetivo do modelo NoSQL é reduzir o número de solicitações para o banco de dados. Neste cenário, todas as entidades de cliente são lidas ou gravadas juntas.
- Relação de um para um: por exemplo, Customer e CustomerPassword têm uma relação de um para um.
- Relação de um para poucos: em um banco de dados NoSQL, é necessário distinguir relações de um para muitos como limitadas ou desassociadas. Customer e CustomerAddress têm uma relação de um para muitos limitada, porque os clientes de um aplicativo de comércio eletrônico normalmente têm apenas alguns endereços para envio. Quando a relação é limitada, é uma relação de um para poucos.
Quando você deve referenciar os dados?
Referencie os dados como documentos separados quando os seguintes critérios se aplicarem aos seus dados:
Leitura ou atualização independentemente: isso é especialmente verdadeiro ao combinar entidades que resultariam em documentos grandes. As atualizações no Azure Cosmos DB exigem que o item inteiro seja substituído. Se um documento tiver algumas propriedades que sejam frequentemente atualizadas juntas com muitas propriedades, em grande maioria, estáticas, será muito mais eficiente dividir o documento em dois. Portanto, um documento individual contém o conjunto menor de propriedades que são atualizadas com frequência. O outro documento contém os valores estáticos e inalterados.
Relação de um para muitos: isso é especialmente verdadeiro se a relação for desassociada. O Azure Cosmos DB tem um tamanho máximo de documento de 2 MB. Portanto, em situações nas quais a relação de um para muitos é desassociada ou pode crescer muito, os dados devem ser referenciados, não inseridos.
Relação de muitos para muitos: exploraremos um exemplo dessa relação em uma unidade posterior com marcas de produto.
A separação dessas propriedades reduz o consumo de taxa de transferência para obter mais eficiência. Isso também reduz a latência para melhorar o desempenho.