Configuraciones regionales y multirregionales

En esta página, se describen las opciones de configuración de instancias y los dos tipos de configuraciones que ofrece Cloud Spanner: configuración regional y multirregional. También se describen las diferencias y los pros y los contras 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 siguiendo las instrucciones en Pasos para mover una instancia. Para obtener información general sobre el traslado de una instancia, consulta Cómo trasladar 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

Cloud Spanner ofrece las siguientes opciones de configuración 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, Cloud 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. Cloud Spanner usa réplicas en zonas diferentes para que, si se produce un error en una sola zona, tu 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 Cloud 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 Cloud 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).

Opciones de configuración multirregionales

Como se describió con anterioridad, las opciones de configuración regionales de Cloud Spanner replican los datos entre varias zonas dentro de una misma 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
  • L: región líder predeterminada

  • 1R: 1 réplica en la región

  • 2R: 2 réplicas en la región

Beneficios

Las instancias multirregionales ofrecen los siguientes beneficios principales:

  • 99.999% de disponibilidad: mayor que el 99.99% de disponibilidad que ofrecen las opciones de configuración regionales de Cloud Spanner.

  • Distribución de datos: Cloud Spanner replica tus datos de manera automática 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 Cloud Spanner se replica en ubicaciones distantes según la geografía, puedes usar Cloud 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. Cloud 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 elegirá una líder entre 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 condiciones normales, cuando están disponibles las réplicas en la región líder predeterminada, esta región contiene los líderes y, por lo tanto, es donde se procesan las escrituras primero.

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 que se indican 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 Cloud 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 puede 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.

Traslada una instancia a otra configuración

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

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

Pasos para trasladar una instancia

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

    Ir a la página Instancias

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

    La consola muestra la página Descripción general de la instancia.

  3. Haz clic en Editar instancia.

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

    • 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 trasladar una instancia

  • Solo puedes mover una instancia en un proyecto a la vez.
  • El traslado de una instancia no cambia su nombre, ID ni 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 Cloud Spanner son específicas de la configuración de una instancia y no se incluyen cuando se mueve una instancia. Después de trasladar una instancia a la configuración de una instancia nueva, se borran todas las copias de seguridad en la configuración de la instancia anterior.
  • En este momento, no puedes cambiar la configuración de una instancia que tenga bases de datos habilitadas para CMEK.

Consideraciones de rendimiento cuando trasladas 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 tardar 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 Cloud Spanner, el aumento en la latencia final de las aplicaciones puede ser mayor que el aumento en la latencia de Cloud Spanner.

Después de migrar una instancia, el rendimiento de la instancia variará según los detalles de la configuración. Por ejemplo, las configuraciones multirregionales generalmente tienen una latencia de escritura más alta y una latencia de lectura más baja que las configuraciones regionales.

Configura la región líder predeterminada

Es posible que quieras 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 Cloud Spanner que use una configuración multirregional. Si deseas obtener instrucciones para cambiar la ubicación de la región líder, consulta Cómo cambiar 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 la configuración multirregional.

La región líder es responsable de controlar todas las operaciones de escritura de la base de datos. Por lo tanto, si la mayor parte de tu tráfico proviene de una región geográfica, te recomendamos que la transfieras 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?