Creare e gestire i gruppi di località

Questa pagina descrive come creare e gestire i gruppi di località di Spanner. Puoi utilizzare i gruppi di località per definire il criterio di archiviazione a più livelli per i dati nello schema del database. Per informazioni su come funziona l'archiviazione a livelli, consulta Archiviazione a livelli.

Creare un gruppo di località

Puoi creare un gruppo di località senza alcun criterio di archiviazione a più livelli oppure puoi creare un gruppo di località per definire il criterio di archiviazione per i dati nello schema del database.

Se crei un gruppo di località senza una policy di archiviazione a più livelli, il gruppo di località eredita la policy di archiviazione a più livelli del gruppo di località default. Se non hai impostato manualmente il criterio di archiviazione del gruppo di località default, il criterio di archiviazione è impostato solo su SSD.

Console

  1. Vai alla pagina Istanze di Spanner nella consoleGoogle Cloud .

    Istanze

  2. Seleziona l'istanza in cui vuoi utilizzare l'archiviazione a livelli.

  3. Seleziona il database in cui vuoi utilizzare l'archiviazione a livelli.

  4. Nel menu di navigazione, fai clic su Spanner Studio.

  5. Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda dell'editor vuota.

  6. Inserisci l'istruzione DDL utilizzando GoogleSQL o PostgreSQL.CREATE LOCALITY GROUP

    Ad esempio, puoi eseguire il seguente comando per creare un gruppo di località, separate_storage, che memorizza le colonne in un file separato rispetto ai dati per il resto delle colonne:

    GoogleSQL

    CREATE LOCALITY GROUP separate_storage;
    

    PostgreSQL

    CREATE LOCALITY GROUP separate_storage;
    

    Ad esempio, puoi eseguire il seguente comando per creare un gruppo di località, ssd_only, che memorizza i dati sull'archiviazione SSD:

    GoogleSQL

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

    PostgreSQL

    CREATE LOCALITY GROUP ssd_only STORAGE 'ssd';
    

    Ad esempio, puoi eseguire il seguente comando per creare un gruppo di località, hdd_only, che archivia i dati sull'archiviazione HDD:

    GoogleSQL

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

    PostgreSQL

    CREATE LOCALITY GROUP hdd_only STORAGE 'hdd';
    
  7. Fai clic su Esegui.

gcloud

Per creare un gruppo di località con il comando gcloud CLI, utilizza gcloud spanner databases ddl update.

Ad esempio, puoi eseguire il seguente comando per creare un gruppo di località, separate_storage, che memorizza le colonne in un file separato rispetto ai dati per il resto delle colonne:

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"

Ad esempio, puoi eseguire il seguente comando per creare un gruppo di località, ssd_only, che memorizza i dati sull'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'"

Ad esempio, puoi eseguire il seguente comando per creare un gruppo di località, hdd_only, che archivia i dati sull'archiviazione 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 policy basata sull'età per un gruppo di località

Un gruppo di località con un criterio basato sull'età archivia i dati più recenti nell'archiviazione SSD per un periodo di tempo specificato. Trascorso il periodo di tempo specificato, Spanner esegue la migrazione dei dati allo spazio di archiviazione HDD durante il normale ciclo di compattazione, che in genere si verifica nell'arco di sette giorni a partire dal momento specificato. Quando utilizzi una norma di archiviazione a livelli basata sull'età, la quantità minima di tempo in cui i dati devono essere archiviati su SSD prima di essere spostati sull'archiviazione HDD è di un'ora.

Per creare un gruppo di località basato sull'età, utilizza l'istruzione DDL CREATE LOCALITY GROUP.

Console

  1. Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda dell'editor vuota.
  2. Inserisci l'istruzione DDL utilizzando GoogleSQL o PostgreSQL.CREATE LOCALITY GROUP

    Ad esempio, la seguente istruzione DDL crea un gruppo di località, spill_to_hdd, che archivia i dati su un dispositivo di archiviazione SSD per i primi 10 giorni, e poi esegue la migrazione dei dati meno recenti a un dispositivo di archiviazione HDD durante il normale ciclo di compattazione:

    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. Fai clic su Esegui.

gcloud

Per creare un gruppo di località basato sull'età con il comando gcloud CLI, utilizza gcloud spanner databases ddl update.

Ad esempio, la seguente istruzione DDL crea un gruppo di località spill_to_hdd che archivia i dati su SSD per i primi 10 giorni, per poi migrare i dati meno recenti su HDD durante il normale ciclo di compattazione.

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'"

Impostare un criterio di archiviazione a più livelli per i tuoi dati

