Descripción general de la partición geográfica

En esta página, se presenta y explica cómo funciona la partición geográfica en Spanner.

Spanner ofrece configuraciones de instancias regionales y multirregionales, lo que te permite replicar tus datos en 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 prácticos

Los beneficios de la partición geográfica incluyen los siguientes:

  • Reduce la escritura y la latencia de lectura sólida, ya que te permite almacenar los datos en la misma ubicación geográfica que tu consulta.

  • Optimiza los costos de las cargas de trabajo globales asimétricas (por ejemplo, con una partición us-central1 con 10 nodos y una partición asia-south1 con 2 nodos).

Los siguientes son casos de uso comunes:

  • Datos relacionados con el usuario: Partición geográfica de datos relacionados con el usuario para su procesamiento y almacenan en la región más cercana al 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 llamada partición default. Si no creas particiones adicionales, todos los objetos de la base de datos se almacenarán 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 en una base de datos, debes crear otros particiones en tu instancia. Estas particiones 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: tu base de datos puede interactuar con las particiones que se crearon en la misma instancia. Luego, Crear posiciones en tu base de datos que estén asociadas con la partición. Por último, puedes crear tablas de posiciones que tengan un atributo de clave de posición. Debes usar la clave de posición en tu DML para especificar en qué partición residen los datos de la fila. Si creas tablas que no son de ubicación en tu base de datos, Spanner almacena esos datos en la partición predeterminada.

Si deseas obtener instrucciones para usar particiones, consulta crear y administrar particiones.

Consideraciones importantes

Ten en cuenta lo siguiente antes de crear tus particiones, posiciones y tablas de posiciones:

  • Ubicación de la partición: Selecciona con cuidado las regiones de la partición que proporcionan la más beneficios para tu aplicación.

    Aunque puedes crear particiones en una instancia con una configuración de instancia regional, te recomendamos que crees particiones en una instancia con una configuración de instancia multirregional para que la ubicación de partición predeterminada también esté en una configuración multirregional.

    Además, debes seleccionar una ubicación de partición predeterminada multirregional que tenga regiones de solo lectura y de lectura y escritura que abarcan todas las jurisdicciones requeridas por tu aplicación. Luego, crea particiones adicionales (que se pueden regional) con regiones líderes que coincidan con las regiones de la multirregión partición predeterminada.

  • Cantidad de particiones: Demasiadas particiones pueden generar sobrecarga, mientras que muy pocas podrían no ofrecer suficientes beneficios. Puedes crear un máximo de diez particiones por instancia.

Limitaciones

Se aplican las siguientes limitaciones durante la versión Versión preliminar y están sujetas a cambios o eliminaciones en la versión GA o después:

  • El particionamiento geográfico no es compatible con las bases de datos de dialecto PostgreSQL.
  • No puedes crear una partición de instancia con una configuración de región doble.
  • Para cada partición, 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-1 y partition-2, que usen us-central1 como configuración de partición.
  • Para cada nodo de tu partición, puedes colocar un máximo de 20 millones de filas de ubicación. Puedes ver la cantidad de filas de posición que se colocaron en cada una de tus particiones en la página Particiones de la consola de Google Cloud.
  • Para cada nodo en la partición de instancia de destino, Spanner puede mover alrededor de 10 filas de ubicación por segundo.
  • No puedes crear particiones en instancias de prueba gratuita ni instancias de tamaño detallado más pequeñas que un nodo (1,000 unidades de procesamiento).
  • No puedes crear copias de seguridad para instancias con particiones.
  • No puedes usar claves de encriptación administradas por el cliente para instancias con particiones.
  • No puedes crear particiones de instancias en una instancia con el ajustador automático administrado habilitado.
  • No puedes mover la partición a una configuración de instancia diferente.
  • No puedes mover una instancia que tenga particiones. (Puedes mover filas individuales en particiones diferentes para que no tengas que mover la instancia)
  • El uso de particiones no garantiza el cumplimiento de los requisitos regulatorios.
  • Los flujos de cambios no admiten datos particionados.
  • Para usar el particionamiento geográfico, debes crear una base de datos nueva y vacía, y establecer la opción opt_in_dataplacement_preview en true. Para obtener más información, consulta Crea y administra particiones.
  • Si usas una declaración DML INSERT o DELETE para una tabla de posiciones, esa debe ser la única en la transacción.

Control de acceso con IAM

Debes tener los permisos spanner.instancePartitions.create, spanner.instancePartitions.update y spanner.instancePartitions.delete para crear y administrar particiones. Si solo necesitas ver las particiones, debes tener el permiso spanner.instancePartitions.list o spanner.instancePartitions.get. Para obtener más información, consulta 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 tu y particiones. Después de crear una partición adicional, verás un filtro desplegable adicional para Particiones en las estadísticas del sistema en la consola de Google Cloud. La selección predeterminada es mostrar métricas para Todas las particiones. Puedes usar el menú desplegable para filtrar las métricas según un por cada partición.

Para obtener más información sobre la supervisión de recursos de Spanner, consulta Supervisa instancias con Cloud Monitoring.

Precios

No se aplican cargos adicionales por usar el particionamiento geográfico. 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?