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, que te permiten replicar tus datos en diferentes ubicaciones geográficas. Las particiones geográficas te permiten segmentar y almacenar filas de tu tabla de base de datos en diferentes configuraciones de instancia.
Beneficios y casos prácticos
La partición geográfica te permite dividir las filas de tu base de datos, lo que te ofrece las siguientes ventajas:
- Latencia regional en una base de datos global: al usar la partición geográfica, Spanner gestiona tus datos en una única base de datos unificada en ubicaciones distribuidas geográficamente, al tiempo que garantiza una latencia baja para el acceso regional. El particionamiento geográfico simplifica las operaciones y reduce la complejidad en comparación con la gestión de varias bases de datos fragmentadas.
- Funciones de 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 de la residencia de datos: Spanner ofrece compromisos de residencia de datos a nivel de colocación. Para obtener más información, consulta la compatibilidad de la residencia de datos con las bases de datos que usan particiones geográficas.
A continuación se indican algunos de los casos prácticos habituales:
Datos relacionados con los usuarios: partición geográfica de los datos relacionados con los usuarios para tratar y almacenar los datos en la región más cercana al usuario.
Datos localizados: información específica de la ubicación, como el tráfico y eventos especiales.
Cómo funciona la geolocalización
Todas las instancias de Spanner tienen una partición de instancia principal llamada default
. Si no creas particiones de instancia 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 quieres particionar los datos de una base de datos, debes crear particiones de instancia adicionales en tu instancia.
Para usar las particiones geográficas en una base de datos, sigue estos pasos:
Crea particiones de instancia adicionales en tu instancia. Estas particiones de instancias creadas por el usuario tienen su propia configuración (regional o multirregional) y su propio número de nodos.
Crea tu base de datos como lo harías normalmente. La base de datos tiene un emplazamiento predeterminado asociado a la partición de instancia predeterminada de la instancia.
Crea emplazamientos en tu base de datos que estén asociados a las particiones de instancia adicionales. Tu base de datos puede interactuar con las particiones de instancia adicionales que se hayan creado en la misma instancia.
Cree tablas de emplazamientos que tengan un atributo de clave de emplazamiento. Debe usar la clave de emplazamiento en sus instrucciones DML para especificar en qué partición de instancia se encuentran los datos de la fila. Si crea tablas que no son de emplazamiento en su base de datos, Spanner almacenará esos datos en la partición de instancia predeterminada.
La clave de emplazamiento de cada fila de una tabla de emplazamientos debe asignarse a uno de los siguientes elementos:
Un valor que coincida con el nombre de uno de los emplazamientos creados por el usuario definidos en esa base de datos.
El valor de clave de emplazamiento,
default
, que almacena los datos en el emplazamiento predeterminado.
Para obtener instrucciones sobre cómo usar las particiones de instancias, consulta el artículo sobre cómo crear y gestionar particiones de instancias.
Cuestiones importantes
Antes de crear particiones de instancias, emplazamientos y tablas de emplazamientos, tenga en cuenta lo siguiente:
Ubicación de la partición de la instancia: selecciona con cuidado las regiones de la partición de la instancia que ofrezcan las mayores ventajas para tu aplicación.
Aunque puedes crear particiones de instancias en una instancia con una configuración de instancia regional, te recomendamos que crees particiones de instancias en una instancia con una configuración de instancia multirregional para que la ubicación de la partición de instancia predeterminada también esté en una configuración multirregional.
Además, selecciona una ubicación de partición de instancia predeterminada multirregional que tenga regiones de lectura y escritura, y de solo lectura que cubran todas las jurisdicciones que requiera tu aplicación. A continuación, cree particiones de instancia adicionales (que pueden ser regionales) con regiones de líder que coincidan con las regiones de la partición de instancia predeterminada multirregional.
Número de particiones de instancias: si hay demasiadas particiones de instancias, puede haber una sobrecarga, mientras que, si hay muy pocas, puede que no se obtengan suficientes ventajas. Puedes crear un máximo de diez particiones de instancia por instancia.
Limitaciones
Durante el lanzamiento de la versión preliminar, se aplican las siguientes limitaciones, que pueden cambiar o eliminarse cuando se lance la versión GA o después:
- No puedes crear una partición de instancia con una configuración birregional.
- La capacidad de computación de cada partición de instancia debe ser de al menos un nodo (1000 unidades de procesamiento).
- En 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, en
test-instance
, no puedes crear dos particiones,partition-1
ypartition-2
, que usenus-central1
como configuración de partición de instancia. - Por cada nodo de la partición de tu instancia, puedes colocar un máximo de 100 millones de filas de colocación. Puedes ver el número de filas de emplazamiento que se han colocado en cada una de las particiones de instancias en la página Particiones de instancias de la Google Cloud consola.
- Por cada nodo de la partición de la instancia de destino, Spanner puede mover unas 10 filas de colocación por segundo.
- No puedes crear copias de seguridad incrementales ni copiar la copia de seguridad.
- No puedes crear particiones de instancias en una instancia con el autoescalador gestionado habilitado.
- No puedes mover la partición de la instancia a otra configuración de instancia.
- No puedes mover una instancia que tenga particiones de instancia. Puedes mover filas concretas a otras particiones de la instancia para no tener que mover la instancia.
- El uso de particiones de instancias no garantiza el cumplimiento de los requisitos normativos.
- Las secuencias de cambios no admiten datos particionados.
- Si utiliza una declaración de lenguaje de manipulación de datos (DML)
INSERT
oDELETE
para una tabla de emplazamiento, esa declaración debe ser la única de la transacción. - El modo de transacción de lectura y escritura te permite hacer referencia únicamente a las claves principales de una tabla de colocación en la cláusula
WHERE
. Si necesitas hacer referencia a una columna de clave no principal de una tabla de emplazamiento 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 necesita hacer cambios, utilice el modo de transacción DML con particiones o busque las claves principales en una consulta de transacción de solo lectura y, a continuación, en una transacción de lectura y escritura independiente, haga referencia a las claves principales devueltas en la cláusula
WHERE
.
- No puedes usar esquemas con nombre.
- No puedes crear particiones de instancias en instancias de prueba gratuitas ni en instancias de tamaño granular inferiores a un nodo (1000 unidades de procesamiento).
- No puede modificar un emplazamiento. En su lugar, puede crear un nuevo emplazamiento, usar DML particionado para actualizar el emplazamiento de sus datos a un nuevo emplazamiento y, a continuación, eliminar el emplazamiento original.
Control de acceso con la gestión de identidades y accesos
Para crear y gestionar particiones de instancias, debes tener los permisos spanner.instancePartitions.create
, spanner.instancePartitions.update
y spanner.instancePartitions.delete
. Si solo necesitas ver las particiones de la instancia, debes tener el permiso spanner.instancePartitions.list
o spanner.instancePartitions.get
. Para obtener más información, consulta la información general sobre IAM.
Para obtener información sobre cómo conceder permisos de gestión de identidades y accesos de Spanner, consulta Aplicar permisos de gestión de identidades y accesos.
Supervisión
Spanner proporciona varias métricas para ayudarte a monitorizar las particiones de tu instancia. Una vez que hayas creado una partición de instancia adicional, verás un filtro desplegable adicional para Particiones de instancia en la página Estadísticas del sistema de la consola de Google Cloud . De forma predeterminada, se muestran las métricas de Todas las particiones de instancias. Puede usar el menú desplegable para filtrar las métricas de una partición de instancia específica.
Para obtener más información sobre cómo monitorizar tus recursos de Spanner, consulta el artículo Monitorizar instancias con Cloud Monitoring.
Copias de seguridad
Puedes crear copias de seguridad completas de bases de datos que usen particiones geográficas. No puedes eliminar la partición de la instancia si la usas en una copia de seguridad. Para obtener más información, consulta Crear copias de seguridad.
Notas sobre el uso:
- Spanner almacena copias de seguridad de datos con particiones geográficas en la misma ubicación que los datos originales en el momento de la versión de la copia de seguridad.
Para restaurar copias de seguridad que contengan datos geosegmentados, la instancia de destino debe cumplir las siguientes condiciones:
- La instancia de destino debe usar los mismos nombres de partición de instancia 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.
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 computación que usa tu instancia y la cantidad de almacenamiento que usa tu base de datos.
Para obtener más información, consulta la página de precios de Spanner.
Siguientes pasos
- Consulta cómo crear y gestionar particiones de instancias.
- Consulta cómo crear y gestionar emplazamientos de datos.