Menu Docs

Atualizar uma zona de fragmento existente

Depois de especificar um intervalo de valores para uma zona de fragmentos, você pode atualizar o intervalo de zonas de fragmentos se os requisitos do seu aplicativo mudarem.

Para atualizar uma zona de shard existente, execute estas etapas:

  1. Pare obalanceador .

  2. Remova o intervalo antigo da zona.

  3. Atualize o intervalo da zona.

  4. Reinicie o balanceador.

  • As faixas de zona incluem o limite inferior e excluem o limite superior.

  • Depois de modificar uma zona, o balanceador deve migrar os chunks para as zonas apropriadas com base na nova faixa de valores. Até a conclusão do balanceamento, alguns chunks podem residir no shard errado, dadas as zonas configuradas para o cluster fragmentado.

Para concluir este tutorial, você deve implantar um cluster fragmentado com uma coleção fragmentada e criar uma zona para modificar.

Este exemplo utiliza uma coleção fragmentada denominada users no banco de banco de dados do records , fragmentado pelo campo zipcode .

1
sh.addShardToZone(<shard name>, "NYC")
2
sh.updateZoneKeyRange("records.users", { zipcode: "10001" }, { zipcode: "10281" }, "NYC" )

O procedimento a seguir modifica o intervalo de valores zipcode para a zona NYC para ser 11201 a 11240.

1
sh.stopBalancer()
2
sh.removeRangeFromZone("records.user", { zipcode: "10001" }, { zipcode: "10281" } )
3
sh.updateZoneKeyRange("records.users", { zipcode: "11201" }, { zipcode: "11240" }, "NYC" )
4
sh.startBalancer()