Zonas y regiones
Guarda los datos de unos clientes en las máquinas de una región con zonas.
Guarda los datos de unos clientes solo en las máquinas de una región, por ejemplo para cumplir una norma de residencia de datos. Las zonas restringen las réplicas de unos intervalos de shard key a unos nodos.
Requisitos
- Una colección con una shard key que lleve la región, como
{ region: 1, _id: 1 }. - Un usuario con los privilegios de los comandos de sharding.
Asigna los nodos a la zona
Cada nodo es un shard cuyo nombre es el que muestra listShards. Asigna a la zona eu los nodos de esa
región:
JavaScript
sh.addShardToZone("<shard>", "eu");Asigna el intervalo a la zona
JavaScript
sh.updateZoneKeyRange("tienda.pedidos", { region: "eu", _id: MinKey }, { region: "eu", _id: MaxKey }, "eu");Comprobar
teseladb admin ranges --collection tienda.pedidos muestra que los rangos de eu solo tienen réplicas en los nodos de la zona.
Problemas frecuentes
- Con todas las réplicas de un rango en una región, cada escritura espera a la mayoría de esa región. Con réplicas en regiones lejanas, la escritura espera a la red entre ellas.