MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Dados Referenciais NoSql


Seus dados são claramente relacionais:um artigo tem um autor. Você pode modelar seus dados em um armazenamento NOSQL como o MongoDB da mesma maneira que faria em um armazenamento relacional, MAS, como não há junções no banco de dados, você precisa fazer duas chamadas para o banco de dados para não ganhar nada.

MAS ... o que você PODE fazer com um armazenamento NOSQL é desnormalizar um pouco os dados para obter um desempenho aprimorado (uma única viagem de ida e volta para obter tudo o que você precisa para exibir o artigo) MAS às custas da consistência imediata:trocando sempre o autor preciso nomes para nomes de autores eventualmente precisos.

Você pode, por exemplo, usar isso em seu artigo:
author: {firstName: "Smarty", lastName: "Pants", _id:DE342624EF }

Agora você pode exibir o artigo muito rápido e quando alguém mudar seu nome, você pode iniciar uma tarefa em segundo plano para atualizar todos os artigos existentes ou esperar por uma varredura de consistência periódica para corrigi-lo.

Muitos dos principais sites da web não oferecem mais consistência imediata. Existem alterações que você faz que só eventualmente são vistas pelos outros usuários do site.