MongoDB.local SF, Jan 15: See the speaker lineup & ship your AI vision faster. Use WEB50 to save 50%
Find out more >
Menu Docs
Página inicial do Docs
/
MongoDB Mongosync
/

Limitações

Aviso

mongosync não verifica a conformidade com as limitações documentadas. Certifique-se de que seu aplicativo não seja afetado pelas limitações. A execução de mongosync na presença de uma dessas limitações pode levar a um comportamento indefinido no cluster de destino.

Observação

Para obter informações sobre a compatibilidade do servidor MongoDB, consulte Compatibilidade e suporte da versão do MongoDB Server.

  • O cluster de destino deve estar vazio.

  • mongosync não valida se os clusters ou o ambiente estão configurados corretamente.

  • Outros clientes não devem gravar no cluster de destino enquanto o mongosync estiver em execução.

  • Se o bloqueio de gravação estiver desabilitado, o cliente deverá evitar gravações no cluster de origem antes de iniciar o processo de cometimento.

  • sistema.* coleções não são replicadas.

  • Documentos com nomes de campo prefixados em dólar ($) não são aceitos. Consulte Nomes de campos com pontos e cifrões.

  • Clusters sem servidor não são suportados.

  • Uma camada compartilhada MongoDB não é suportada.

  • Não há suporte Queryable Encryption.

  • Não é possível sincronizar uma coleção que tenha um índice exclusivo e um índice não exclusivo definidos no(s) mesmo(s) campo(s).

  • Antes de tentar executar o mongosync com um cluster do Atlas M10+, desabilite a opção Require Indexes for All Queries.

  • mongosync não sincroniza usuários ou roles.

  • mongosync não replica operações applyOps feitas no cluster de origem durante a sincronização com o cluster de destino.

  • mongosync deve ler a partir do cluster de origem usando a preferência de leitura primary .

  • mongosync não suporta a sincronização de índices do Atlas Search.

  • mongosync suporta apenas clusters que utilizam o mecanismo de armazenamento WiredTiger .

  • Não é possível sincronizar uma coleção com documentos que contenham um campo de data e hora vazio, tal como Timestamp(0,0).