Dopo aver creato il gruppo di località, puoi impostare il criterio di archiviazione a livelli per i tuoi dati. Il criterio di archiviazione a livelli determina il gruppo di località utilizzato dai dati. Puoi impostare i criteri di archiviazione a livelli a livello di database, tabella, colonna o indice secondario. Ogni oggetto di database eredita la propria norma di archiviazione a livelli dal relativo elemento padre, a meno che non venga sostituita in modo esplicito.

Se crei un gruppo di località senza una policy di archiviazione a più livelli, il gruppo di località eredita la policy di archiviazione a più livelli del gruppo di località default. Se non hai impostato manualmente il criterio di archiviazione del gruppo di località default, il criterio di archiviazione è impostato solo su SSD.

Impostare un gruppo di località a livello di database

La norma di archiviazione a livelli predefinita prevede che tutti i dati vengano archiviati su spazio di archiviazione SSD. Puoi modificare il criterio di archiviazione a più livelli a livello di database modificando il gruppo di località default. Per i database con dialetto GoogleSQL, l'istruzione DDL ALTER LOCALITY GROUP deve contenere default tra apici inversi (`default`). Devi includere gli apici inversi solo per il gruppo di località default.

Console

  1. Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda dell'editor vuota.
  2. Inserisci l'istruzione DDL utilizzando GoogleSQL o PostgreSQL.ALTER LOCALITY GROUP

    Ad esempio, le seguenti istruzioni DDL modificano il gruppo di località default per utilizzare una policy di archiviazione a più livelli basata sull'età. Tutti i dati nel database vengono spostati nell'archivio HDD dopo 10 giorni.

    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. Fai clic su Esegui.

gcloud

Per modificare la norma di archiviazione a livelli del gruppo di località default con il comando gcloud CLI, utilizza gcloud spanner databases ddl update.

Ad esempio, le seguenti istruzioni DDL modificano il gruppo di località default per utilizzare una policy di archiviazione a più livelli basata sull'età. Tutti i dati nel database vengono spostati nello spazio di archiviazione HDD dopo 10 giorni.

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';"

Impostare un gruppo di località a livello di tabella

Puoi impostare criteri di archiviazione a livelli a livello di tabella per i tuoi dati che sostituiscono i criteri di archiviazione a livelli a livello di database. Il criterio di archiviazione a più livelli a livello di tabella è applicabile anche a tutte le colonne della tabella, a meno che tu non abbia impostato un criterio di archiviazione a più livelli di override a livello di colonna.

Console

  1. Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda dell'editor vuota.
  2. Inserisci l'istruzione DDL utilizzando GoogleSQL o PostgreSQL.CREATE TABLE

    Ad esempio, le seguenti istruzioni DDL creano una tabella, Singers, che utilizza il gruppo di località 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. Fai clic su Esegui.

gcloud

Per impostare un criterio di archiviazione a più livelli a livello di tabella con il comando gcloud CLI, utilizza gcloud spanner databases ddl update.

Ad esempio, le seguenti istruzioni DDL creano una tabella, Singers, che utilizza il gruppo di località 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;"

Imposta una policy di archiviazione a più livelli con override a livello di colonna

Puoi impostare criteri di archiviazione a più livelli di override a livello di colonna per i tuoi dati.

Console

  1. Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda dell'editor vuota.
  2. Inserisci l'istruzione DDL CREATE TABLE con una norma di archiviazione a livelli di override a livello di colonna utilizzando GoogleSQL o PostgreSQL.

    Ad esempio, le seguenti istruzioni DDL creano una tabella Singers che utilizza il gruppo di località ssd_only. Tuttavia, la colonna Awards esegue l'override di questo gruppo di località a livello di tabella e utilizza il gruppo di località spill_to_hdd come criterio di archiviazione a più livelli:

    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. Fai clic su Esegui.

gcloud

Per impostare un criterio di archiviazione a livelli di override a livello di colonna con il comando gcloud CLI, utilizza gcloud spanner databases ddl update.

Ad esempio, le seguenti istruzioni DDL creano una tabella Singers che utilizza il gruppo di località ssd_only. Tuttavia, la colonna Awards esegue l'override di questa norma di archiviazione a livelli a livello di tabella e utilizza il gruppo di località spill_to_hdd come norma di archiviazione a livelli:

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;"

Imposta una policy di archiviazione a più livelli di override a livello di indice secondario

Puoi impostare una policy di archiviazione a più livelli di override a livello di indice secondario per i tuoi dati.

Console

  1. Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda dell'editor vuota.
  2. Inserisci l'istruzione DDL CREATE INDEX con una policy di archiviazione a livelli di override a livello di indice secondario utilizzando GoogleSQL o PostgreSQL.

    Ad esempio, le seguenti istruzioni DDL creano una tabella Singers che utilizza il gruppo di località ssd_only. Il database ha anche un indice secondario su tutti i Singers nel database in base al nome e al cognome. L'indice SingersByFirstLastName esegue l'override della norma di archiviazione a livelli a livello di tabella e utilizza il gruppo di località spill_to_hdd come norma di archiviazione a livelli:

    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. Fai clic su Esegui.

