Configuraciones regionales y multirregionales

Organízate con las colecciones Guarda y clasifica el contenido según tus preferencias.

En esta página, se describen las opciones de configuración de instancias y los dos tipos de configuraciones que ofrece Spanner: configuraciones regionales y multirregionales. También se describen las diferencias y las compensaciones entre las configuraciones regionales y multirregionales.

Configuración de instancias

La configuración de la instancia define la posición geográfica y la replicación de sus bases de datos. Cuando creas una instancia, debes configurarla como regional (es decir, todos los recursos están contenidos en una sola región de Google Cloud) o multirregional (es decir, los recursos abarcan más de una región). Esta elección se realiza seleccionando una configuración de instancia, que determina dónde se almacenan los datos de la instancia.

Puedes cambiar la configuración de la instancia con las instrucciones de Pasos para mover una instancia. Para obtener información general sobre cómo mover una instancia, consulta Migra una instancia a una configuración diferente.

Configuraciones regionales

Los servicios de Google Cloud están disponibles en diferentes ubicaciones de América del Norte, América del Sur, Europa, Asia y Australia. Si tus usuarios y servicios se encuentran dentro de una misma región, elige una configuración de instancia regional para las lecturas y escrituras de latencia más baja.

Opciones de configuración disponibles

Spanner ofrece las siguientes configuraciones de instancias regionales:

Nombre de la región Descripción de la región
América
northamerica-northeast1 Montreal Ícono de la hoja CO2 bajo
northamerica-northeast2 Toronto Ícono de la hoja CO2 bajo
southamerica-east1 São Paulo Ícono de la hoja CO2 bajo
southamerica-west1 Santiago
us-central1 Iowa Ícono de la hoja CO2 bajo
us-east1 Carolina del Sur
us-east4 Virginia del Norte
us-east5 Columbus
us-south1 Dallas
us-west1 Oregón Ícono de la hoja CO2 bajo
us-west2 Los Ángeles
us-west3 Salt Lake City
us-west4 Las Vegas
Europa
europe-central2 Varsovia
europe-north1 Finlandia Ícono de la hoja CO2 bajo
europe-southwest1 Madrid Ícono de la hoja CO2 bajo
europe-west1 Bélgica Ícono de la hoja CO2 bajo
europe-west2 Londres
europe-west3 Fráncfort
europe-west4 Países Bajos
europe-west6 Zúrich Ícono de la hoja CO2 bajo
europe-west8 Milán
europe-west9 París Ícono de la hoja CO2 bajo
Asia-Pacífico
asia-east1 Taiwán
asia-east2 Hong Kong
asia-northeast1 Tokio
asia-northeast2 Osaka
asia-northeast3 Seúl
asia-south1 Bombay
asia-south2 Delhi
asia-southeast1 Singapur
asia-southeast2 Yakarta
australia-southeast1 Sídney
australia-southeast2 Melbourne

Para cualquier configuración regional, Spanner mantiene 3 réplicas de lectura y escritura, cada una dentro de una zona diferente de Google Cloud en esa región. Cada réplica de lectura y escritura contiene una copia completa de tu base de datos operativa que puede entregar solicitudes de lectura y escritura y de solo lectura. Spanner usa réplicas en zonas diferentes para que, si ocurre una falla en una sola zona, la base de datos permanezca disponible.

Replicación

Las opciones de configuración regionales contienen exactamente 3 réplicas de lectura y escritura. Como se describe en Replicación, cada mutación de Spanner requiere un quórum de escritura compuesto por la mayoría de las réplicas de votación. Los quórums de escritura se forman a partir de dos de las tres réplicas en las opciones de configuración regionales.

Prácticas recomendadas

Para obtener un rendimiento óptimo, sigue estas prácticas recomendadas:

  • Diseña un esquema que evite los hotspots y otros problemas de rendimiento.
  • Coloca los recursos de procesamiento críticos dentro de la misma región que tu instancia de Spanner.
  • Aprovisiona una capacidad de procesamiento suficiente para mantener el uso de CPU total de alta prioridad por debajo del 65%.

