Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

Refinar uma chave de fragmento

O refinamento da chave fragmentada de uma coleção permite uma distribuição de dados mais refinada e pode resolver situações em que a chave existente levou a blocos jumbo devido à cardinalidade insuficiente.

Aviso

Não modifique o intervalo ou o tipo de hash de nenhum dos campos de chave de fragmento atuais. Isso causa inconsistências de dados. Por exemplo, não modifique uma chave de shard de { customer_id: 1 } para { customer_id: "hashed", order_id: 1 }.

Observação

Começando no MongoDB 5.0, você também pode compartilhar sua coleção fornecendo uma nova chave de fragmento para a coleção. Para saber se você deve reestruturar sua coleção ou refinar sua chave de fragmento, consulte Alterar uma chave de fragmento.

Para refinar a chave de fragmento de uma coleção, use o comando refineCollectionShardKey. refineCollectionShardKey adiciona um campo ou campos de sufixo à chave existente para criar a nova chave de fragmento.

Por exemplo, você pode ter uma coleção orders existente em um banco de dados test com a chave de fragmento { customer_id: 1 }. Você pode usar o comando refineCollectionShardKey para alterar a chave de fragmento antiga para a nova chave de fragmento { customer_id: 1, order_id: 1 }:

db.adminCommand( {
refineCollectionShardKey: "test.orders",
key: { customer_id: 1, order_id: 1 }
} )

Voltar

Alterar uma chave de fragmentação