Menu Docs

Design do Modelo de dados Realm

Modelos de dados eficazes oferecem suporte às necessidades do seu aplicação . A principal consideração para a estrutura de seus documentos é a decisão de incorporar ou usar referências.

Com o MongoDB, você pode incorporar dados relacionados em uma única estrutura ou documento. Esses esquemas são geralmente conhecidos como modelos "desnormalizados" e aproveitam os ricos documentos do MongoDB. Considere o seguinte diagrama:

Data model with embedded fields that contain all related information.

Os modelos de dados incorporados permitem que os aplicativos armazenem informações relacionadas no mesmo registro de banco de dados. Como resultado, os aplicativos podem precisar emitir menos queries e atualizações para concluir operações comuns.

Em geral, use Modelo de dados Realm incorporados quando:

Em geral, a incorporação fornece melhor desempenho para operações de leitura, bem como a capacidade de solicitar e recuperar dados relacionados em uma única operação de reconhecimento de data center. Modelo de dados Realm incorporados possibilitam a atualização de dados relacionados em uma única operação de gravação atômica.

Para acessar dados em documentos incorporados, use a notação de pontos para "alcançar" documentos incorporados. Consulte query de dados em arrays e query data em documentos incorporados para obter mais exemplos sobre como acessar dados em arrays e documentos incorporados.

Os documentos no MongoDB devem ser menores que o tamanho máximo do documento BSON.

Para dados binários em massa, considere o GridFS.

Modelo de dados Realm normalizados descrevem relacionamento usando referências entre documento.

Data model using references to link documents. Both the ``contact`` document and the ``access`` document contain a reference to the ``user`` document.

Em geral, use Modelo de dados Realm normalizados:

  • quando a incorporação resultaria em duplicação de dados, mas não forneceria vantagens suficientes de desempenho de leitura para superar as implicações da duplicação.

  • para representar relacionamentos muitos-para-muitos mais complexos.

  • para modelar grandes conjuntos de dados hierárquicos.

Para participar de coleções, MongoDB fornece os estágios de agregação:

  • $lookup (Disponível a partir do MongoDB 3.2)

  • $graphLookup (Disponível a partir do MongoDB 3.4)

O MongoDB também fornece referências para unir dados entre collection.

Para ver um exemplo dos modelos de dados normalizados, consulte Modele relacionamentos de um para muitos com referências de documentos.

Para obter exemplos de vários modelos de árvores, consulte Estruturas de árvores modelo.

Para obter mais informações sobre modelagem de dados com o MongoDB, faça o download do Guia de Modernização de Aplicativos MongoDB.

O download inclui os seguintes recursos:

  • Apresentação sobre a metodologia de modelagem de dados com o MongoDB

  • Artigo técnico que aborda as melhores práticas e considerações para migrar de um modelo de dados SGBD para o MongoDB

  • Referenciar o esquema do MongoDB com seu equivalente em SGBD

  • Scorecard de modernização de aplicativos