Crear y gestionar grupos de localidades

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

Crear un grupo de localidades

Puedes crear un grupo de localidad sin ninguna política de almacenamiento por niveles o crear un grupo de localidad para definir la política de almacenamiento de los datos de tu esquema de 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 has definido manualmente la política de almacenamiento del grupo de localidades default, se le asignará la política de almacenamiento solo en SSD.

Consola

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

    Instancias

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

  3. Selecciona la base de datos en la que quieras 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 del editor vacía.

  6. Introduce la CREATE LOCALITY GROUP instrucción DDL con GoogleSQL o PostgreSQL.

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

    GoogleSQL

    CREATE LOCALITY GROUP separate_storage;
    

    PostgreSQL

    CREATE LOCALITY GROUP separate_storage;
    

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

    GoogleSQL

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

    PostgreSQL

    CREATE LOCALITY GROUP ssd_only STORAGE 'ssd';
    

    Por ejemplo, puede ejecutar el siguiente comando para crear un grupo de localidades, hdd_only, que almacene datos en el 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 gcloud CLI, usa gcloud spanner databases ddl update.

Por ejemplo, puede ejecutar el siguiente comando para crear un grupo de localidades, separate_storage, que almacene las columnas en un archivo independiente 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 lo siguiente 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, puede ejecutar el siguiente comando para crear un grupo de localidades, hdd_only, que almacene datos en el 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'"

Crear una política basada en la edad para un grupo de localidades

Un grupo de localidad con una política basada en la antigüedad almacena los datos más recientes en almacenamiento SSD durante un periodo específico. Una vez transcurrido el tiempo especificado, Spanner migra los datos al almacenamiento en HDD durante su ciclo de compactación normal, que suele durar siete días a partir del momento especificado. Si usas una política de almacenamiento por niveles basada en la antigüedad, los datos deben almacenarse en SSD durante al menos una hora antes de trasladarse al almacenamiento en HDD.

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

Consola

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

    Por ejemplo, la siguiente instrucción DDL crea un grupo de localidad, spill_to_hdd, que almacena datos en almacenamiento SSD durante los primeros 10 días y, a continuación, 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 antigüedad con el comando de gcloud CLI, usa gcloud spanner databases ddl update.

Por ejemplo, la siguiente instrucción DDL crea un grupo de localidad spill_to_hdd que almacena datos en SSD durante los primeros 10 días y, a continuación, 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'"

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

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

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 has definido manualmente la política de almacenamiento del grupo de localidades default, se le asignará la política de almacenamiento solo en SSD.

Definir un grupo de localidad a nivel de base de datos

La política de almacenamiento por niveles predeterminada es que todos los datos se almacenan en almacenamiento SSD. Puedes cambiar la política de almacenamiento por niveles a nivel de base de datos modificando el defaultgrupo de localidad. En las bases de datos con dialecto GoogleSQL, tu ALTER LOCALITY GROUP instrucción DDL debe tener default entre comillas inversas (`default`). Solo tienes que incluir las comillas inversas en el grupo de default localidad.

Consola

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

    Por ejemplo, las siguientes instrucciones DDL modifican el grupo de defaultlocalidad para usar una política de almacenamiento por niveles basada en la antigüedad. Todos los datos de la base de datos se transfieren 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 instrucciones DDL modifican el grupo de defaultlocalidad para usar una política de almacenamiento por niveles basada en la antigüedad. Todos los datos de la base de datos se transfieren al almacenamiento en HDD al cabo 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';"

Definir un grupo de localidad a nivel de tabla

Puedes definir una política de almacenamiento por niveles a nivel de tabla para tus datos que anule la política de almacenamiento por niveles a nivel de 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 definido una política de almacenamiento por niveles a nivel de columna.

Consola

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

    Por ejemplo, las siguientes instrucciones 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 definir una política de almacenamiento por niveles a nivel de tabla con el comando de la CLI de gcloud, 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;"

Definir una política de almacenamiento por niveles con anulaciones a nivel de columna

Puede definir una política de almacenamiento por niveles con anulaciones a nivel de columna para sus datos.

Consola

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

    Por ejemplo, las siguientes instrucciones 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 spill_to_hdd grupo de localidad como 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 definir una política de almacenamiento por niveles con el comando de gcloud CLI, usa gcloud spanner databases ddl update.

Por ejemplo, las siguientes instrucciones 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 a nivel de tabla y usa el spill_to_hdd grupo de localidad como 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;"

Definir una política de almacenamiento por niveles de anulación a nivel de índice secundario

Puede definir una política de almacenamiento por niveles secundaria a nivel de índice para sus datos.

Consola

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

    Por ejemplo, las siguientes instrucciones DDL crean una tabla Singers que usa el grupo de localidad ssd_only. La base de datos también tiene un índice secundario de todos los Singers de la base de datos por nombre y apellidos. El índice SingersByFirstLastName anula la política de almacenamiento por niveles de la tabla y usa el grupo de localidad spill_to_hdd como 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 definir una política de almacenamiento por niveles secundaria a nivel de índice con el comando de gcloud CLI, usa gcloud spanner databases ddl update.

Por ejemplo, las siguientes instrucciones 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 apellidos. El índice SingersByFirstLastName anula la política de almacenamiento por niveles de la tabla y usa el grupo de localidad spill_to_hdd como 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;"