O MongoDB não testa a Cluster-to-Cluster Sync com compilações da Community e, na maioria dos casos, o MongoDB não oferece suporte para a Cluster-to-Cluster Sync com sistemas da Community. Se você quiser usar o Cluster-to-Cluster Sync com o MongoDB Community Edition, entre em contato com um representante de vendas do MongoDB para discutir requisitos e opções individualizadas.

  • Coleções de séries temporais não são suportadas.

  • Não há suporte para coleções clusterizadas com a definição expireAfterSeconds.

  • mongosync não suporta sincronização de um cluster fragmentado para um conjunto de réplicas.

  • mongosync não suporta sincronização com uma topologia de cluster fragmentado com um ou mais árbitros.

  • mongosync não suporta sincronização de ou para clusters globais.

  • A sincronização de um conjunto de réplicas para um cluster fragmentado tem as seguintes limitações:

    • mongosync permite aos usuários renomear coleções que a opção sharding.shardingEntries inclui durante a sincronização com algumas limitações. Para obter detalhes, consulte Renomeando durante a sincronização.

    • Se você usar a opção sharding.createSupportingIndexes , os índices serão criados automaticamente no cluster de destino durante a sincronização. Você não poderá criar esses índices posteriormente no cluster de origem.

    • Se você quiser criar um índice para suportar chaves de shard manualmente, deverá criar o índice antes que o mongosync inicie ou depois que a migração for concluída e o mongosync for interrompido.

  • Dentro de uma coleção, o campo _id deve ser único em todos os fragmentos no cluster. Consulte Clusters fragmentados e índices exclusivos para obter mais detalhes.

  • O comando movePrimary não pode ser utilizado para reatribuir o fragmento primário durante a sincronização.

  • Não há replicação para configuração de zona. mongosync replica dados, não herda zonas.

  • Não é possível adicionar ou remover compartilhamentos durante a sincronização.

  • mongosync sincroniza apenas índices que existem em todos os shards.

  • mongosync sincroniza apenas índices que têm especificações de índice consistentes em todos os shards.

    Observação

    Para verificar se há inconsistências de índices, consulte Localizar índices inconsistentes entre fragmentos.

  • Você deve parar o balanceador em clusters de origem e destino fragmentados durante toda a vida útil de uma migração. Para parar o balancer, execute o comando balancerStop e aguarde a conclusão do comando.

    Observação

    Depois de parar o balanceador, espere 15 minutos antes de iniciar o mongosync. Isso dá ao cluster tempo para concluir qualquer migração de parte em andamento.

  • Você não deve executar os comandos moveChunk e moveRange nos clusters de origem ou destino.

  • A tecla de fragmento não pode ser refinada durante a sincronização.

  • A chave de fragmento não pode ser modificada usando reshardCollection durante a sincronização.

  • O número máximo de índices por coleção fragmentada é 63, um a menos do que o limite padrão de 64.

  • mongosync só oferece suporte à sincronização de coleções fragmentadas que tenham configurações de agrupamento padrão.

  • Se a fonte antiga tiver índices exclusivos parcialmente distribuídos entre os fragmentos, a reversão poderá causar falhas. Certifique-se de que existem índices únicos em todos os fragmentos antes de reverter.

  • Os clusters de origem e destino devem ter o mesmo número de shards. Não é possível fazer a sincronização reversa quando os clusters têm topologias ou versões principais diferentes.

  • mongosync não oferece suporte à sincronização de vários clusters de origem em um cluster de destino.

  • Um cluster não pode ser ao mesmo tempo um cluster de origem em uma instância mongosync e um cluster de destino em outra instância mongosync.

  • A filtragem não é compatível com a sincronização reversível.

  • O cluster de destino não deve conter dados de usuários antes de iniciar.

  • O cluster de destino não deve conter o banco de dados do sistema mongosync_reserved_for_internal_use antes de iniciar.

  • Não é possível modificar um filtro em uso. Para criar um novo filtro, consulte Como substituir um filtro existente.

  • Você só pode renomear coleções em determinadas situações. Para obter mais detalhes, consulte: Adicionar e renomear coleções.

  • Se um filtro incluir um modo de exibição, mas não a coleção base, somente os metadados do modo de exibição serão sincronizados com o cluster de destino. Para incluir os documentos de visualização, você também deve sincronizar a coleção base.

  • Não é possível especificar coleções do sistema ou bancos de dados do sistema em um filtro.

  • Para utilizar o estágio de agregação $out ou o comando mapReduce (quando definido para criar ou substituir uma coleção) com filtragem, você deve configurar o filtro para utilizar o banco de dados inteiro. Você não pode limitar o filtro às coleções dentro do banco de dados.

    Para obter mais informações, consulte Filtragem com mapReduce e $out.

A partir de 1.3.0, O Cluster-to-Cluster Sync oferece suporte a coleções limitadas com algumas limitações.

As coleções limitadas no cluster de origem funcionam normalmente durante a sincronização.

As coleções limitadas no cluster de destino apresentam alterações temporárias durante a sincronização:

  • Não há nenhum número máximo de documentos.

  • O tamanho máximo da coleção é 1PB.

mongosync restaura os valores originais para o número máximo de documentos e o tamanho máximo do documento durante o commit.

O Cluster-to-Cluster Sync não replica coleções de sistemas para o cluster de destino.

Se você emitir um comando dropDatabase no cluster de origem, essa alteração não será diretamente aplicada no cluster de destino. Em vez disso, o Cluster-to-Cluster Sync descarta coleções e visualizações de usuários no banco de dados no cluster de destino, mas não descarta as coleções do sistema nesse banco de dados.

Por exemplo, no cluster de destino:

  • A operação de descarte não afeta uma coleção do system.js criada pelo usuário.

  • Se você habilitar o perfil, a coleção system.profile permanecerá.

  • Se você criar exibições no cluster de origem e depois descartar o banco de dados, a replicação do descarte removerá as exibições, mas descartará uma coleção system.views vazia.

Nesses casos, a replicação do dropDatabase remove todas as coleções criadas pelo usuário do banco de dados, mas deixa suas coleções do sistema no cluster de destino.

mongosync não oferece suporte a compilações de índice contínuo durante a migração. Para evitar a criação de índices de forma contínua durante a migração, use um dos métodos a seguir para garantir que seus índices de destino correspondam aos índices de origem:

  • Construa o índice na origem antes da migração.

  • Construa o índice na origem durante a migração com uma construção de índice padrão.

  • Construa o índice no destino após a migração.

Voltar

Dimensionamento do oplog

Nesta página