Cómo crear y administrar grupos de localidades

En esta página, se describe cómo crear y administrar grupos de localidad de Spanner. Puedes usar grupos de localidad para definir la política de almacenamiento por niveles para los datos en el esquema de tu base de datos. Para obtener información sobre cómo funciona el almacenamiento por niveles, consulta Almacenamiento por niveles.

Cómo crear un grupo de localidades

Puedes crear un grupo de localidad sin ninguna política de almacenamiento por niveles o puedes crear un grupo de localidad para definir la política de almacenamiento de los datos en el esquema de tu base de datos.

Si creas un grupo de localidad sin una política de almacenamiento por niveles, el grupo de localidad hereda la política de almacenamiento por niveles del grupo de localidad default. Si no configuraste de forma manual la política de almacenamiento del grupo de localidad default, la política de almacenamiento se establece solo en SSD.

Console

  1. Ve a la página Instancias de Spanner en la Google Cloud consola.

    Instancias

  2. Selecciona la instancia en la que deseas usar el almacenamiento por niveles.

  3. Selecciona la base de datos en la que quieres usar el almacenamiento por niveles.

  4. En el menú de navegación, haz clic en Spanner Studio.

  5. En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña vacía del editor.

  6. Ingresa la sentencia de DDL CREATE LOCALITY GROUP con GoogleSQL o PostgreSQL.

    Por ejemplo, puedes ejecutar el siguiente comando para crear un grupo de localidad, separate_storage, que almacene columnas en un archivo separado de los datos del resto de las columnas:

    GoogleSQL

    CREATE LOCALITY GROUP separate_storage;
    

    PostgreSQL

    CREATE LOCALITY GROUP separate_storage;
    

    Por ejemplo, puedes ejecutar el siguiente comando para crear un grupo de localidad, ssd_only, que almacene datos en el almacenamiento SSD:

    GoogleSQL

    CREATE LOCALITY GROUP ssd_only OPTIONS (storage='ssd');
    

    PostgreSQL

    CREATE LOCALITY GROUP ssd_only STORAGE 'ssd';
    

    Por ejemplo, puedes ejecutar el siguiente comando para crear un grupo de localidad, hdd_only, que almacene datos en un almacenamiento en HDD:

    GoogleSQL

    CREATE LOCALITY GROUP hdd_only OPTIONS (storage='hdd');
    

    PostgreSQL

    CREATE LOCALITY GROUP hdd_only STORAGE 'hdd';
    
  7. Haz clic en Ejecutar.

gcloud

Para crear un grupo de localidad con el comando de Google Cloud CLI, usa gcloud spanner databases ddl update.

Por ejemplo, puedes ejecutar el siguiente comando para crear un grupo de localidad, separate_storage, que almacene columnas en un archivo separado de los datos del resto de las columnas:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP separate_storage"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP separate_storage"

Por ejemplo, puedes ejecutar el siguiente comando para crear un grupo de localidad, ssd_only, que almacene datos en SSD:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP ssd_only OPTIONS (storage='ssd')"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP ssd_only STORAGE 'ssd'"

Por ejemplo, puedes ejecutar el siguiente comando para crear un grupo de localidad, hdd_only, que almacene datos en un almacenamiento en HDD:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP hdd_only OPTIONS (storage='hdd')"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP hdd_only STORAGE 'hdd'"

Crea una política basada en la antigüedad para un grupo de localidad

Un grupo de localidad con una política basada en la antigüedad almacena los datos más recientes en el almacenamiento SSD durante un tiempo especificado. Este tiempo es relativo a la marca de tiempo de confirmación de los datos. Una vez que transcurre el tiempo especificado, Spanner migra los datos al almacenamiento en HDD durante su ciclo de compactación normal, que suele ocurrir en el transcurso de siete días a partir del tiempo especificado. Cuando usas una política de almacenamiento por niveles basada en la antigüedad, la cantidad mínima de tiempo que se deben almacenar los datos en SSD antes de que se muevan al almacenamiento HDD es de una hora.

