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.

Ver también