En esta página, se presenta la partición geográfica y se explica cómo funciona en Spanner.
Spanner ofrece configuraciones de instancias regionales y multirregionales, lo que permite replicar tus datos entre diferentes ubicaciones geográficas. La partición geográfica te permite segmentar y almacenar aún más las filas en tu tabla de base de datos en diferentes configuraciones de instancias.
Beneficios y casos de uso
La partición geográfica te permite particionar filas en tu base de datos, lo que proporciona los siguientes beneficios:
- Latencia regional en una base de datos global: Con la partición geográfica, Spanner administra tus datos en una sola base de datos unificada en ubicaciones distribuidas geográficamente, al tiempo que garantiza una latencia baja para el acceso regional. El uso de la partición geográfica simplifica las operaciones y reduce la complejidad en comparación con la administración de varias bases de datos fragmentadas.
- Capacidades de la base de datos global: La partición geográfica ofrece funciones de base de datos como transacciones globales, movimiento de datos entre regiones y aplicación de la unicidad en todas las regiones geográficas.
- Cumplimiento con la residencia de datos: Spanner proporciona compromisos de residencia de datos a nivel de la posición. Para obtener información, consulta la compatibilidad con la residencia de datos para las bases de datos que usan la partición geográfica.
Estos son algunos casos de uso comunes:
Datos relacionados con el usuario: Particiona geográficamente los datos relacionados con el usuario para procesar y almacenar datos en una región que esté más cerca del usuario.
Datos localizados: Información específica de la ubicación, como el tráfico y los eventos especiales.
Cómo funciona la partición geográfica
Todas las instancias de Spanner tienen una partición de instancia principal que se denomina partición de instancia default. Si no creas particiones de instancias adicionales, todos los objetos de la base de datos se almacenan en la partición predeterminada, que se encuentra en la misma ubicación que la configuración de tu instancia. Si deseas particionar los datos en una base de datos, debes crear particiones de instancias adicionales en tu instancia.
Para usar la partición geográfica en una base de datos, haz lo siguiente:
Crea particiones de instancias adicionales en tu instancia. Estas particiones de instancias creadas por el usuario tienen su propia configuración (regional o multirregional) y recuento de nodos.
Crea tu base de datos como lo harías normalmente. La base de datos tiene una posición predeterminada que está asociada con la partición de instancia predeterminada de la instancia.
Crea posiciones en tu base de datos que estén asociadas con las particiones de instancias adicionales. Tu base de datos puede interactuar con las particiones de instancias adicionales que se crearon en la misma instancia.
Crea tablas de posiciones que tengan un atributo de clave de posición. Debes usar la clave de posición en tus instrucciones DML para especificar en qué partición de instancia residen los datos de la fila. Si creas tablas que no son de posiciones en tu base de datos, Spanner almacena esos datos en la partición de instancia predeterminada.
La clave de posición para cada fila de una tabla de posiciones debe asignarse a uno de los siguientes elementos:
Un valor que coincida con el nombre de una de las posiciones creadas por el usuario definidas para esa base de datos.
El valor de la clave de posición,
default, que almacena los datos en la posición predeterminada.
Para obtener instrucciones sobre cómo usar las particiones de instancias, consulta Crea y administra particiones de instancias.
Consideraciones importantes
Ten en cuenta lo siguiente antes de crear tus particiones de instancias, posiciones y tablas de posiciones:
Ubicación de la partición de instancia: Selecciona cuidadosamente las regiones de partición de instancias que proporcionen la mayor cantidad de beneficios para tu aplicación.
Debes crear particiones de instancias en una instancia con una configuración de instancias multirregional.
Para obtener una mejor latencia, te recomendamos que selecciones una ubicación de partición de instancia predeterminada multirregional que tenga regiones de lectura y escritura y de solo lectura que abarquen todas las jurisdicciones que requiere tu aplicación. Luego, crea particiones de instancias adicionales (que pueden ser regionales) con regiones principales que coincidan con las regiones de la partición de instancia predeterminada multirregional.
Cantidad de particiones de instancias: Demasiadas particiones de instancias pueden generar sobrecarga, mientras que muy pocas podrían no ofrecer suficientes beneficios. Puedes crear un máximo de diez particiones de instancias por instancia.
Limitaciones
Se aplican las siguientes limitaciones durante la versión preliminar y están sujetas a cambios o eliminación en la versión de DG o después:
- Tu partición de instancia predeterminada debe ser una configuración multirregional.
- No puedes crear una partición de instancia con una configuración birregional.
- Para cada partición de instancia, la capacidad de procesamiento debe ser de al menos un nodo (1,000 unidades de procesamiento).
- Para una instancia determinada, no puedes crear más de una partición de instancia que use la misma configuración de instancia base. Por ejemplo, dentro de
test-instance, no puedes crear dos particiones,partition-1ypartition-2, que usenus-central1como la configuración de partición de instancia. - Para cada nodo de tu partición de instancia, puedes colocar un máximo de 100 millones de filas de posiciones. Puedes ver la cantidad de filas de posiciones que se colocaron en cada una de tus particiones de instancias en la página Particiones de instancias de la consola. Google Cloud
- Para cada nodo de tu partición de instancia de destino, Spanner puede mover alrededor de 10 filas de posiciones por segundo.
- No puedes crear copias de seguridad incrementales ni copiar la copia de seguridad.
- No puedes habilitar el ajuste de escala automático asimétrico de solo lectura en particiones de instancias que no sean predeterminadas.
- No puedes mover la partición de instancia a una configuración de instancia diferente.
- No puedes mover una instancia que tenga particiones de instancias. (Puedes mover filas individuales a diferentes particiones de instancias, por lo que no necesitas mover la instancia).
- El uso de particiones de instancias no garantiza el cumplimiento de los requisitos reglamentarios.
- Los flujos de cambios no admiten datos particionados.
- Si usas una declaración DML
INSERToDELETEpara una tabla de posiciones, esa sentencia debe ser la única en la transacción. - El modo de transacción de lectura y escritura te permite hacer referencia solo a las claves primarias de una tabla de posiciones en la cláusula
WHERE. Si necesitas hacer referencia a una columna de clave no primaria de una tabla de posiciones en la cláusulaWHERE, puedes usar una de las siguientes alternativas:- Si solo necesitas acceso de solo lectura, cambia al modo de transacción de solo lectura.
- Si necesitas realizar actualizaciones, usa el modo de transacción DML particionada o busca las claves primarias en una consulta de transacción de solo lectura y, luego, en una transacción de lectura y escritura separada, haz referencia a las claves primarias que se muestran en la cláusula
WHERE.
- No puedes usar esquemas con nombre.
- No puedes crear particiones de instancias en instancias de prueba gratuita ni en instancias de tamaño granular más pequeñas que un nodo (1,000 unidades de procesamiento).
- No puedes modificar una posición. En cambio, puedes crear una posición nueva, usar DML particionada para actualizar la posición de tus datos a una posición nueva y, luego, quitar la posición original.
- Tu partición de instancia predeterminada debe ser una configuración multirregional.
Control de acceso con IAM
Debes tener los permisos spanner.instancePartitions.create, spanner.instancePartitions.update y spanner.instancePartitions.delete para crear y administrar particiones de instancias. Si solo necesitas ver las particiones de instancias, debes tener el permiso spanner.instancePartitions.list o spanner.instancePartitions.get. Para obtener más información, consulta
la Descripción general de IAM.
Para obtener información sobre cómo otorgar permisos de IAM de Spanner, consulta Aplica permisos de IAM.
Supervisión
Spanner proporciona varias métricas para ayudarte a supervisar tus particiones de instancias. Después de crear una partición de instancia adicional, verás un filtro desplegable adicional para Particiones de instancias en la página Estadísticas del sistema de la consola. Google Cloud La selección predeterminada es mostrar métricas para Todas las particiones de instancias. Puedes usar el menú desplegable para filtrar las métricas de una partición de instancia específica.
Para obtener más información sobre la supervisión de tus recursos de Spanner, consulta Supervisa instancias con Cloud Monitoring.
Copias de seguridad
Puedes crear copias de seguridad completas para bases de datos que usan la partición geográfica. No puedes borrar la partición de instancia si la usas en una copia de seguridad. Para obtener más información, consulta Crea copias de seguridad.
Notas de uso:
- Spanner almacena copias de seguridad de datos particionados geográficamente en la misma ubicación de posición que los datos originales en el momento de la versión de la copia de seguridad.
Para restablecer las copias de seguridad que contienen datos particionados geográficamente, tu instancia de destino debe cumplir con las siguientes condiciones:
- La instancia de destino debe usar los mismos nombres de particiones de instancias que la copia de seguridad original.
- Cada partición de instancia de la instancia de destino debe usar la misma configuración de instancia que la copia de seguridad original.
Escalador automático administrado
Puedes habilitar el escalador automático administrado en las particiones de instancias. Cuando habilitas el escalador automático administrado, Spanner ajusta automáticamente el tamaño de tu partición de instancia. El escalador automático administrado reacciona a los cambios en la carga de trabajo o las necesidades de almacenamiento de tu partición de instancia a medida que aumenta o disminuye la carga. El escalador automático administrado aumenta la escala, agregando capacidad de procesamiento a la partición de instancia, o disminuye la escala, quitando capacidad de procesamiento de la partición de instancia.
Precios
No se aplican cargos adicionales por usar la partición geográfica. Se te cobra el precio estándar de Spanner por la cantidad de capacidad de procesamiento que usa tu instancia y la cantidad de almacenamiento que usa tu base de datos.
Para obtener más información, consulta Precios de Spanner.
¿Qué sigue?
- Obtén información para crear y administrar particiones de instancias.
- Obtén información para crear y administrar posiciones de datos.