Para crear un grupo de localidad basado en la edad, usa la declaración de DDL CREATE LOCALITY GROUP.

Console

  1. En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña vacía del editor.
  2. Ingresa la sentencia DDL CREATE LOCALITY GROUP con GoogleSQL o PostgreSQL.

    Por ejemplo, la siguiente sentencia de DDL crea un grupo de localidad, spill_to_hdd, que almacena datos en el almacenamiento SSD durante los primeros 10 días y, luego, migra los datos más antiguos al almacenamiento HDD durante el ciclo de compactación normal:

    GoogleSQL

    CREATE LOCALITY GROUP spill_to_hdd
    OPTIONS (storage = 'ssd', ssd_to_hdd_spill_timespan = '10d');
    

    PostgreSQL

    CREATE LOCALITY GROUP spill_to_hdd
    STORAGE 'ssd' SSD_TO_HDD_SPILL_TIMESPAN '10d';
    
  3. Haz clic en Ejecutar.

gcloud

Para crear un grupo de localidad basado en la edad con el comando de gcloud CLI, usa gcloud spanner databases ddl update.

Por ejemplo, la siguiente sentencia de DDL crea un grupo de localidad spill_to_hdd que almacena datos en SSD durante los primeros 10 días y, luego, migra los datos más antiguos a HDD durante el ciclo de compactación normal.

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP spill_to_hdd OPTIONS (storage='ssd', ssd_to_hdd_spill_timespan='10d')"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP spill_to_hdd STORAGE 'ssd' SSD_TO_HDD_SPILL_TIMESPAN '10d'"

Establece una política de almacenamiento por niveles para tus datos

Después de crear tu grupo de localidad, puedes establecer la política de almacenamiento por niveles para tus datos. La política de almacenamiento por niveles determina el grupo de localidad que usan los datos. Puedes establecer la política de almacenamiento por niveles en la base de datos, la tabla, la columna o el índice secundario. Cada objeto de base de datos hereda su política de almacenamiento por niveles de su elemento superior, a menos que se anule de forma explícita.

Si creas un grupo de localidad sin una política de almacenamiento por niveles, el grupo de localidad hereda la política de almacenamiento por niveles del grupo de localidad default. Si no configuraste de forma manual la política de almacenamiento del grupo de localidad default, la política de almacenamiento se establece solo en SSD.

Establece un grupo de localidad a nivel de la base de datos

La política predeterminada de almacenamiento por niveles es que todos los datos se almacenen en SSD. Puedes cambiar la política de almacenamiento por niveles de la base de datos modificando el grupo de localidad default. Para las bases de datos de dialecto de GoogleSQL, tu declaración DDL ALTER LOCALITY GROUP debe tener default entre acentos graves (`default`). Solo debes incluir los acentos graves para el grupo de localidad default.

Console

  1. En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña vacía del editor.
  2. Ingresa la sentencia DDL ALTER LOCALITY GROUP con GoogleSQL o PostgreSQL.

    Por ejemplo, las siguientes declaraciones de DDL alteran el grupo de localidad default para usar una política de almacenamiento por niveles basada en la antigüedad. Todos los datos de la base de datos se mueven al almacenamiento en HDD después de 10 días.

    GoogleSQL

    ALTER LOCALITY GROUP `default` SET OPTIONS (storage = 'ssd', ssd_to_hdd_spill_timespan = '10d');
    

    PostgreSQL

    ALTER LOCALITY GROUP "default" STORAGE 'ssd' SSD_TO_HDD_SPILL_TIMESPAN '10d';
    
  3. Haz clic en Ejecutar.

gcloud

Para modificar la política de almacenamiento por niveles del grupo de localidad default con el comando de gcloud CLI, usa gcloud spanner databases ddl update.