Rendimiento

Cuando sigues las prácticas recomendadas descritas con anterioridad, cada 1,000 unidades de procesamiento (1 nodo) de capacidad de procesamiento puede proporcionar hasta 10,000 consultas por segundo (QPS) de lecturas o 2,000 QPS de escrituras (escritura de filas individuales a 1 KB de datos por fila).

Configuraciones multirregionales

Como se describió antes, la configuración regional de Spanner replica datos entre varias zonas dentro de una sola región. Sin embargo, si tu aplicación a menudo necesita leer datos de varias ubicaciones geográficas (por ejemplo, para entregar datos a usuarios de América del Norte y Asia) o si tus escrituras se originan en una ubicación diferente a tus lecturas (por ejemplo, grandes cargas de trabajo de escritura en América del Norte y grandes cargas de trabajo de lectura en Europa), una configuración regional podría no ser óptima.

Las opciones de configuración multirregionales te permiten replicar los datos de la base de datos no solo en varias zonas, sino en varias zonas de varias regiones, según lo define la configuración de la instancia. Estas réplicas adicionales te permiten leer datos con baja latencia desde varias ubicaciones cercanas o dentro de las regiones en la configuración. Sin embargo, existen pros y contras, ya que, en una configuración multirregional, las réplicas de quórum (lectura y escritura) se distribuyen en más de una región. Por lo tanto, pueden generar latencia de red adicional cuando estas réplicas se comunican entre sí para votar escrituras. En otras palabras, las opciones de configuración multirregionales permiten que la aplicación obtenga lecturas más rápidas en más lugares a costa de un pequeño aumento en la latencia de escritura.

Opciones de configuración disponibles

Un continente

Nombre Ubicación Regiones de lectura y escritura Regiones de solo lectura Región testigo
asia1 Asia Tokio: asia-northeast1 L,2R
Osaka: asia-northeast2 2R
Ninguno Seúl: asia-northeast3
eur3 Europa Bélgica: europe-west1 L,2R
Países Bajos: europe-west4 2R
Ninguno Finlandia: europe-north1
eur5 Europa Londres: europe-west2 L,2R
Bélgica: europe-west1 2R
Ninguno Países Bajos: europe-west4
eur6 Europa Países Bajos: europe-west4 L,2R
Fráncfort: europe-west3 R2
Ninguno Zúrich: europe-west6
nam3 Norteamérica Virginia del Norte: us-east4 L,2R
Carolina del Sur: us-east1 2R
Ninguno Iowa: us-central1
nam6 Norteamérica Iowa: us-central1 L,2R
Carolina del Sur: us-east1 2R
Oregón: us-west1 1R
Los Ángeles: us-west2 1R
Oklahoma: us-central2
nam7 Norteamérica Iowa: us-central1 L,2R
Virginia del Norte: us-east4 2R
Ninguno Oklahoma: us-central2
nam8 Norteamérica Los Ángeles: us-west2 L,2R
Oregón: us-west1 2R
Ninguno Salt Lake City: us-west3
nam9 Norteamérica Virginia del Norte: us-east4 L,2R
Iowa: us-central1 2R
Oregón: us-west1 2R Carolina del Sur: us-east1
nam10 Norteamérica Iowa: us-central1 L,2R
Salt Lake City: us-west3 2R
Ninguno Oklahoma: us-central2
nam11 Norteamérica Iowa: us-central1 L,2R
Carolina del Sur: us-east1 2R
Ninguno Oklahoma: us-central2
nam12 Norteamérica Iowa: us-central1 L,2R
Virginia del Norte: us-east4 2R
Oregón: us-west1 2R Oklahoma: us-central2
nam13 Norteamérica Oklahoma: us-central2 L,2R
Iowa: us-central1 2R
Ninguno Salt Lake City: us-west3

Tres continentes

