Créer et gérer des groupes de localités

Cette page explique comment créer et gérer des groupes de localité Spanner. Vous pouvez utiliser des groupes de localité pour définir la règle de stockage hiérarchisé des données de votre schéma de base de données. Pour en savoir plus sur le fonctionnement du stockage par niveaux, consultez Stockage par niveaux.

Créer un groupe de localités

Vous pouvez créer un groupe de localité sans aucune règle de stockage par niveaux, ou vous pouvez créer un groupe de localité pour définir la règle de stockage des données dans votre schéma de base de données.

Si vous créez un groupe de localités sans règle de stockage hiérarchisé, le groupe de localités hérite de la règle de stockage hiérarchisé du groupe de localités default. Si vous n'avez pas défini manuellement la règle de stockage du groupe de localités default, elle est définie sur "SSD uniquement".

Console

  1. Accédez à la page Instances de Spanner dans la consoleGoogle Cloud .

    Instances

  2. Sélectionnez l'instance dans laquelle vous souhaitez utiliser le stockage hiérarchisé.

  3. Sélectionnez la base de données dans laquelle vous souhaitez utiliser le stockage par niveaux.

  4. Dans le menu de navigation, cliquez sur Spanner Studio.

  5. Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.

  6. Saisissez l'instruction LDD CREATE LOCALITY GROUP à l'aide de GoogleSQL ou de PostgreSQL.

    Par exemple, vous pouvez exécuter la commande suivante pour créer un groupe de localité, separate_storage, qui stocke les colonnes dans un fichier distinct des données des autres colonnes :

    GoogleSQL

    CREATE LOCALITY GROUP separate_storage;
    

    PostgreSQL

    CREATE LOCALITY GROUP separate_storage;
    

    Par exemple, vous pouvez exécuter la commande suivante pour créer un groupe de localités, ssd_only, qui stocke les données sur un stockage SSD :

    GoogleSQL

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

    PostgreSQL

    CREATE LOCALITY GROUP ssd_only STORAGE 'ssd';
    

    Par exemple, vous pouvez exécuter la commande suivante pour créer un groupe de localité, hdd_only, qui stocke les données sur un espace de stockage HDD :

    GoogleSQL

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

    PostgreSQL

    CREATE LOCALITY GROUP hdd_only STORAGE 'hdd';
    
  7. Cliquez sur Exécuter.

gcloud

Pour créer un groupe de localités avec la commande Google Cloud CLI, utilisez gcloud spanner databases ddl update.

Par exemple, vous pouvez exécuter la commande suivante pour créer un groupe de localité, separate_storage, qui stocke les colonnes dans un fichier distinct des données des autres colonnes :

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"

Par exemple, vous pouvez exécuter la commande suivante pour créer un groupe de localités, ssd_only, qui stocke les données sur un disque 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'"

Par exemple, vous pouvez exécuter la commande suivante pour créer un groupe de localité, hdd_only, qui stocke les données sur un espace de stockage 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'"

Créer une règle basée sur l'âge pour un groupe de localités

Un groupe de localité avec une règle basée sur l'âge stocke les données les plus récentes dans un espace de stockage SSD pendant une durée spécifiée. Cette heure est relative au code temporel de commit des données. Une fois le délai spécifié écoulé, Spanner migre les données vers un espace de stockage HDD au cours de son cycle de compactage normal, qui se produit généralement dans les sept jours suivant le délai spécifié. Lorsque vous utilisez une règle de stockage par niveaux basée sur l'âge, la durée minimale pendant laquelle les données doivent être stockées sur un disque SSD avant d'être déplacées vers un stockage HDD est d'une heure.

Pour créer un groupe de localité basé sur l'âge, utilisez l'instruction LDD CREATE LOCALITY GROUP.

Console

  1. Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.
  2. Saisissez l'instruction LDD CREATE LOCALITY GROUP à l'aide de GoogleSQL ou de PostgreSQL.

    Par exemple, l'instruction LDD suivante crée un groupe de localité, spill_to_hdd, qui stocke les données sur un stockage SSD pendant les 10 premiers jours, puis migre les données plus anciennes vers un stockage HDD au cours du cycle de compactage 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. Cliquez sur Exécuter.

gcloud

Pour créer un groupe de localité basé sur l'âge avec la commande gcloud CLI, utilisez gcloud spanner databases ddl update.

Par exemple, l'instruction LDD suivante crée un groupe de localité spill_to_hdd qui stocke les données sur un disque SSD pendant les 10 premiers jours, puis migre les données plus anciennes vers un disque dur au cours du cycle de compactage 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'"

Définir une règle de stockage par niveaux pour vos données