Por ejemplo, las siguientes declaraciones de DDL alteran el grupo de localidad default para usar una política de almacenamiento por niveles basada en la antigüedad. Todos los datos de la base de datos se mueven al almacenamiento en HDD después de 10 días.

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER LOCALITY GROUP \`default\` SET OPTIONS (storage = 'ssd', ssd_to_hdd_spill_timespan = '10d');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER LOCALITY GROUP \"default\" STORAGE 'ssd' SSD_TO_HDD_SPILL_TIMESPAN '10d';"

Establece un grupo de localidad a nivel de la tabla

Puedes establecer una política de almacenamiento por niveles para tus datos que anule la política de almacenamiento por niveles de la base de datos. La política de almacenamiento por niveles a nivel de tabla también se aplica a todas las columnas de la tabla, a menos que hayas establecido una política de almacenamiento por niveles de anulación a nivel de columna.

Console

  1. En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña vacía del editor.
  2. Ingresa la sentencia DDL CREATE TABLE con GoogleSQL o PostgreSQL.

    Por ejemplo, las siguientes declaraciones de DDL crean una tabla, Singers, que usa el grupo de localidad ssd_only:

    GoogleSQL

    CREATE TABLE Singers (
      SingerId   INT64 NOT NULL,
      FirstName  STRING(1024),
      LastName   STRING(1024),
      SingerInfo BYTES(MAX)
    ) PRIMARY KEY (SingerId), OPTIONS (locality_group = 'ssd_only');
    

    PostgreSQL

    CREATE TABLE Singers (
      SingerId   bigint PRIMARY KEY,
      FirstName  varchar(1024),
      LastName   varchar(1024),
      SingerInfo bytea
    ) LOCALITY GROUP ssd_only;
    
  3. Haz clic en Ejecutar.

gcloud

Para establecer una política de almacenamiento por niveles a nivel de la tabla con el comando de gcloud CLI, usa gcloud spanner databases ddl update.

Por ejemplo, las siguientes declaraciones de DDL crean una tabla, Singers, que usa el grupo de localidad ssd_only.

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE TABLE Singers ( SingerId   INT64 NOT NULL, \
        FirstName  STRING(1024), \
        LastName   STRING(1024), \
        SingerInfo BYTES(MAX) \
        ) PRIMARY KEY (SingerId), OPTIONS (locality_group = 'ssd_only');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE TABLE Singers ( \
        SingerId bigint PRIMARY KEY, \
        FirstName  varchar(1024), \
        LastName   varchar(1024), \
        SingerInfo bytea \
        ) LOCALITY GROUP ssd_only;"

Establece una política de almacenamiento en niveles de anulación a nivel de columna

Puedes establecer una política de almacenamiento por niveles de anulación a nivel de columna para tus datos.

Console

  1. En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña vacía del editor.
  2. Ingresa la sentencia DDL CREATE TABLE con una política de almacenamiento por niveles de anulación a nivel de columna con GoogleSQL o PostgreSQL.

    Por ejemplo, las siguientes declaraciones de DDL crean una tabla Singers que usa el grupo de localidad ssd_only. Sin embargo, la columna Awards anula este grupo de localidad a nivel de tabla y usa el grupo de localidad spill_to_hdd como su política de almacenamiento por niveles:

    GoogleSQL

    CREATE TABLE Singers (
      SingerId   INT64 NOT NULL,
      FirstName  STRING(1024),
      LastName   STRING(1024),
      Awards     ARRAY<STRING(MAX)> OPTIONS (locality_group = 'spill_to_hdd')
    ) PRIMARY KEY (SingerId), OPTIONS (locality_group = 'ssd_only');
    

    PostgreSQL

    CREATE TABLE Singers (
      SingerId   bigint PRIMARY KEY,
      FirstName  varchar(1024),
      LastName   varchar(1024),
      Awards     varchar[] LOCALITY GROUP spill_to_hdd
    ) LOCALITY GROUP ssd_only;
    
  3. Haz clic en Ejecutar.

gcloud

Para establecer una política de almacenamiento por niveles de anulación a nivel de columna con el comando de gcloud CLI, usa gcloud spanner databases ddl update.

Por ejemplo, las siguientes declaraciones de DDL crean una tabla Singers que usa el grupo de localidad ssd_only. Sin embargo, la columna Awards anula esta política de almacenamiento por niveles de la tabla y usa el grupo de localidad spill_to_hdd como su política de almacenamiento por niveles:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE TABLE Singers ( \
      SingerId   INT64 NOT NULL, \
      FirstName  STRING(1024), \
      LastName   STRING(1024), \
      Awards     ARRAY<STRING(MAX)> OPTIONS (locality_group = 'spill_to_hdd') \
    ) PRIMARY KEY (SingerId), OPTIONS (locality_group = 'ssd_only');" \

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE TABLE Singers ( \
      SingerId   bigint PRIMARY KEY, \
      FirstName  varchar(1024), \
      LastName   varchar(1024), \
      Awards     varchar[] LOCALITY GROUP spill_to_hdd \
    ) LOCALITY GROUP ssd_only;"

Establece una política de almacenamiento en niveles de anulación a nivel de índice secundario

Puedes establecer una política de almacenamiento por niveles secundaria de anulación a nivel del índice para tus datos.

Console

  1. En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña vacía del editor.
  2. Ingresa la sentencia de DDL CREATE INDEX con una política de almacenamiento por niveles de anulación a nivel de índice secundario con GoogleSQL o PostgreSQL.

    Por ejemplo, las siguientes declaraciones de DDL crean una tabla Singers que usa el grupo de localidad ssd_only. La base de datos también tiene un índice secundario en todos los Singers de la base de datos por su nombre y apellido. El índice SingersByFirstLastName anula la política de almacenamiento por niveles de la tabla y usa el grupo de localidad spill_to_hdd como su política de almacenamiento por niveles:

    GoogleSQL

    CREATE INDEX SingersByFirstLastName ON Singers(FirstName, LastName)
    OPTIONS (locality_group = 'spill_to_hdd');
    

    PostgreSQL

    CREATE INDEX SingersByFirstLastName ON Singers(FirstName, LastName)
    LOCALITY GROUP spill_to_hdd;
    
  3. Haz clic en Ejecutar.

gcloud

Para establecer una política de almacenamiento por niveles de anulación secundaria a nivel de índice con el comando de gcloud CLI, usa gcloud spanner databases ddl update.

Por ejemplo, las siguientes declaraciones de DDL crean una tabla Singers que usa el grupo de localidad ssd_only. La base de datos también crea un índice secundario en todos los Singers de la base de datos por su nombre y apellido. El índice SingersByFirstLastName anula la política de almacenamiento por niveles de la tabla y usa el grupo de localidad spill_to_hdd como su política de almacenamiento por niveles:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE INDEX SingersByFirstLastName ON Singers(FirstName, LastName) \
    OPTIONS (locality_group = 'spill_to_hdd');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE INDEX SingersByFirstLastName ON Singers(FirstName, LastName) \
    LOCALITY GROUP spill_to_hdd;"

Establece un grupo de localidad a nivel de columna

Puedes establecer un grupo de localidad a nivel de columna para tus datos, incluso si el grupo de localidad no tiene una política de almacenamiento por niveles. Leer datos de esta columna es más rápido que leer datos agrupados con otras columnas.

Console

  1. En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña vacía del editor.
  2. Ingresa la sentencia de DDL CREATE TABLE que asigna la columna a un grupo de localidad con GoogleSQL o PostgreSQL.

    Por ejemplo, las siguientes declaraciones de DDL crean una tabla Songs con una columna LyricsCompressed que se almacena por separado en el grupo de localidad hdd_only:

    GoogleSQL

    CREATE TABLE Songs (
      SingerId INT64 NOT NULL,
      SongId INT64 NOT NULL,
      Title STRING(MAX),
      Description STRING(MAX),
      LyricsCompressed BYTES(MAX) OPTIONS (locality_group = 'hdd_only')
    ) PRIMARY KEY (SingerId, SongId),
      INTERLEAVE IN PARENT Singers ON DELETE CASCADE,
      OPTIONS (locality_group = 'ssd_only');
    

    PostgreSQL

    CREATE TABLE Songs (
      SingerId BIGINT NOT NULL,
      SongId BIGINT NOT NULL,
      Title VARCHAR,
      Description TEXT,
      LyricsCompressed BYTEA LOCALITY GROUP hdd_only,
      PRIMARY KEY (SingerId, SongId)
    ) LOCALITY GROUP ssd_only INTERLEAVE IN PARENT Singers ON DELETE CASCADE;
    
  3. Haz clic en Ejecutar.

gcloud

Para establecer un grupo de localidad a nivel de columna para tus datos con el comando de gcloud CLI, usa gcloud spanner databases ddl update.

Por ejemplo, las siguientes declaraciones de DDL crean una tabla Songs con una columna LyricsCompressed que se almacena por separado en el grupo de localidad hdd_only:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE TABLE Songs ( \
      SingerId INT64 NOT NULL, \
      SongId INT64 NOT NULL, \
      Title STRING(MAX), \
      Description STRING(MAX),
      LyricsCompressed BYTES(MAX) OPTIONS (locality_group = 'hdd_only') \
    ) PRIMARY KEY (SingerId, SongId), \
      INTERLEAVE IN PARENT Singers ON DELETE CASCADE, \
      OPTIONS (locality_group = 'ssd_only');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE TABLE Songs ( \
      SingerId BIGINT NOT NULL, \
      SongId BIGINT NOT NULL, \
      Title VARCHAR, \
      Description TEXT, \
      LyricsCompressed BYTEA LOCALITY GROUP hdd_only, \
      PRIMARY KEY (SingerId, SongId) \
    ) LOCALITY GROUP ssd_only INTERLEAVE IN PARENT Singers ON DELETE CASCADE;

Mueve datos entre opciones de almacenamiento

Puedes mover datos entre el almacenamiento SSD y HDD. La transferencia de datos puede tardar hasta siete días. Para migrar datos entre SSD y HDD con mayor rapidez, puedes activar de forma manual una compactación mayor. Puedes supervisar el progreso del traslado consultando la tabla integrada SPANNER_SYS.TABLE_SIZES_STATS_1HOUR para verificar el uso del almacenamiento en HDD y SSD de cada tabla de tu base de datos. También puedes supervisar el uso del almacenamiento con la métrica spanner.googleapis.com/instance/storage/used_bytes de Cloud Monitoring para mostrar el desglose de SSD y HDD de tu base de datos o instancia. Para obtener más información, consulta Observabilidad del almacenamiento por niveles.

Mueve datos del almacenamiento SSD al HDD

Para mover datos del almacenamiento de SSD a HDD, puedes crear un grupo de localidad nuevo con una política de almacenamiento por niveles basada en la antigüedad o cambiar la política de almacenamiento por niveles de un grupo de localidad existente. Spanner mueve los datos durante su ciclo de compactación normal, que suele ocurrir en el transcurso de siete días. Si estás cargando datos y actualizando tu grupo de localidad con una de las siguientes sentencias de DDL de ALTER, debes esperar hasta siete días para que se complete el cambio en el grupo de localidad:

GoogleSQL

  • ALTER TABLE ... SET OPTIONS (locality_group = '')
  • ALTER TABLE ... ALTER COLUMN ... SET OPTIONS (locality_group = '')
  • ALTER INDEX ... SET OPTIONS (locality_group = '')

PostgreSQL

  • ALTER TABLE ... SET LOCALITY GROUP ...
  • ALTER TABLE ... ALTER COLUMN ... SET LOCALITY GROUP ...
  • ALTER INDEX ... SET LOCALITY GROUP ...

El período de espera no se aplica si creas una tabla, una columna o un índice nuevos, y agregas el grupo de localidad como parte de la sintaxis CREATE o ADD COLUMN.

Para obtener más información, consulta Crea una política basada en la edad para un grupo de localidad o Cambia la opción de almacenamiento.

Mueve datos del almacenamiento en HDD al almacenamiento en SSD

Para mover datos del almacenamiento de HDD a SSD, puedes cambiar la opción de almacenamiento de un grupo de localidad existente o modificar el grupo de localidad que usa la tabla. Spanner mueve los datos durante su ciclo de compactación normal, que suele ocurrir en el transcurso de siete días. Si cargas datos y actualizas tu grupo de localidad con una de las siguientes declaraciones de DDL de ALTER, debes esperar hasta siete días para que se complete el cambio en el grupo de localidad:

GoogleSQL

  • ALTER TABLE ... SET OPTIONS (locality_group = '')
  • ALTER TABLE ... ALTER COLUMN ... SET OPTIONS (locality_group = '')
  • ALTER INDEX ... SET OPTIONS (locality_group = '')

PostgreSQL

  • ALTER TABLE ... SET LOCALITY GROUP ...
  • ALTER TABLE ... ALTER COLUMN ... SET LOCALITY GROUP ...
  • ALTER INDEX ... SET LOCALITY GROUP ...

El período de espera no se aplica si creas una tabla, una columna o un índice nuevos, y agregas el grupo de localidad como parte de la sintaxis CREATE o ADD COLUMN.

Modifica el grupo de localidad que usa una tabla

Para modificar el grupo de localidad que usa una tabla, establece un grupo de localidad nuevo o diferente en las opciones de la tabla.

Console

  1. En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña vacía del editor.
  2. Ingresa la sentencia de DDL ALTER TABLE que cambia el grupo de localidad que usa la tabla con GoogleSQL o PostgreSQL.

    Por ejemplo, las siguientes declaraciones DDL modifican el grupo de localidad que usa la tabla, Singers, a spill_to_hdd:

    GoogleSQL

    ALTER TABLE Singers SET OPTIONS (locality_group = 'spill_to_hdd');
    

    PostgreSQL

    ALTER TABLE Singers SET LOCALITY GROUP spill_to_hdd;
    
  3. Haz clic en Ejecutar.

gcloud

Para modificar el grupo de localidad que usa una tabla con el comando de gcloud CLI, usa gcloud spanner databases ddl update.

Por ejemplo, las siguientes declaraciones DDL modifican el grupo de localidad que usa la tabla, Singers, a spill_to_hdd:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER TABLE Singers SET OPTIONS(locality_group = 'spill_to_hdd');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER TABLE Singers SET LOCALITY GROUP spill_to_hdd;"

Modifica el grupo de localidad que usa la columna de una tabla

Puedes modificar el grupo de localidad que usa la columna de una tabla si configuras el grupo de localidad en las opciones de la columna.

Console

  1. En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña vacía del editor.
  2. Ingresa la sentencia de DDL ALTER TABLE que cambia el grupo de localidad que usa la tabla con GoogleSQL o PostgreSQL.

    Por ejemplo, las siguientes declaraciones de DDL modifican el grupo de localidad que usa la columna de la tabla, LastName, a spill_to_hdd:

    GoogleSQL

    ALTER TABLE Singers
    ALTER COLUMN LastName SET OPTIONS(locality_group = 'spill_to_hdd');
    

    PostgreSQL

    ALTER TABLE Singers
    ALTER COLUMN LastName SET LOCALITY GROUP spill_to_hdd;
    
  3. Haz clic en Ejecutar.

gcloud

Para modificar el grupo de localidad que usa una tabla con el comando de gcloud CLI, usa gcloud spanner databases ddl update.

Por ejemplo, las siguientes declaraciones de DDL modifican el grupo de localidad que usa la columna de la tabla, LastName, a spill_to_hdd:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER TABLE Singers ALTER COLUMN LastName SET OPTIONS(locality_group = 'spill_to_hdd');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER TABLE Singers ALTER COLUMN SET LOCALITY GROUP spill_to_hdd;"

Modifica un grupo de localidad

Puedes modificar un grupo de localidad cambiando su opción de almacenamiento o cambiando su política basada en la antigüedad. Spanner mueve los datos durante su ciclo de compactación normal, que suele ocurrir en el transcurso de siete días. Si cargas datos y actualizas tu grupo de localidad con ALTER LOCALITY GROUP, debes esperar hasta siete días para que se migren los datos existentes. La configuración actualizada se aplica a todos los datos nuevos que se escriban en ese grupo de localidad de inmediato.

Cambia la opción de almacenamiento

Puedes cambiar la opción de almacenamiento de un grupo de localidad de SSD a HDD o de HDD a SSD.

Console

  1. En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña vacía del editor.
  2. Ingresa la sentencia de DDL ALTER LOCALITY GROUP con GoogleSQL o PostgreSQL.

    Por ejemplo, las siguientes declaraciones de DDL cambian la opción de almacenamiento del grupo de localidad, separate_storage, a HDD:

    GoogleSQL

    ALTER LOCALITY GROUP separate_storage SET OPTIONS (storage='hdd');
    

    PostgreSQL

    ALTER LOCALITY GROUP separate_storage STORAGE 'hdd';
    
  3. Haz clic en Ejecutar.

gcloud

Para cambiar la opción de almacenamiento de un grupo de localidad con el comando de gcloud CLI, usa gcloud spanner databases ddl update.

Por ejemplo, las siguientes declaraciones de DDL cambian la opción de almacenamiento del grupo de localidad, separate_storage, a HDD:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER LOCALITY GROUP separate_storage SET OPTIONS (storage = 'hdd');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER LOCALITY GROUP separate_storage STORAGE 'hdd';"

Cambia la política basada en la antigüedad

Puedes cambiar la política basada en la antigüedad de un grupo de localidad extendiendo o acortando el tiempo que los datos se almacenan en SSD antes de que se muevan al almacenamiento en HDD.

Console

  1. En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña vacía del editor.
  2. Ingresa la sentencia de DDL ALTER LOCALITY GROUP con GoogleSQL o PostgreSQL.

    Por ejemplo, las siguientes declaraciones de DDL cambian la política basada en la antigüedad del grupo de localidad, spill_to_hdd, extendiendo la cantidad de tiempo que los datos se almacenan en SSD a 20 días:

    GoogleSQL

    ALTER LOCALITY GROUP spill_to_hdd SET OPTIONS (ssd_to_hdd_spill_timespan = '20d');
    

    PostgreSQL

    ALTER LOCALITY GROUP spill_to_hdd SSD_TO_HDD_SPILL_TIMESPAN '20d';
    
  3. Haz clic en Ejecutar.

gcloud

Para cambiar la política basada en la antigüedad de un grupo de localidad con el comando de gcloud CLI, usa gcloud spanner databases ddl update.

Por ejemplo, las siguientes declaraciones de DDL cambian la política basada en la antigüedad del grupo de localidad, spill_to_hdd, extendiendo la cantidad de tiempo que los datos se almacenan en SSD a 20 días:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER LOCALITY GROUP spill_to_hdd SET OPTIONS (ssd_to_hdd_spill_timespan = '20d');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER LOCALITY GROUP spill_to_hdd SSD_TO_HDD_SPILL_TIMESPAN '20d';"

Borra un grupo de localidades

No puedes borrar un grupo de localidad si contiene datos. Primero, debes mover todos los datos que se encuentran en el grupo de localidad a otro grupo de localidad. Para obtener más información, consulta Modifica el grupo de localidad que usa la tabla.

Console

  1. En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña vacía del editor.
  2. Ingresa la sentencia DDL DROP LOCALITY GROUP con GoogleSQL o PostgreSQL.

    Por ejemplo, puedes ejecutar el siguiente comando para descartar un grupo de localidad ssd_only:

    GoogleSQL

    DROP LOCALITY GROUP ssd_only;
    

    PostgreSQL

    DROP LOCALITY GROUP ssd_only;
    
  3. Haz clic en Ejecutar.

gcloud

Para descartar un grupo de localidad con el comando de gcloud CLI, usa gcloud spanner databases ddl update.

Por ejemplo, para descartar el grupo de localidad ssd_only, ejecuta lo siguiente:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="DROP LOCALITY GROUP ssd_only"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="DROP LOCALITY GROUP ssd_only"

¿Qué sigue?