Nombre Ubicaciones Regiones de lectura y escritura Regiones de solo lectura Región testigo
nam-eur-asia1 Norteamérica
Europa
Asia
Iowa: us-central1 L,2R
Oklahoma: us-central2 2R
Bélgica: europe-west1 2R
Taiwán: asia-east1 2R
Carolina del Sur: us-east1
nam-eur-asia3 Norteamérica
Europa
Asia
Iowa: us-central1 L,2R
Carolina del Sur: us-east1 2R
Bélgica: europe-west1 1R
Países Bajos: europe-west4 1R
Taiwán: asia-east1 2R
Oklahoma: us-central2

Beneficios

Las instancias multirregionales ofrecen los siguientes beneficios principales:

  • Disponibilidad del 99.999% , que es mayor que la disponibilidad del 99.99% que proporcionan las configuraciones regionales de Spanner.

  • Distribución de datos: Spanner replica automáticamente tus datos entre regiones con garantías de coherencia sólida. Esto permite que tus datos se almacenen donde se usan, lo que puede reducir la latencia y mejorar la experiencia del usuario.

  • Coherencia externa: Aunque Spanner se replica en ubicaciones distantes según la geografía, puedes usar Spanner como si fuera una base de datos que se ejecuta en una sola máquina. Se garantiza que las transacciones son serializables, y el orden de las transacciones dentro de la base de datos es el mismo que el orden en el que los clientes observan las transacciones que se han realizado. La coherencia externa es una garantía más sólida que la “coherencia sólida”, que ofrecen otros productos. Obtén más información sobre esta propiedad en la página sobre TrueTime y la coherencia externa.

Replicación

Cada configuración multirregional contiene dos regiones que se designan como regiones de lectura y escritura, cada una de las cuales contiene dos réplicas de lectura y escritura. Una de estas regiones de lectura y escritura se designa como la región líder predeterminada, lo que significa que contiene las réplicas líderes de la base de datos. Spanner también coloca una réplica de testigo en una tercera región llamada región testigo.

Cada vez que un cliente emite una mutación a tu base de datos, se crean quórums de escritura, que consisten en una de las réplicas de la región líder predeterminada y dos de las cuatro réplicas de votación adicionales. (El quórum puede estar formado por réplicas de dos o tres de las regiones que conforman tu configuración, según las otras réplicas que participen en el voto). Además de estas 5 réplicas de votación, la configuración también puede contener réplicas de solo lectura para entregar lecturas de baja latencia. Las regiones que contienen réplicas de solo lectura se denominan regiones de solo lectura.

En general, las regiones de votación en una configuración multirregional se ubican geográficamente cerca, a menos de mil millas de distancia, para formar un quórum de baja latencia que permite escrituras rápidas (más información). Sin embargo, las regiones se encuentran a una distancia suficiente (en general, al menos, unas cientos de millas) para evitar fallas coordinadas.

En las siguientes secciones, se describe cada uno de estos tipos de regiones con más detalle y se proporciona orientación sobre cómo colocar las cargas de trabajo de escritura y lectura según corresponda.

Tipos de región

Regiones de lectura y escritura

Como se describió con anterioridad, cada configuración multirregional contiene dos regiones de lectura y escritura, cada una de las cuales contiene dos réplicas de lectura y escritura.

Una de estas regiones de lectura y escritura se designa como la región líder predeterminada. Se selecciona un líder de las réplicas en la región líder predeterminada para cada división. En caso de una falla de réplica líder, la otra réplica en la región líder predeterminada asume de forma automática el liderazgo. De hecho, los líderes ejecutan verificaciones de estado en sí mismos y pueden renunciar al liderazgo de forma preventiva si detectan que están en mal estado. En la mayoría de los casos, cuando la región líder predeterminada vuelve a estar en buen estado, vuelve a asumir automáticamente el liderazgo.

Las escrituras primero se procesan en la región líder predeterminada. Puedes supervisar el porcentaje de réplicas dentro de una región determinada mediante la métrica de supervisión instance/leader_percentage_by_region. Para obtener más información, consulta Métricas de Spanner.