gcloud

Per impostare un criterio di archiviazione a livelli di override a livello di indice secondario con il comando gcloud CLI, utilizza gcloud spanner databases ddl update.

Ad esempio, le seguenti istruzioni DDL creano una tabella Singers che utilizza il gruppo di località ssd_only. Il database crea anche un indice secondario su tutti i Singers nel database in base al nome e al cognome. L'indice SingersByFirstLastName sostituisce i criteri di archiviazione a livelli a livello di tabella e utilizza il gruppo di località spill_to_hdd come criteri di archiviazione a livelli:

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;"

Impostare un gruppo di località a livello di colonna

Puoi impostare un gruppo di località a livello di colonna per i tuoi dati anche se il gruppo di località non ha una policy di archiviazione a più livelli. La lettura dei dati di questa colonna è più veloce rispetto alla lettura dei dati raggruppati con altre colonne.

Console

  1. Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda dell'editor vuota.
  2. Inserisci l'istruzione DDL CREATE TABLE che assegna la colonna a un gruppo di località utilizzando GoogleSQL o PostgreSQL.

    Ad esempio, le seguenti istruzioni DDL creano una tabella Songs con una colonna LyricsCompressed archiviata separatamente nel gruppo di località 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. Fai clic su Esegui.

gcloud

Per impostare un gruppo di località a livello di colonna per i tuoi dati con il comando gcloud CLI, utilizza gcloud spanner databases ddl update.

Ad esempio, le seguenti istruzioni DDL creano una tabella Songs con una colonna LyricsCompressed memorizzata separatamente nel gruppo di località 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;

Spostare i dati tra le opzioni di archiviazione

Puoi spostare i dati tra l'archiviazione SSD e HDD. Lo spostamento dei dati può richiedere fino a sette giorni. Puoi monitorare l'avanzamento dello spostamento eseguendo query sulla tabella SPANNER_SYS.TABLE_SIZES_STATS_1HOUR integrata per controllare l'utilizzo dello spazio di archiviazione HDD e SSD per ogni tabella del database. Puoi anche monitorare l'utilizzo dello spazio di archiviazione utilizzando la metrica spanner.googleapis.com/instance/storage/used_bytes di Cloud Monitoring per visualizzare la suddivisione di SSD e HDD per il tuo database o la tua istanza. Per maggiori informazioni, consulta Osservabilità dell'archiviazione a livelli.

Spostare i dati dall'SSD all'HDD

Per spostare i dati dall'archiviazione SSD all'archiviazione HDD, puoi creare un nuovo gruppo di località con un criterio di archiviazione a livelli basato sull'età oppure modificare il criterio di archiviazione a livelli di un gruppo di località esistente. Spanner sposta i dati durante il normale ciclo di compattazione, che in genere si verifica nell'arco di sette giorni. Se carichi i dati e aggiorni il gruppo di località utilizzando una delle seguenti istruzioni DDL ALTER, devi attendere fino a sette giorni per il completamento della modifica al gruppo di località:

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 ...

Il periodo di attesa non è applicabile se crei una nuova tabella, colonna o indice e aggiungi il gruppo di località come parte della sintassi CREATE o ADD COLUMN.

Per saperne di più, vedi Creare una norma basata sull'età per un gruppo di località o Modificare l'opzione di archiviazione.

Spostare i dati dall'HDD all'archiviazione SSD

Per spostare i dati dall'HDD all'archiviazione SSD, puoi modificare l'opzione di archiviazione di un gruppo di località esistente o modificare il gruppo di località utilizzato dalla tabella. Spanner sposta i dati durante il normale ciclo di compattazione, che in genere si verifica nell'arco di sette giorni. Se carichi i dati e aggiorni il gruppo di località utilizzando una delle seguenti istruzioni DDL ALTER, devi attendere fino a sette giorni prima che la modifica al gruppo di località venga completata:

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 ...

Il periodo di attesa non è applicabile se crei una nuova tabella, colonna o indice e aggiungi il gruppo di località come parte della sintassi CREATE o ADD COLUMN.

Modificare il gruppo di località utilizzato da una tabella

Puoi modificare il gruppo di località utilizzato da una tabella impostando un gruppo di località nuovo o diverso nelle opzioni della tabella.

Console

  1. Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda dell'editor vuota.
  2. Inserisci l'istruzione DDL ALTER TABLE che modifica il gruppo di località utilizzato dalla tabella utilizzando GoogleSQL o PostgreSQL.

    Ad esempio, le seguenti istruzioni DDL modificano il gruppo di località utilizzato dalla tabella, Singers, in 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. Fai clic su Esegui.