Après avoir créé votre groupe de localité, vous pouvez définir la règle de stockage hiérarchisé pour vos données. La règle de stockage par niveaux détermine le groupe de localité utilisé par les données. Vous pouvez définir la règle de stockage par niveaux au niveau de la base de données, de la table, de la colonne ou de l'index secondaire. Chaque objet de base de données hérite de la règle de stockage par niveaux de son parent, sauf si elle est explicitement remplacée.

Si vous créez un groupe de localités sans règle de stockage hiérarchisé, le groupe de localités hérite de la règle de stockage hiérarchisé du groupe de localités default. Si vous n'avez pas défini manuellement la règle de stockage du groupe de localités default, elle est définie sur "SSD uniquement".

Définir un groupe de localité au niveau de la base de données

La règle de stockage par niveaux par défaut est que toutes les données sont stockées sur un stockage SSD. Vous pouvez modifier la règle de stockage par niveaux au niveau de la base de données en modifiant le groupe de localité default. Pour les bases de données utilisant le dialecte GoogleSQL, votre instruction LDD ALTER LOCALITY GROUP doit comporter default entre accents graves (`default`). Vous ne devez inclure les accents graves que pour le groupe de localité default.

Console

  1. Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.
  2. Saisissez l'instruction LDD ALTER LOCALITY GROUP à l'aide de GoogleSQL ou de PostgreSQL.

    Par exemple, les instructions LDD suivantes modifient le groupe de localité default pour utiliser une règle de stockage par niveaux basée sur l'âge. Toutes les données de la base de données sont déplacées vers un espace de stockage HDD après 10 jours.

    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. Cliquez sur Exécuter.

gcloud

Pour modifier la règle de stockage hiérarchisé du groupe de localités default à l'aide de la commande gcloud CLI, utilisez gcloud spanner databases ddl update.

Par exemple, les instructions LDD suivantes modifient le groupe de localité default pour utiliser une règle de stockage par niveaux basée sur l'âge. Toutes les données de la base de données sont déplacées vers un espace de stockage HDD au bout de 10 jours.

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

Définir un groupe de localité au niveau de la table

Vous pouvez définir une règle de stockage par niveaux au niveau de la table pour vos données, qui remplace la règle de stockage par niveaux au niveau de la base de données. La règle de stockage par niveaux au niveau de la table s'applique également à toutes les colonnes de la table, sauf si vous avez défini une règle de stockage par niveaux de remplacement au niveau de la colonne.

Console

  1. Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.
  2. Saisissez l'instruction LDD CREATE TABLE à l'aide de GoogleSQL ou de PostgreSQL.

    Par exemple, les instructions LDD suivantes créent une table, Singers, qui utilise le groupe de 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. Cliquez sur Exécuter.

gcloud

Pour définir une règle de stockage par niveaux au niveau de la table avec la commande gcloud CLI, utilisez gcloud spanner databases ddl update.

Par exemple, les instructions LDD suivantes créent une table, Singers, qui utilise le groupe de 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;"

Définir une règle de stockage par niveaux au niveau des colonnes

Vous pouvez définir une règle de stockage par niveaux de remplacement au niveau des colonnes pour vos données.

Console

  1. Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.
  2. Saisissez l'instruction LDD CREATE TABLE avec une règle de stockage par niveaux de remplacement au niveau de la colonne à l'aide de GoogleSQL ou de PostgreSQL.

    Par exemple, les instructions LDD suivantes créent une table Singers qui utilise le groupe de localité ssd_only. Toutefois, la colonne Awards remplace ce groupe de localité au niveau de la table et utilise le groupe de localité spill_to_hdd comme règle de stockage hiérarchisé :

    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. Cliquez sur Exécuter.

gcloud

Pour définir une règle de stockage par niveaux de remplacement au niveau de la colonne avec la commande gcloud CLI, utilisez gcloud spanner databases ddl update.

Par exemple, les instructions LDD suivantes créent une table Singers qui utilise le groupe de localité ssd_only. Toutefois, la colonne Awards remplace cette règle de stockage par niveaux au niveau de la table et utilise le groupe de localité spill_to_hdd comme règle de stockage par niveaux :

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

Définir une règle de stockage à plusieurs niveaux de remplacement au niveau de l'index secondaire

Vous pouvez définir une règle de stockage hiérarchisé secondaire au niveau de l'index pour vos données.

Console

  1. Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.
  2. Saisissez l'instruction LDD CREATE INDEX avec une règle de stockage par niveaux de remplacement au niveau de l'index secondaire à l'aide de GoogleSQL ou de PostgreSQL.

    Par exemple, les instructions LDD suivantes créent une table Singers qui utilise le groupe de localité ssd_only. La base de données comporte également un index secondaire sur tous les Singers de la base de données, par prénom et nom. L'index SingersByFirstLastName remplace la règle de stockage par niveaux au niveau de la table et utilise le groupe de localité spill_to_hdd comme règle de stockage par niveaux :

    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. Cliquez sur Exécuter.

