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é pour les 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és sans aucune règle de stockage hiérarchisé, ou vous pouvez créer un groupe de localités 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é, il 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é default, elle est définie sur "SSD uniquement".
Console
Accédez à la page Instances de Spanner dans la consoleGoogle Cloud .
Sélectionnez l'instance dans laquelle vous souhaitez utiliser le stockage hiérarchisé.
Sélectionnez la base de données dans laquelle vous souhaitez utiliser le stockage hiérarchisé.
Dans le menu de navigation, cliquez sur Spanner Studio.
Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.
Saisissez l'instruction LDD
CREATE LOCALITY GROUPà l'aide de GoogleSQL ou PostgreSQL.Par exemple, vous pouvez exécuter la commande suivante pour créer un groupe de localités,
separate_storage, qui stocke les colonnes dans un fichier distinct de celui des données pour le reste des 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és,
hdd_only, qui stocke les données sur un stockage HDD :GoogleSQL
CREATE LOCALITY GROUP hdd_only OPTIONS (storage='hdd');PostgreSQL
CREATE LOCALITY GROUP hdd_only STORAGE 'hdd';Cliquez sur Exécuter.
gcloud
Pour créer un groupe de localités avec la commande gcloud CLI, utilisez gcloud spanner databases ddl update.
Par exemple, vous pouvez exécuter la commande suivante pour créer un groupe de localités, separate_storage, qui stocke les colonnes dans un fichier distinct de celui des données pour le reste des 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 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és, hdd_only, qui stocke les données sur un 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és avec une règle basée sur l'âge stocke les données les plus récentes dans un stockage SSD pendant une durée spécifiée. Cette heure est relative à l'horodatage de commit des données. Une fois le délai spécifié écoulé, Spanner migre les données vers le stockage HDD lors de son cycle de compactage normal, qui se déroule généralement sur sept jours à compter du délai spécifié. Lorsque vous utilisez une règle de stockage hiérarchisé basée sur l'âge, la durée minimale pendant laquelle les données doivent être stockées sur un SSD avant d'être transférées vers un stockage HDD est d'une heure.
Pour créer un groupe de localités basé sur l'âge, utilisez l'instruction LDD CREATE LOCALITY GROUP.
Console
- Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.
Saisissez l'instruction LDD
CREATE LOCALITY GROUPà l'aide de GoogleSQL ou PostgreSQL.Par exemple, l'instruction LDD suivante crée un groupe de localités,
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';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és spill_to_hdd qui stocke les données sur SSD pendant les 10 premiers jours, puis migre les données plus anciennes vers HDD 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 hiérarchisé pour vos données
Une fois votre groupe de localités créé, vous pouvez définir la stratégie de stockage hiérarchisé pour vos données. La règle de stockage hiérarchisé détermine le groupe de localité utilisé par les données. Vous pouvez définir la règle de stockage hiérarchisé 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 hiérarchisé 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é, il 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é 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 hiérarchisé par défaut prévoit que toutes les données sont stockées sur un stockage SSD. Vous pouvez modifier la règle de stockage hiérarchisé 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 contenir default entre guillemets inversés (`default`). Vous n'avez besoin d'inclure les guillemets inversés que pour le groupe de localités default.
Console
- Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.
Saisissez l'instruction LDD
ALTER LOCALITY GROUPà l'aide de GoogleSQL ou PostgreSQL.Par exemple, les instructions LDD suivantes modifient le groupe de localité
defaultpour utiliser une stratégie de stockage hiérarchisée basée sur l'âge. Toutes les données de la base de données sont déplacées vers le stockage HDD au bout de 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';Cliquez sur Exécuter.
gcloud
Pour modifier la stratégie de stockage hiérarchisé du groupe de localités default avec 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 stratégie de stockage hiérarchisée basée sur l'âge. Toutes les données de la base de données sont déplacées vers le 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 hiérarchisé au niveau de la table pour vos données, qui remplace la règle de stockage hiérarchisé au niveau de la base de données. La règle de stockage hiérarchisé 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 hiérarchisé de remplacement au niveau des colonnes.
Console
- Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.
Saisissez l'instruction LDD
CREATE TABLEà l'aide de GoogleSQL ou 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;Cliquez sur Exécuter.
gcloud
Pour définir une stratégie de stockage hiérarchisé 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 remplacement du stockage à plusieurs niveaux au niveau des colonnes
Vous pouvez définir une règle de stockage hiérarchisé au niveau des colonnes pour vos données.
Console
- Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.
Saisissez l'instruction LDD
CREATE TABLEavec une règle de stockage hiérarchisé au niveau de la colonne à l'aide de GoogleSQL ou PostgreSQL.Par exemple, les instructions LDD suivantes créent une table
Singersqui utilise le groupe de localitéssd_only. Toutefois, la colonneAwardsremplace ce groupe de localité au niveau de la table et utilise le groupe de localitéspill_to_hddcomme 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;Cliquez sur Exécuter.
gcloud
Pour définir une stratégie de stockage hiérarchisé avec remplacement au niveau des colonnes à l'aide de 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 hiérarchisé au niveau de la table et utilise le groupe de localité spill_to_hdd comme règle de stockage hiérarchisé :
GoogleSQL
gcloud spanner databases ddl update example-db