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
Ve a la página Instancias de Spanner en la consola deGoogle Cloud .
Selecciona la instancia en la que quieras usar el almacenamiento por niveles.
Selecciona la base de datos en la que quieras usar el almacenamiento por niveles.
En el menú de navegación, haz clic en Spanner Studio.
En la página Spanner Studio, haz clic en
Nueva pestaña o usa la pestaña del editor vacía.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';
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
- En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña del editor vacía.
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';
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 default
grupo 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
- En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña del editor vacía.
Introduce la
ALTER LOCALITY GROUP
instrucción DDL con GoogleSQL o PostgreSQL.Por ejemplo, las siguientes instrucciones DDL modifican el grupo de
default
localidad 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';
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 default
localidad
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
- En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña del editor vacía.
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 localidadssd_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;
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
- En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña del editor vacía.
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 localidadssd_only
. Sin embargo, la columnaAwards
anula este grupo de localidad a nivel de tabla y usa elspill_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;
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
- En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña del editor vacía.
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 localidadssd_only
. La base de datos también tiene un índice secundario de todos losSingers
de la base de datos por nombre y apellidos. El índiceSingersByFirstLastName
anula la política de almacenamiento por niveles de la tabla y usa el grupo de localidadspill_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;
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
- En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña del editor vacía.
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 columnaLyricsCompressed
que se almacena por separado en el grupo de localidadhdd_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;
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
- En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña del editor vacía.
Introduce la
ALTER TABLE
declaració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
aspill_to_hdd
:GoogleSQL
ALTER TABLE Singers SET OPTIONS (locality_group = 'spill_to_hdd');
PostgreSQL
ALTER TABLE Singers SET LOCALITY GROUP spill_to_hdd;
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
- En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña del editor vacía.
Introduce la
ALTER TABLE
declaració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 aspill_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;
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
- En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña del editor vacía.
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';
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
- En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña del editor vacía.
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';
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
- En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña del editor vacía.
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;
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
- Consulta más información sobre el almacenamiento por niveles.
- Más información sobre los grupos de localidades
- Más información sobre cómo optimizar las consultas con la inserción de predicados de marca de tiempo