La segunda región de lectura y escritura contiene las réplicas adicionales que son aptas para ser líderes. En el improbable caso de que se pierdan todas las réplicas en la región líder predeterminada, se eligen réplicas líderes nuevas de la segunda región de lectura y escritura.

Para configurar la región líder de una base de datos, sigue las instrucciones en Cambia la región líder de una base de datos. Para obtener información general sobre la configuración de la región líder, consulta Configura la región líder predeterminada.

Regiones de solo lectura

Las regiones de solo lectura contienen réplicas de solo lectura, que pueden entregar lecturas de baja latencia a los clientes que se encuentran fuera de las regiones de lectura y escritura.

Regiones testigo

Una región testigo contiene una réplica testigo, que se usa para votar escrituras. Los testigos se vuelven importantes en el raro evento de que las regiones de lectura y escritura no estén disponibles.

Prácticas recomendadas

Para obtener un rendimiento óptimo, sigue estas prácticas recomendadas:

  • Diseña un esquema que evite los hotspots y otros problemas de rendimiento.
  • Para obtener una latencia de escritura óptima, ubica los recursos de procesamiento de las cargas de trabajo con alto volumen de operaciones de escritura en la región líder predeterminada o cerca de ella.
  • A fin de obtener un rendimiento de lectura óptimo fuera de la región líder predeterminada, usa un estado de inactividad de al menos 15 segundos.
  • A fin de evitar la dependencia de una sola región para tus cargas de trabajo, coloca recursos de procesamiento críticos en al menos dos regiones. Una buena opción es colocarlos junto a las dos regiones de lectura y escritura diferentes para que ninguna interrupción en la región afecte a toda la aplicación.
  • Aprovisiona una capacidad de procesamiento suficiente para mantener el uso de CPU total de alta prioridad por debajo del 45% en cada región.

Rendimiento

Cada configuración de Spanner tiene características de rendimiento ligeramente diferentes según la topología de replicación.

Cuando sigues las prácticas recomendadas descritas con anterioridad, cada 1,000 unidades de procesamiento (1 nodo) de capacidad de procesamiento pueden proporcionar el siguiente rendimiento aproximado:

Configuración multirregional Lecturas máximas aproximadas (QPS por región) Escrituras máximas aproximadas (QPS en total)
asia1 7,000 1,800
eur3 7,000 1,800
eur5 7,000 1,800
eur6 7,000 1,800
nam3 7,000 1,800
nam6 7,000 en us-central1 y us-east1
3,500 en us-west1 y us-west2 [1]
1,800
nam7 7,000 1,800
nam8 7,000 1,800
nam9 7,000 1,800
nam10 7,000 1,800
nam11 7,000 1,800
nam12 7,000 1,800
nam13 7,000 1,800
nam-eur-asia1 7,000 1,000
nam-eur-asia3 7,000 1,000
  • [1]: us-west1 y us-west2 solo proporcionan la mitad del rendimiento de QPS, ya que contienen una réplica por región en lugar de dos.

Ten en cuenta que la orientación de lectura se proporciona por región (porque las lecturas se pueden entregar desde cualquier lugar), mientras que la orientación de escritura es para toda la configuración. La orientación de escritura supone que escribes filas individuales a 1 KB de datos por fila.

Mueve una instancia a una configuración diferente

Puedes mover tu instancia de cualquier configuración de instancia a cualquier otra, incluso entre configuraciones regionales y multirregionales.

Mover la instancia no genera tiempo de inactividad y Spanner sigue proporcionando las garantías de transacción habituales durante un traslado, incluida la coherencia sólida.

  1. Ve a la página Instancias de Spanner en Google Cloud Console.

    Ir a la página Instancias

  2. Haz clic en el nombre de la instancia que deseas borrar.

    Google Cloud Console muestra la página Descripción general de la instancia.

  3. Haz clic en Editar instancia.

  4. Para programar el traslado a una configuración de instancia nueva, haz clic en Comunicarse con Google y completa el formulario de solicitud de migración de instancia en vivo (vista previa) de Spanner.

    • Debes tener el permiso spanner.instances.update para solicitar el traslado a una configuración de instancia nueva.
    • Después de enviar el formulario, Google se comunicará contigo para programar el cambio de configuración de la instancia.