gcloud

Pour définir une règle de stockage par niveaux secondaire au niveau de l'index avec la commande gcloud CLI, utilisez gcloud spanner databases ddl update.

Par exemple, les instructions LDD suivantes créent une table Singers qui utilise le groupe de localité ssd_only. La base de données crée également un index secondaire sur tous les Singers de la base de données en fonction de leur prénom et de leur nom. L'index SingersByFirstLastName remplace la règle de stockage par niveaux au niveau de la table et utilise le groupe de localité spill_to_hdd comme règle de stockage par niveaux :

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

Définir un groupe de localité au niveau des colonnes

Vous pouvez définir un groupe de localité au niveau des colonnes pour vos données, même si le groupe de localité ne dispose pas d'une règle de stockage hiérarchisé. La lecture des données de cette colonne est plus rapide que la lecture des données regroupées avec d'autres colonnes.

Console

  1. Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.
  2. Saisissez l'instruction LDD CREATE TABLE qui attribue la colonne à un groupe de localités à l'aide de GoogleSQL ou de PostgreSQL.

    Par exemple, les instructions LDD suivantes créent une table Songs avec une colonne LyricsCompressed stockée séparément dans le groupe de 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. Cliquez sur Exécuter.

gcloud

Pour définir un groupe de localité au niveau des colonnes pour vos données à l'aide de la commande gcloud CLI, utilisez gcloud spanner databases ddl update.

Par exemple, les instructions LDD suivantes créent une table Songs avec une colonne LyricsCompressed stockée séparément dans le groupe de localités 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;

Déplacer des données entre des options de stockage

Vous pouvez déplacer des données entre un stockage SSD et un stockage HDD. Le déplacement des données peut prendre jusqu'à sept jours. Pour migrer plus rapidement des données entre un SSD et un HDD, vous pouvez déclencher manuellement un compactage majeur. Vous pouvez surveiller la progression du déplacement en interrogeant la table SPANNER_SYS.TABLE_SIZES_STATS_1HOUR intégrée pour vérifier l'utilisation de l'espace de stockage HDD et SSD pour chaque table de votre base de données. Vous pouvez également surveiller l'utilisation de votre espace de stockage à l'aide de la métrique Cloud Monitoring spanner.googleapis.com/instance/storage/used_bytes pour afficher la répartition des disques SSD et HDD pour votre base de données ou votre instance. Pour en savoir plus, consultez Observabilité du stockage par niveaux.

Déplacer des données d'un stockage SSD vers un stockage HDD

Pour déplacer des données d'un stockage SSD vers un stockage HDD, vous pouvez créer un groupe de localités avec une règle de stockage par niveaux basée sur l'âge ou modifier la règle de stockage par niveaux d'un groupe de localités existant. Spanner déplace les données au cours de son cycle de compactage normal, qui se déroule généralement sur sept jours. Si vous chargez des données et mettez à jour votre groupe de localités à l'aide de l'une des instructions LDD ALTER suivantes, vous devez attendre jusqu'à sept jours pour que la modification du groupe de localités soit terminée :

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

Le délai d'attente ne s'applique pas si vous créez une table, une colonne ou un index, et que vous ajoutez le groupe de localités dans la syntaxe CREATE ou ADD COLUMN.

Pour en savoir plus, consultez Créer une règle basée sur l'âge pour un groupe de localités ou Modifier l'option de stockage.

Déplacer des données d'un stockage HDD vers un stockage SSD

Pour déplacer des données d'un stockage HDD vers un stockage SSD, vous pouvez modifier l'option de stockage d'un groupe de localités existant ou modifier le groupe de localités utilisé par la table. Spanner déplace les données au cours de son cycle de compactage normal, qui se déroule généralement sur sept jours. Si vous chargez des données et mettez à jour votre groupe de localités à l'aide de l'une des instructions LDD ALTER suivantes, vous devez attendre jusqu'à sept jours pour que la modification du groupe de localités soit terminée :

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

Le délai d'attente ne s'applique pas si vous créez une table, une colonne ou un index, et que vous ajoutez le groupe de localités dans la syntaxe CREATE ou ADD COLUMN.

Modifier le groupe de localités utilisé par une table

Vous pouvez modifier le groupe de localité utilisé par une table en définissant un groupe de localité nouveau ou différent dans les options de la table.

Console

  1. Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.
  2. Saisissez l'instruction LDD ALTER TABLE qui modifie le groupe de localités utilisé par la table à l'aide de GoogleSQL ou de PostgreSQL.

    Par exemple, les instructions LDD suivantes modifient le groupe de localité utilisé par la table, Singers, en 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. Cliquez sur Exécuter.

