Quando inserir ou referenciar dados

Concluído

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.