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 Présentation du partitionnement géographique
Créer un emplacement de données
Après avoir créé vos partitions Spanner et bases de données, créez votre emplacement.
Console
Accédez à la page Instances dans la console Google Cloud.
Sélectionnez l'instance comportant une ou plusieurs partitions créées par l'utilisateur.
Sélectionnez la base de données dont vous souhaitez partitionner les données.
Dans le menu de navigation, cliquez sur Spanner Studio.
Sur la page Spanner Studio, cliquez sur
Nouvel onglet ou utilisez le champ vide de l'éditeur.Saisissez l'instruction LDD
CREATE PLACEMENT
.Par exemple, vous pouvez exécuter la commande suivante pour créer une table d'emplacements.
europeplacement
dans la partitioneurope-partition
:CREATE PLACEMENT `europeplacement` OPTIONS(instance_partitions="europe-partition");
Facultatif: Vous pouvez également utiliser le volet Explorateur d'objets pour afficher, rechercher et interagir avec vos objets Placement. Pour en savoir plus, consultez Explorez vos données.
Cliquez sur Exécuter.
gcloud
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')"
Supprimer un emplacement de données
Vous ne pouvez pas supprimer un emplacement. Vous devez supprimer la base de données pour supprimer le et les données associées. Pour en savoir plus, consultez Supprimer une base de données
Créer une table avec une clé d'emplacement
Console
- Dans le menu de navigation, cliquez sur Spanner Studio.
- Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez le champ vide de l'éditeur.
Saisissez l'instruction LDD
CREATE TABLE
.Par exemple, vous pouvez créer une table
Singers
qui utilise Une clé d'emplacement pour partitionner les données des chanteurs:CREATE TABLE Singers ( SingerId INT64 NOT NULL, Name STRING(MAX) NOT NULL, ... Location STRING(MAX) NOT NULL PLACEMENT KEY ) PRIMARY KEY (SingerId);
gcloud
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 des 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)"
Modifier une table avec une clé d'emplacement
Vous ne pouvez pas supprimer une clé d'emplacement d'un tableau. Vous ne pouvez pas non plus ajouter de clé d'emplacement
à une table après sa création. Vous pouvez toutefois utiliser
ALTER TABLE
Une instruction LDD pour modifier d'autres champs du
table, par exemple, en ajoutant et en supprimant des colonnes de clés autres que des emplacements.
Supprimer une table avec une clé d'emplacement
Avant de supprimer une table avec une clé d'emplacement, vous devez d'abord:
- Supprimez toutes les lignes du tableau des emplacements.
- Attendez que le
version_retention_period
à transmettre. Pour en savoir plus, consultez la section Récupération à un moment précis. Ensuite, procédez comme suit:
Console
- Dans le menu de navigation, cliquez sur Spanner Studio.
- Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez le champ vide de l'éditeur.
Saisissez l'instruction LDD
DROP TABLE
.Par exemple, supprimez la table
Singers
:DROP TABLE Singers;
gcloud
Pour supprimer 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 d'emplacements
Console
- Dans le menu de navigation, cliquez sur Spanner Studio.
- Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez le champ vide de l'éditeur.
Saisissez l'instruction LDD
INSERT INTO
.Par exemple, ajoutez le chanteur Marc Richards à la table
Singers
, puis partitionnez-les danseuropeplacement
:INSERT INTO Singers(SingerId, Name, Location) VALUES (1, 'Marc Richards', 'europeplacement')
gcloud
Pour écrire des données dans une table, utilisez
gcloud spanner rows insert
.
Par exemple, ajoutez le chanteur Marc Richards à la table Singers
, puis
partitionnez-les 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 d'emplacements
Console
- Dans le menu de navigation, cliquez sur Spanner Studio.
- Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez le champ vide de l'éditeur.
Utilisez le DML ou les mutations pour mettre à jour les données d'une tableau d'emplacements.
Par exemple, remplacez le nom de
singerid=1
dans la tableSingers
parCatalina Smith
:UPDATE Singers s SET s.name='Catalina Smith' WHERE s.id=1;
gcloud
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 d'emplacements
Console
- Créez une partition et un emplacement si ce n'est pas déjà fait.
- Dans le menu de navigation, cliquez sur Spanner Studio.
- Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez le champ vide de l'éditeur.
Utilisez le DML ou les mutations pour déplacer des données vers nouvelle partition.
Par exemple, déplacez
singerid=1
de la tableSingers
versasiaplacement
:UPDATE Singers s SET s.location='asiaplacement' WHERE s.id=1;
gcloud
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 d'un tableau d'emplacements
Console
- Dans le menu de navigation, cliquez sur Spanner Studio.
- Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez le champ vide de l'éditeur.
Utilisez le DML ou des mutations pour supprimer des données.
Par exemple, supprimez
singerid=1
dans la tableSingers
:DELETE FROM Singers s WHERE s.id=1;
gcloud
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 dans une table d'emplacements
Console
- Dans le menu de navigation, cliquez sur Spanner Studio.
- Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez le champ vide de l'éditeur.
Exécutez votre requête.
Par exemple, interrogez la table
Singers
:SELECT * FROM Singers s WHERE s.SingerId=1;
gcloud
Pour interroger des 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
En savoir plus sur le géopartitionnement
Découvrez comment créer et gérer des partitions.