Limitaciones para mover una instancia

  • Solo puedes mover una instancia a la vez en un proyecto.
  • No puedes mover una instancia de prueba gratuita de Spanner. Puedes trasladar la instancia después de actualizar a una instancia pagada.
  • Mover una instancia no cambia su nombre, ID o ID del proyecto.
  • No debes realizar cambios en la instancia durante la migración. Esto incluye cambiar el recuento de nodos de la instancia, cambiar los esquemas de la base de datos, crear o descartar bases de datos, o crear o borrar copias de seguridad.
  • Las copias de seguridad de Spanner son específicas de la configuración de una instancia y no se incluyen cuando se mueve una instancia. Después de mover una instancia a una configuración de instancia nueva, se borran todas las copias de seguridad en la configuración anterior.
  • En la actualidad, no puedes cambiar la configuración de una instancia que tenga bases de datos habilitadas para CMEK.
  • Asegúrate de tener suficiente cuota de nodo en la configuración de la instancia de destino para admitir el uso máximo esperado de la instancia. Para obtener más información, consulta Cuotas y límites de Cloud Spanner.

Consideraciones de rendimiento cuando se mueve una instancia

Cuando se mueve una instancia, esta experimenta latencias de lectura y escritura más altas y una tasa de anulación de transacciones más alta.

Una vez iniciadas, la mayoría de las migraciones deben completarse en un plazo de doce horas. Algunas migraciones pueden llevar más tiempo según el tamaño y otras características de la instancia. Google se comunicará contigo para brindarte una estimación del tiempo de migración específica de la instancia que se migrará.

Todas las bases de datos de la instancia se migran al mismo tiempo. Dado que las aplicaciones cliente pueden realizar varias llamadas secuenciales a Spanner, el aumento en la latencia final de la aplicación puede ser mayor que el aumento en la latencia de Spanner.

Después de migrar una instancia, su rendimiento variará según los detalles de la configuración. Por ejemplo, las configuraciones multirregionales, por lo general, tienen mayor latencia de escritura y menor latencia de lectura que las configuraciones regionales.

Configura la región líder predeterminada

Es posible que desees cambiar la ubicación de la región líder predeterminada de tu base de datos para que esté más cerca de conectar a los clientes y reducir la latencia de la aplicación.

Puedes cambiar la región líder de cualquier instancia de Spanner que use una configuración multirregional. Si deseas obtener instrucciones para cambiar la ubicación de la región líder, consulta Cambia la región líder de una base de datos. Las únicas regiones aptas para convertirse en la región líder predeterminada de tu base de datos son las regiones de lectura y escritura en tu configuración multirregional.

La región líder es responsable de manejar todas las escrituras de la base de datos, por lo tanto, si la mayor parte del tráfico proviene de una región geográfica, es posible que desees moverlo a esa región para reducir la latencia. Actualizar la región líder predeterminada es económica y no implica ningún traslado de datos. El nuevo valor tarda unos minutos en aplicarse.

Cambiar la región líder predeterminada es un cambio de esquema, que usa una operación de larga duración. Si es necesario, puedes obtener el estado de la operación de larga duración.

Pros y contras: opciones de configuración regionales frente a multirregionales

Configuración Disponibilidad Latencia Costo Localidad de datos
Regional 99.99% Latencias bajas de escritura dentro de la región. Menor costo, consulta Precios. Habilita la administración de datos geográficos.
Multirregional 99.999% Latencia baja de lectura de varias regiones geográficas. Mayor costo, consulta Precios. Distribuye datos en varias regiones de la configuración.

¿Qué sigue?