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
Ve a la página Instancias de Spanner en la Google Cloud consola.
Selecciona la instancia en la que deseas usar el almacenamiento por niveles.
Selecciona la base de datos en la que quieres 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 vacía del editor.
Ingresa la sentencia de DDL
CREATE LOCALITY GROUPcon 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';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
- En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña vacía del editor.
Ingresa la sentencia DDL
CREATE LOCALITY GROUPcon 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';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
- En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña vacía del editor.
Ingresa la sentencia DDL
ALTER LOCALITY GROUPcon GoogleSQL o PostgreSQL.Por ejemplo, las siguientes declaraciones de DDL alteran el grupo de localidad
defaultpara 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';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
- En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña vacía del editor.
Ingresa la sentencia DDL
CREATE TABLEcon GoogleSQL o PostgreSQL.Por ejemplo, las siguientes declaraciones de 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 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
- En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña vacía del editor.
Ingresa la sentencia DDL
CREATE TABLEcon 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
Singersque usa el grupo de localidadssd_only. Sin embargo, la columnaAwardsanula este grupo de localidad a nivel de tabla y usa el grupo de localidadspill_to_hddcomo 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;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
- En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña vacía del editor.
Ingresa la sentencia de DDL
CREATE INDEXcon 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
Singersque usa el grupo de localidadssd_only. La base de datos también tiene un índice secundario en todos losSingersde la base de datos por su nombre y apellido. El índiceSingersByFirstLastNameanula la política de almacenamiento por niveles de la tabla y usa el grupo de localidadspill_to_hddcomo 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;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
- En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña vacía del editor.
Ingresa la sentencia de DDL
CREATE TABLEque asigna la columna a un grupo de localidad con GoogleSQL o PostgreSQL.Por ejemplo, las siguientes declaraciones de DDL crean una tabla
Songscon una columnaLyricsCompressedque 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 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
- En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña vacía del editor.
Ingresa la sentencia de DDL
ALTER TABLEque 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, 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 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
- En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña vacía del editor.
Ingresa la sentencia de DDL
ALTER TABLEque 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, 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 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
- En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña vacía del editor.
Ingresa la sentencia de DDL
ALTER LOCALITY GROUPcon 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';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
- En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña vacía del editor.
Ingresa la sentencia de DDL
ALTER LOCALITY GROUPcon 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';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
- En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña vacía del editor.
Ingresa la sentencia DDL
DROP LOCALITY GROUPcon 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;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?
- Obtén más información sobre el almacenamiento por niveles.
- Obtén más información sobre los grupos de localidades.
- Obtén más información para optimizar consultas con la aplicación de predicados de marca de tiempo.