Menu Docs
PĂĄgina inicial do Docs
/
Manual do banco de dados
/

ConsistĂȘncia de dados

O MongoDB oferece a flexibilidade de normalizar ou duplicar seus dados para otimizar seu aplicativo. Se vocĂȘ duplicar dados em seu esquema, deverĂĄ decidir como manter os dados duplicados consistentes em vĂĄrias coleçÔes. Alguns aplicativos exigem que os dados duplicados sejam tornados consistentes imediatamente, enquanto outros aplicativos podem tolerar a leitura de dados obsoletos.

HĂĄ vĂĄrias maneiras de impor a consistĂȘncia dos dados em seu aplicativo:

Método
Descrição
Impacto no desempenho
Caso de uso

TransaçÔes

As atualizaçÔes de vĂĄrias coleçÔes ocorrem em uma Ășnica operação atĂŽmica.

Potencialmente alto, devido à contenção de leitura

Seu aplicativo deve sempre retornar dados atualizados e pode tolerar possĂ­veis impactos negativos no desempenho durante perĂ­odos de leituras pesadas.

Modifique o esquema do aplicativo para incorporar dados relacionados em uma Ășnica coleção.

Baixo a moderado, dependendo do tamanho do documento e dos Ă­ndices

Triggers do Atlas Database

Quando ocorre uma atualização em uma collection, os gatilhos atualizam automaticamente outra collection.

Baixo a moderado, com possĂ­veis atrasos no processamento de eventos acionados

Seu aplicativo pode tolerar a leitura de dados ligeiramente obsoletos. Os usuårios podem ver dados desatualizados se executarem uma query imediatamente após uma atualização, mas antes que o trigger termine de atualizar a segunda coleção.

A melhor maneira de impor a consistĂȘncia dos dados depende do seu aplicativo. Para saber mais sobre os benefĂ­cios e a implementação de cada abordagem, consulte as pĂĄginas de documentação correspondentes.

Para impor a consistĂȘncia dos dados em seu aplicativo, consulte as pĂĄginas a seguir:

Os fatores a seguir podem afetar a forma como vocĂȘ impĂ”e a consistĂȘncia dos dados.

Considere a importĂąncia de que seu aplicativo retorne os dados mais atualizados. Alguns aplicativos podem retornar dados obsoletos por minutos ou horas sem impacto para o usuĂĄrio.

Por exemplo, em um aplicativo de e-commerce, os usuårios precisam saber imediatamente se um item estå disponível ou não. Idealmente, essa informação é mantida da forma mais consistente possível, mesmo que isso exija atualizaçÔes frequentes.

Por outro lado, Ă© esperado que as queries analĂ­ticas leiam dados ligeiramente desatualizados. Deixar os dados analĂ­ticos totalmente consistentes nĂŁo Ă© essencial.

A tolerĂąncia do aplicativo para dados obsoletos influencia qual serĂĄ a melhor forma de manter os dados consistentes. Atualizar os dados em vĂĄrias coleçÔes com frequĂȘncia reduz o risco de que um usuĂĄrio leia dados obsoletos. No entanto, atualizaçÔes frequentes podem ter um impacto negativo no desempenho da sua aplicação. Ao impor a consistĂȘncia dos dados, equilibre as necessidades do usuĂĄrio com o impacto no desempenho.

A integridade referencial garante que, quando um objeto Ă© excluĂ­do, todas as referĂȘncias a esse objeto tambĂ©m sĂŁo excluĂ­das.

Por exemplo, um aplicativo tem uma coleção products e uma coleção warehouse, a qual contĂȘm referĂȘncias Ă  coleção products. Quando um produto Ă© excluĂ­do da coleção products, a referĂȘncia correspondente na coleção warehouse tambĂ©m deve ser excluĂ­da.

Se o seu esquema exigir integridade referencial, incorpore lĂłgica na sua aplicação para manter as referĂȘncias consistentes. No mĂ­nimo, a lĂłgica do seu aplicativo deve evitar erros ao tentar consultar uma referĂȘncia que nĂŁo existe.

Voltar

Manipular dados duplicados

Nesta pĂĄgina