Arquitetura de vários inquilinos com coleções móveis
Nesta página
Novidades na versão 8.0.
Em uma arquitetura multilocatária, uma única instância de um aplicação atende a vários usuários. Usuários de vários locatários compartilham recursos e, geralmente, os dados pertencentes ao mesmo locatário são mantidos em um único shard.
Se sua configuração de vários locatários tiver um único locatário por banco de dados de dados e a maioria de sua carga de trabalho ocorrer em um único fragmento, você poderá mover as coleções acessadas com frequência para outros fragmentos para uma distribuição mais uniforme do volume de trabalho. Isso reduz o número de collections no shard original e melhora o desempenho em todo o sistema.
Observação
Clusters não fragmentados
Se seu sistema multilocatário for um conjunto de réplicas, você poderá convertê-lo em um cluster fragmentado e adicionar fragmentos adicionais para distribuir uniformemente seu volume de trabalho. Para obter mais informações, consulte:
Modificar um cluster para sistemas do MongoDB Atlas
Converter um conjunto de réplicas autogerenciadas em um cluster fragmentado
Considerações
A movimentação de collections tem sobrecarga operacional. Antes de mover collections, revise a documentação
sh.moveCollection()
para obter considerações de desempenho.A configuração ideal de vários locatários depende da sua carga de trabalho e das necessidades do aplicação . A transferência de collections para novos shards não é tão escalável quanto a multilocação em um único banco de dados de dados com collections compartilhadas. No entanto, ter cada banco de dados de dados correspondendo a um único locatário permite padrões de segurança e acesso mais personalizáveis.
Para otimizar o desempenho para operações entre collections (como
$lookup
ou transações que acessam várias collections), coloque todas as collections de um determinado locatário no mesmo shard.