Créer et gérer des emplacements de données

Cette page explique comment créer et gérer des emplacements de données dans Spanner.

Pour en savoir plus sur le fonctionnement du géopartitionnement, consultez la section Présentation du géopartitionnement.

Créer un emplacement de données

Une fois que vous avez créé vos partitions Spanner et vos bases de données, créez votre emplacement.

  1. Accédez à la page Instances de la console Google Cloud.

    Instances

  2. Sélectionnez l'instance avec la ou les partitions créées par l'utilisateur.

  3. Sélectionnez la base de données pour laquelle vous souhaitez partitionner les données.

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

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

  6. Saisissez l'instruction DDL CREATE PLACEMENT (GoogleSQL, PostgreSQL).

    Par exemple, vous pouvez exécuter la commande suivante pour créer une table d'emplacement europeplacement dans la partition europe-partition:

    CREATE PLACEMENT `europeplacement` OPTIONS (instance_partition="europe-partition");
    
    CREATE PLACEMENT europeplacement WITH (instance_partition='europe-partition');
    

    Facultatif: vous pouvez également utiliser le volet Object Explorer (Explorateur d'objets) pour afficher, rechercher et interagir avec vos objets "Placement". Pour en savoir plus, consultez la section Explorer vos données.

  7. Cliquez sur Exécuter.

Pour créer un emplacement avec la commande gcloud CLI, utilisez gcloud spanner databases ddl update.

Par exemple, créez un emplacement dans la partition europe-partition:

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE PLACEMENT europeplacement OPTIONS (instance_partition='europe-partition')"
gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE PLACEMENT europeplacement WITH (instance_partition='europe-partition')"

Supprimer un emplacement de données

Vous ne pouvez pas supprimer un emplacement. Vous devez supprimer la base de données pour supprimer l'emplacement et les données associées. Pour en savoir plus, consultez la section Supprimer une base de données.

Créer une table avec une clé d'emplacement

  1. Dans le menu de navigation, cliquez sur Spanner Studio.
  2. Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.
  3. Saisissez l'instruction DDL CREATE TABLE (GoogleSQL, PostgreSQL).

    Par exemple, vous pouvez créer une table Singers qui utilise une clé d'emplacement pour partitionner les données sur les chanteurs:

    CREATE TABLE Singers (
      SingerId INT64 NOT NULL,
      SingerName STRING(MAX) NOT NULL,
      ...
      Location STRING(MAX) NOT NULL PLACEMENT KEY
    ) PRIMARY KEY (SingerId);
    
    CREATE TABLE Singers (
      SingerId bigint PRIMARY KEY,
      SingerName varchar(1024),
      ...
      Location varchar(1024) NOT NULL PLACEMENT KEY
    );
    

Pour créer une table, utilisez gcloud spanner databases ddl update.

Par exemple, vous pouvez créer une table Singers qui utilise une clé d'emplacement pour partitionner les données sur les chanteurs:

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE TABLE Singers ( SingerId INT64 NOT NULL, SingerName STRING(MAX) NOT NULL, Location STRING(MAX) NOT NULL PLACEMENT KEY ) PRIMARY KEY (SingerId);"
gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE TABLE Singers ( SingerId bigint PRIMARY KEY, SingerName varchar(1024), Location varchar(1024) NOT NULL PLACEMENT KEY );"

Modifier une table avec une clé d'emplacement

Vous ne pouvez pas supprimer une clé d'emplacement d'une table. Vous ne pouvez pas non plus ajouter une clé d'emplacement à une table après sa création. Toutefois, vous pouvez utiliser l'instruction DDL ALTER TABLE (GoogleSQL, PostgreSQL) pour modifier d'autres champs du tableau, par exemple en ajoutant et en supprimant des colonnes de clé non d'emplacement.

Supprimer une table avec une clé d'emplacement

Avant de supprimer une table avec une clé d'emplacement, vous devez d'abord:

  1. Supprimez toutes les lignes du tableau des emplacements.
  2. Attendez que l'version_retention_period de la base de données soit accepté. Pour en savoir plus, consultez Récupération à un moment précis. Ensuite, procédez comme suit:
  1. Dans le menu de navigation, cliquez sur Spanner Studio.
  2. Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.
  3. Saisissez l'instruction DDL DROP TABLE (GoogleSQL, PostgreSQL).

    Par exemple, supprimez la table Singers:

    DROP TABLE Singers;
    

Pour placer une table, utilisez gcloud spanner databases ddl update.

Par exemple, supprimez la table Singers:

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="DROP TABLE Singers"

Insérer une ligne dans un tableau des emplacements

  1. Dans le menu de navigation, cliquez sur Spanner Studio.
  2. Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.
  3. Saisissez l'instruction DDL INSERT INTO (GoogleSQL, PostgreSQL).

    Par exemple, ajoutez un chanteur, Marc Richards, à la table Singers et partitionnez-la dans europeplacement:

    INSERT INTO Singers(SingerId, SingerName, Location)
    VALUES (1, 'Marc Richards', 'europeplacement')
    

Pour écrire des données dans une table, utilisez gcloud spanner rows insert.

Par exemple, ajoutez un chanteur, Marc Richards, à la table Singers et partitionnez-la dans europeplacement:

gcloud spanner rows insert --table=Singers --database=example-db \
  --instance=test-instance --data=SingerId=1,SingerName='Marc Richards',Location='europeplacement'

Mettre à jour une ligne dans un tableau des emplacements

  1. Dans le menu de navigation, cliquez sur Spanner Studio.
  2. Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.
  3. Utilisez le langage de manipulation de données ou des mutations pour mettre à jour les données d'une table d'emplacements.

    Par exemple, remplacez le nom de singerid=1 dans la table Singers par Catalina Smith:

    UPDATE Singers s
    SET s.name='Catalina Smith'
    WHERE s.id=1;
    

Pour mettre à jour les données d'une table d'emplacements, utilisez gcloud spanner rows update.

Par exemple, remplacez le nom de singerid=1 dans la table Singers par Catalina Smith:

gcloud spanner rows update --table=Singers --database=example-db \
  --instance=test-instance --data=SingerId=1,SingerName='Catalina Smith'

Déplacer une ligne dans un tableau des emplacements

  1. Créez une partition et un emplacement si ce n'est pas déjà fait.
  2. Dans le menu de navigation, cliquez sur Spanner Studio.
  3. Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.
  4. Utilisez le langage de manipulation de données ou les mutations pour déplacer les données vers la nouvelle partition.

    Par exemple, déplacez singerid=1 de la table Singers vers asiaplacement:

    UPDATE Singers s
    SET s.location='asiaplacement'
    WHERE s.id=1;
    

Après avoir créé la partition et l'emplacement où vous souhaitez déplacer vos données, utilisez gcloud spanner rows update.

Par exemple, déplacez singerid=1 de la table Singers vers asiaplacement:

gcloud spanner rows update --table=Singers --database=example-db \
  --instance=test-instance --data=SingerId=1,Location='asiaplacement'

Supprimer une ligne dans un tableau des emplacements

  1. Dans le menu de navigation, cliquez sur Spanner Studio.
  2. Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.
  3. Utilisez le langage LMD ou des mutations pour supprimer des données.

    Par exemple, supprimez singerid=1 dans la table Singers:

    DELETE FROM Singers s
    WHERE s.id=1;
    

Pour supprimer des données, utilisez gcloud spanner rows delete.

Par exemple, supprimez singerid=1 dans la table Singers:

gcloud spanner rows delete --table=Singers --database=example-db \
  --instance=test-instance --keys=1

Interroger les données d'une table d'emplacements

  1. Dans le menu de navigation, cliquez sur Spanner Studio.
  2. Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez l'onglet d'éditeur vide.
  3. Exécutez votre requête.

    Par exemple, interrogez la table Singers:

    SELECT * FROM Singers s WHERE s.SingerId=1;
    

Pour interroger les données, utilisez gcloud spanner databases execute-sql.

Par exemple, interrogez la table Singers:

gcloud spanner databases execute-sql example-db \
  --sql='SELECT * FROM Singers s WHERE s.SingerId=1'

Étape suivante