gcloud

Per modificare il gruppo di località utilizzato da una tabella con il comando gcloud CLI, utilizza gcloud spanner databases ddl update.

Ad esempio, le seguenti istruzioni DDL modificano il gruppo di località utilizzato dalla tabella, Singers, in 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;"

Modificare il gruppo di località utilizzato dalla colonna di una tabella

Puoi modificare il gruppo di località utilizzato dalla colonna di una tabella impostando il gruppo di località nelle opzioni della colonna.

Console

  1. Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda dell'editor vuota.
  2. Inserisci l'istruzione DDL ALTER TABLE che modifica il gruppo di località utilizzato dalla tabella utilizzando GoogleSQL o PostgreSQL.

    Ad esempio, le seguenti istruzioni DDL modificano il gruppo di località utilizzato dalla colonna della tabella, LastName, in 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. Fai clic su Esegui.

gcloud

Per modificare il gruppo di località utilizzato da una tabella con il comando gcloud CLI, utilizza gcloud spanner databases ddl update.

Ad esempio, le seguenti istruzioni DDL modificano il gruppo di località utilizzato dalla colonna della tabella, LastName, in 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;"

Modificare un gruppo di località

Puoi modificare un gruppo di località cambiando l'opzione di archiviazione o modificando il criterio basato sull'età. Spanner sposta i dati durante il normale ciclo di compattazione, che in genere si verifica nell'arco di sette giorni. Se carichi i dati e aggiorni il gruppo di località utilizzando ALTER LOCALITY GROUP, devi attendere fino a sette giorni per la migrazione dei dati esistenti. L'impostazione aggiornata viene applicata immediatamente a tutti i nuovi dati scritti in quel gruppo di località.

Modificare l'opzione di archiviazione

Puoi modificare l'opzione di archiviazione di un gruppo di località da SSD a HDD o da HDD a SSD.

Console

  1. Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda dell'editor vuota.
  2. Inserisci l'istruzione DDL utilizzando GoogleSQL o PostgreSQL.ALTER LOCALITY GROUP

    Ad esempio, le seguenti istruzioni DDL modificano l'opzione di archiviazione del gruppo di località separate_storage in HDD:

    GoogleSQL

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

    PostgreSQL

    ALTER LOCALITY GROUP separate_storage STORAGE 'hdd';
    
  3. Fai clic su Esegui.

gcloud

Per modificare l'opzione di archiviazione di un gruppo di località con il comando gcloud CLI, utilizza gcloud spanner databases ddl update.

Ad esempio, le seguenti istruzioni DDL modificano l'opzione di archiviazione del gruppo di località separate_storage in 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';"

Modificare la policy basata sull'età

Puoi modificare il criterio basato sull'età di un gruppo di località estendendo o riducendo il tempo di archiviazione dei dati nell'SSD prima che vengano spostati nell'archiviazione HDD.

Console

  1. Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda dell'editor vuota.
  2. Inserisci l'istruzione DDL utilizzando GoogleSQL o PostgreSQL.ALTER LOCALITY GROUP

    Ad esempio, le seguenti istruzioni DDL modificano il criterio basato sull'età del gruppo di località spill_to_hdd estendendo il periodo di tempo in cui i dati vengono archiviati nell'SSD a 20 giorni:

    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. Fai clic su Esegui.

gcloud

Per modificare il criterio basato sull'età di un gruppo di località con il comando gcloud CLI, utilizza gcloud spanner databases ddl update.

Ad esempio, le seguenti istruzioni DDL modificano il criterio basato sull'età del gruppo di località spill_to_hdd estendendo il periodo di tempo in cui i dati vengono archiviati nell'SSD a 20 giorni:

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';"

Eliminare un gruppo di località

Non puoi eliminare un gruppo di località se contiene dati. Devi prima spostare tutti i dati presenti nel gruppo di località in un altro gruppo di località. Per ulteriori informazioni, vedi Modificare il gruppo di località utilizzato dalla tabella.

Console

  1. Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda dell'editor vuota.
  2. Inserisci l'istruzione DDL utilizzando GoogleSQL o PostgreSQL.DROP LOCALITY GROUP

    Ad esempio, puoi eseguire il comando seguente per eliminare un gruppo di località ssd_only:

    GoogleSQL

    DROP LOCALITY GROUP ssd_only;
    

    PostgreSQL

    DROP LOCALITY GROUP ssd_only;
    
  3. Fai clic su Esegui.

gcloud

Per eliminare un gruppo di località con il comando gcloud CLI, utilizza gcloud spanner databases ddl update.

Ad esempio, per eliminare il gruppo di località ssd_only, esegui:

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"

Passaggi successivi