Definir un grupo de localidad a nivel de columna

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

Consola

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

    Por ejemplo, las siguientes instrucciones 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 definir 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 instrucciones 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;

Mover datos entre opciones de almacenamiento

Puedes mover datos entre el almacenamiento SSD y el HDD. La transferencia de datos puede tardar hasta siete días. Para monitorizar el progreso de la migración, consulta la tabla SPANNER_SYS.TABLE_SIZES_STATS_1HOUR integrada para comprobar el uso del almacenamiento en HDD y SSD de cada tabla de tu base de datos. También puedes monitorizar el uso del almacenamiento mediante la métrica spanner.googleapis.com/instance/storage/used_bytes de Cloud Monitoring para ver 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.

Mover datos de un almacenamiento SSD a un almacenamiento HDD

Para mover datos del almacenamiento SSD al HDD, puedes crear un grupo de localidad 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 que ya tengas. Spanner mueve los datos durante su ciclo de compactación normal, que suele durar siete días. Si carga datos y actualiza su grupo de localidades mediante una de las siguientes instrucciones DDL de ALTER, debe esperar hasta siete días para que se complete el cambio en el grupo de localidades:

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 periodo de espera no se aplica si creas una tabla, una columna o un índice, y añades el grupo de localidad como parte de la sintaxis CREATE o ADD COLUMN.

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

Mover datos de un disco duro a un almacenamiento SSD

Para mover datos de un disco duro a un almacenamiento SSD, puedes cambiar la opción de almacenamiento de un grupo de localidad o modificar el grupo de localidad que usa la tabla. Spanner mueve los datos durante su ciclo de compactación normal, que suele producirse en un plazo de siete días. Si está cargando datos y actualizando su grupo de localidades mediante una de las siguientes instrucciones DDL de ALTER, debe esperar hasta siete días para que se complete el cambio en el grupo de localidades:

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 periodo de espera no se aplica si creas una tabla, una columna o un índice, y añades el grupo de localidad como parte de la sintaxis CREATE o ADD COLUMN.

Modificar el grupo de localidad que usa una tabla

Puede modificar el grupo de localidades que usa una tabla configurando un grupo de localidades nuevo o diferente en las opciones de la tabla.

Consola

  1. En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña del editor vacía.
  2. Introduce la ALTER TABLEdeclaración de DDL que cambia el grupo de localidad usado por la tabla mediante GoogleSQL o PostgreSQL.

    Por ejemplo, las siguientes instrucciones de 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 instrucciones de 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;"

Modificar el grupo de localidad usado por una columna de una tabla

Para cambiar el grupo de localidad que usa una columna de una tabla, puedes definir el grupo de localidad en las opciones de la columna.

Consola

  1. En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña del editor vacía.
  2. Introduce la ALTER TABLEdeclaración de DDL que cambia el grupo de localidad usado por la tabla mediante GoogleSQL o PostgreSQL.

    Por ejemplo, las siguientes instrucciones DDL modifican el grupo de localidad utilizado por la columna LastName de la tabla 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 instrucciones DDL modifican el grupo de localidad utilizado por la columna LastName de la tabla 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;"

Modificar un grupo de localidades

Puedes modificar un grupo de localidades cambiando su opción de almacenamiento o cambiando su política basada en la edad. Spanner mueve los datos durante su ciclo de compactación normal, que suele producirse en un plazo de siete días. Si está cargando datos y actualizando su grupo de localidades mediante ALTER LOCALITY GROUP, debe esperar hasta siete días para que se migren los datos. La configuración actualizada se aplica inmediatamente a todos los datos nuevos que se escriban en ese grupo de localidades.

Cambiar la opción de almacenamiento

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

Consola

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

    Por ejemplo, las siguientes instrucciones 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 la CLI de gcloud, usa gcloud spanner databases ddl update.

Por ejemplo, las siguientes instrucciones 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';"

Cambiar la política basada en la edad

Puedes cambiar la política basada en la antigüedad de un grupo de localidades ampliando o reduciendo el tiempo que los datos se almacenan en la SSD antes de transferirse al almacenamiento en HDD.

Consola

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

    Por ejemplo, las siguientes instrucciones DDL cambian la política basada en la antigüedad del grupo de localidad spill_to_hdd ampliando el tiempo que se almacenan los datos 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 edad de un grupo de localidades con el comando de gcloud CLI, usa gcloud spanner databases ddl update.

Por ejemplo, las siguientes instrucciones DDL cambian la política basada en la antigüedad del grupo de localidad spill_to_hdd ampliando el tiempo que se almacenan los datos 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';"

Eliminar un grupo de localidades

No puedes eliminar un grupo de localidades si contiene datos. Primero debes mover todos los datos del grupo de localidades a otro grupo de localidades. Para obtener más información, consulta Modificar el grupo de localidad que usa la tabla.

Consola

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

    Por ejemplo, puedes ejecutar lo siguiente para eliminar un grupo de localidades ssd_only:

    GoogleSQL

    DROP LOCALITY GROUP ssd_only;
    

    PostgreSQL

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

gcloud

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

Por ejemplo, para eliminar el grupo de localidad ssd_only, ejecuta el siguiente comando:

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"

Siguientes pasos