gcloud

Pour modifier le groupe de localité utilisé par une table avec la commande gcloud CLI, utilisez gcloud spanner databases ddl update.

Par exemple, les instructions LDD suivantes modifient le groupe de localité utilisé par la table, Singers, en 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;"

Modifier le groupe de localité utilisé par la colonne d'une table

Vous pouvez modifier le groupe de localité utilisé par la colonne d'une table en définissant le groupe de localité dans les options de la colonne.

Console

  1. Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.
  2. Saisissez l'instruction LDD ALTER TABLE qui modifie le groupe de localités utilisé par la table à l'aide de GoogleSQL ou de PostgreSQL.

    Par exemple, les instructions LDD suivantes modifient le groupe de localité utilisé par la colonne de la table, LastName, en 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. Cliquez sur Exécuter.

gcloud

Pour modifier le groupe de localité utilisé par une table avec la commande gcloud CLI, utilisez gcloud spanner databases ddl update.

Par exemple, les instructions LDD suivantes modifient le groupe de localité utilisé par la colonne de la table, LastName, en 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;"

Modifier un groupe de localités

Vous pouvez modifier un groupe de localités en modifiant son option de stockage ou en modifiant sa règle basée sur l'âge. Spanner déplace les données au cours de son cycle de compactage normal, qui se déroule généralement sur sept jours. Si vous chargez des données et mettez à jour votre groupe de localités à l'aide de ALTER LOCALITY GROUP, vous devez attendre jusqu'à sept jours pour que les données existantes soient migrées. Le paramètre mis à jour s'applique immédiatement à toutes les nouvelles données écrites dans ce groupe de localités.

Modifier l'option de stockage

Vous pouvez modifier l'option de stockage d'un groupe de localités pour passer de SSD à HDD ou de HDD à SSD.

Console

  1. Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.
  2. Saisissez l'instruction LDD ALTER LOCALITY GROUP à l'aide de GoogleSQL ou de PostgreSQL.

    Par exemple, les instructions LDD suivantes remplacent l'option de stockage du groupe de localité separate_storage par HDD :

    GoogleSQL

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

    PostgreSQL

    ALTER LOCALITY GROUP separate_storage STORAGE 'hdd';
    
  3. Cliquez sur Exécuter.

gcloud

Pour modifier l'option de stockage d'un groupe de localités à l'aide de la commande gcloud CLI, utilisez gcloud spanner databases ddl update.

Par exemple, les instructions LDD suivantes remplacent l'option de stockage du groupe de localité separate_storage par 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';"

Modifier la règle basée sur l'âge

Vous pouvez modifier la règle basée sur l'âge d'un groupe de localités en prolongeant ou en raccourcissant la durée de stockage des données sur un disque SSD avant qu'elles ne soient déplacées vers un stockage HDD.

Console

  1. Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.
  2. Saisissez l'instruction LDD ALTER LOCALITY GROUP à l'aide de GoogleSQL ou de PostgreSQL.

    Par exemple, les instructions LDD suivantes modifient la règle basée sur l'âge du groupe de localité spill_to_hdd en prolongeant à 20 jours la durée de stockage des données sur SSD :

    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. Cliquez sur Exécuter.

gcloud

Pour modifier la règle basée sur l'âge d'un groupe de localités à l'aide de la commande gcloud CLI, utilisez gcloud spanner databases ddl update.

Par exemple, les instructions LDD suivantes modifient la règle basée sur l'âge du groupe de localité spill_to_hdd en prolongeant à 20 jours la durée de stockage des données sur SSD :

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

Supprimer un groupe de localités

Vous ne pouvez pas supprimer un groupe de localités s'il contient des données. Vous devez d'abord déplacer toutes les données du groupe de localités vers un autre groupe de localités. Pour en savoir plus, consultez Modifier le groupe de localités utilisé par la table.

Console

  1. Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.
  2. Saisissez l'instruction LDD DROP LOCALITY GROUP à l'aide de GoogleSQL ou de PostgreSQL.

    Par exemple, vous pouvez exécuter la commande suivante pour supprimer un groupe de localités ssd_only :

    GoogleSQL

    DROP LOCALITY GROUP ssd_only;
    

    PostgreSQL

    DROP LOCALITY GROUP ssd_only;
    
  3. Cliquez sur Exécuter.

gcloud

Pour supprimer un groupe de localités avec la commande gcloud CLI, utilisez gcloud spanner databases ddl update.

Par exemple, pour supprimer le groupe de localités ssd_only, exécutez la commande suivante :

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"

Étapes suivantes