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, que te permiten replicar tus datos en todas las ubicaciones geográficas. La partición geográfica te permite segmentar y almacenar más filas en la tabla de tu 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 latencia de escritura y de lectura fuerte, ya que te permite almacenar tus datos en la misma ubicación geográfica que tu consulta.

  • Optimiza los costos de las cargas de trabajo globales asimétricas (por ejemplo, mediante 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 procesar y almacenar datos en la región más cercana al usuario.

  • Datos localizados: Incluye 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 denominada partición default. Si no creas particiones 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 en una base de datos, debes crear particiones adicionales en la instancia. Estas particiones creadas por el usuario tienen su propia configuración (ya sea regional o multirregional) y un 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, crea 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 tus declaraciones DML para especificar en qué partición residen los datos de la fila. Si creas tablas de no posiciones en tu base de datos, Spanner almacena esos datos en la partición predeterminada.

Si deseas obtener instrucciones para usar particiones, consulta Crea y administra 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 partición que proporcionan la mayor cantidad de beneficios a 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 lectura y escritura y de solo lectura que abarquen todas las jurisdicciones que requiera tu aplicación. Luego, crea particiones adicionales (que pueden ser regionales) con regiones líderes que coincidan con las regiones en la partición predeterminada multirregional.

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

Limitaciones

La partición geográfica tiene las siguientes limitaciones:

  • La partición geográfica no admite bases de datos de dialectos de 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 ambas usen us-central1 como la configuración de la partición.
  • Puedes colocar un máximo de 20 millones de filas para cada nodo de tu partición. Puedes ver la cantidad de filas que se colocaron en cada una de las particiones en la página Particiones de la consola de Google Cloud.
  • Por cada nodo en la partición de instancia de destino, Spanner puede mover alrededor de 10 filas de posición por segundo.
  • No puedes crear particiones en instancias de prueba gratuita ni en instancias de tamaño detallado que sean más pequeñas que un nodo (1,000 unidades de procesamiento).
  • No puedes crear copias de seguridad de instancias con particiones.
  • No puedes usar claves de encriptación administradas por el cliente para instancias con particiones.
  • No puedes crear particiones de instancia en una instancia con el escalador 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.
  • El uso de particiones no garantiza la seguridad, el cumplimiento ni los requisitos regulatorios.
  • Los flujos de cambios no admiten datos particionados.
  • Para usar la partición geográfica, debes crear una base de datos nueva y vacía, y configurar la opción opt_in_dataplacement_preview en true. Para obtener más información, consulta Cómo crear y administrar posiciones de datos.
  • Si usas una declaración DML INSERT o DELETE para una tabla de posiciones, esa declaración 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 tus particiones. Después de crear una partición adicional, verás un filtro desplegable adicional para Particiones en la página Estadísticas del sistema en la consola de Google Cloud. La selección predeterminada es mostrar las métricas para Todas las particiones. Puedes usar el menú desplegable para filtrar las métricas de una partición específica.

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 la partición geográfica. Se te cobrará el precio estándar de Spanner por la capacidad de procesamiento que usa la instancia y el almacenamiento que emplea la base de datos.

Para obtener más información, consulta Precios de Spanner.

¿Qué sigue?