Ce guide de démarrage rapide explique comment effectuer des opérations de base dans Cloud Spanner à l'aide de la console Google Cloud. Vous allez :
- créer une instance Spanner ;
- Créer une base de données
- créer un schéma ;
- Insérer et modifier des données
- exécuter une requête.
Pour en savoir plus sur le coût d'utilisation de Spanner, consultez la page Tarifs.
Avant de commencer
- Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
-
Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud.
-
Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud.
- Facultatif: l'API Spanner doit être activée automatiquement. Si ce n'est pas le cas, activez-la manuellement: Activer l'API Spanner
Créer une instance
Lorsque vous utilisez Spanner pour la première fois, vous devez créer une instance. Ce service alloue les ressources utilisées par les bases de données Spanner dans cette instance.
Dans la console Google Cloud, accédez à la page Cloud Spanner.
Sélectionnez ou créez un projet Google Cloud, si ce n'est pas déjà fait.
Sur la page Cloud Spanner, cliquez sur Créer une instance provisionnée.
Si vous avez déjà utilisé Spanner, la page Instances de Spanner s'affiche au lieu de la page du produit. Cliquez sur Créer une instance.
Pour le nom de l'instance, saisissez un nom tel que Test Instance.
L'ID de l'instance est automatiquement saisi en fonction du nom de l'instance (test-instance, par exemple). Modifiez-le si nécessaire.
Dans Choisir votre configuration, conservez l'option par défaut Régionale, puis sélectionnez une configuration dans le menu déroulant.
La configuration que vous choisissez détermine l'emplacement géographique où vos instances seront stockées et dupliquées.
Dans Allouer de la capacité de calcul, conservez la valeur par défaut de 1 000 unités de traitement.
La page de création d'instance se présente maintenant comme suit:
Cliquez sur Créer.
L'instance apparaît dans la liste des instances.
Créer une base de données
Dans la console Google Cloud, accédez à la page Instances Spanner.
Cliquez sur l'instance que vous avez créée, par exemple Test Instance.
Sur la page "Présentation de l'instance" qui s'affiche, cliquez sur Créer une base de données.
Saisissez un nom pour le nom de la base de données, tel que example-db.
Sélectionnez un dialecte de base de données.
Pour plus d'informations sur la compatibilité de PostgreSQL et sur le choix d'un dialecte, consultez la page Interface PostgreSQL. Si vous avez sélectionné GoogleSQL, vous allez définir le schéma dans le champ de texte Définir votre schéma de la section suivante de ce guide de démarrage rapide.
Voici à quoi ressemble la page de création de votre instance :
Cliquez sur Créer.
La console Google Cloud affiche la page Présentation de la base de données que vous avez créée.
Créer un schéma pour votre base de données
Dans la section "Tables" de la page Présentation de la base de données, cliquez sur Créer une table.
Sur la page Écrire des instructions LDD, saisissez:
GoogleSQL
CREATE TABLE Singers ( SingerId INT64 NOT NULL, FirstName STRING(1024), LastName STRING(1024), SingerInfo BYTES(MAX), BirthDate DATE ) PRIMARY KEY(SingerId);
PostgreSQL
CREATE TABLE Singers ( SingerId BIGINT PRIMARY KEY, FirstName VARCHAR(1024), LastName VARCHAR(1024), SingerInfo BYTEA, BirthDate TIMESTAMPTZ );
Cliquez sur Submit (Envoyer).
La console Google Cloud retourne à la page Présentation de la base de données et indique que des mises à jour des schémas sont en cours. Une fois la mise à jour terminée, la page se présente comme suit :
GoogleSQL
PostgreSQL
Notez que PostgreSQL convertit le nom de la table en minuscules.
Insérer et modifier des données
La console Google Cloud fournit une interface permettant d'insérer, de modifier et de supprimer des données.
Insérer des données
Dans la liste des tables de la page Présentation de la base de données, cliquez sur la table "Chanteurs".
La console Google Cloud affiche la page Schéma de la table "Chanteurs".
Dans le menu de navigation, cliquez sur Données pour afficher la page Données de la table "Chanteurs".
Cliquez sur Insert.
La console Google Cloud affiche la page Spanner Studio de la table "Chanteurs" avec un nouvel onglet de requête contenant les instructions
INSERT
etSELECT
que vous modifiez pour insérer une ligne dans la table "Chanteurs" et afficher le résultat de cette insertion:GoogleSQL
-- Add new values in the VALUES clause in order of the column list. -- Each value must be type compatible with its associated column. INSERT INTO Singers (SingerId, BirthDate, FirstName, LastName, SingerInfo) VALUES (<SingerId>, -- type: INT64 <BirthDate>, -- type: DATE <FirstName>, -- type: STRING(1024) <LastName>, -- type: STRING(1024) <SingerInfo> -- type: BYTES(MAX) ); -- Change values in the WHERE condition to match the inserted row. SELECT * FROM Singers WHERE SingerId=<SingerId>;
PostgreSQL
-- Add new values in the VALUES clause in order of the column list. -- Each value must be type compatible with its associated column. INSERT INTO singers (singerid, birthdate, firstname, lastname, singerinfo) VALUES (<singerid>, -- type: bigint <birthdate>, -- type: timestamp with time zone <firstname>, -- type: character varying <lastname>, -- type: character varying <singerinfo> -- type: bytea ); -- Change values in the WHERE condition to match the inserted row. SELECT * FROM singers WHERE singerid=<singerid>;
Notez que PostgreSQL convertit les noms de colonnes en minuscules.
Modifiez la clause
VALUES
de l'instructionINSERT
et la clauseWHERE
de l'instructionSELECT
:GoogleSQL
-- Add new values in the VALUES clause in order of the column list. -- Each value must be type compatible with its associated column. INSERT INTO Singers (SingerId, BirthDate, FirstName, LastName, SingerInfo) VALUES (1, -- type: INT64 NULL, -- type: DATE 'Marc', -- type: STRING(1024) 'Richards', -- type: STRING(1024) NULL -- type: BYTES(MAX) ); -- Change values in the WHERE condition to match the inserted row. SELECT * FROM Singers WHERE SingerId=1;
PostgreSQL
-- Add new values in the VALUES clause in order of the column list. -- Each value must be type compatible with its associated column. INSERT INTO singers (singerid, birthdate, firstname, lastname, singerinfo) VALUES (1, -- type: bigint NULL, -- type: timestamp with time zone 'Marc', -- type: character varying 'Richards', -- type: character varying NULL -- type: bytea ); -- Change values in the WHERE condition to match the inserted row. SELECT * FROM singers WHERE singerid=1;
Cliquez sur Exécuter.
Spanner exécute les instructions. Lorsque vous avez terminé, l'onglet Résultats indique que la première instruction a inséré une ligne et fournit un lien pour afficher les données de la table.
Dans l'onglet Résultats, cliquez sur le lien table. Le tableau "Chanteurs" contient maintenant une ligne:
GoogleSQL
PostgreSQL
Cliquez sur Insérer pour ajouter une ligne.
La console Google Cloud affiche à nouveau la page Spanner Studio de la table "Chanteurs" avec un nouvel onglet de requête contenant les mêmes instructions
INSERT
etSELECT
.Modifiez la clause
VALUES
de l'instructionINSERT
et la clauseWHERE
de l'instructionSELECT
:GoogleSQL
-- Add new values in the VALUES clause in order of the column list. -- Each value must be type compatible with its associated column. INSERT INTO Singers (SingerId, BirthDate, FirstName, LastName, SingerInfo) VALUES (2, -- type: INT64 NULL, -- type: DATE 'Catalina', -- type: STRING(1024) 'Smith', -- type: STRING(1024) NULL -- type: BYTES(MAX) ); -- Change values in the WHERE condition to match the inserted row. SELECT * FROM Singers WHERE SingerId=2;
PostgreSQL
-- Add new values in the VALUES clause in order of the column list. -- Each value must be type compatible with its associated column. INSERT INTO singers (singerid, birthdate, firstname, lastname, singerinfo) VALUES (2, -- type: bigint NULL, -- type: timestamp with time zone 'Catalina', -- type: character varying 'Smith', -- type: character varying NULL -- type: bytea ); -- Change values in the WHERE condition to match the inserted row. SELECT * FROM singers WHERE singerid=2;
Cliquez sur Exécuter.
Une fois que Spanner a exécuté les instructions, l'onglet Results (Résultats) indique à nouveau que la première instruction a inséré une ligne.
Cliquez sur le lien de table. Le tableau "Chanteurs" contient maintenant deux lignes:
GoogleSQL
PostgreSQL
Vous pouvez également insérer des valeurs de chaîne vide lorsque vous saisissez des données.
Cliquez sur Insérer pour ajouter une ligne.
Spanner affiche à nouveau la page Spanner Studio de la table "Chanteurs" avec un nouvel onglet de requête contenant les mêmes instructions
INSERT
etSELECT
.Modifiez la clause
VALUES
de l'instructionINSERT
du modèle et la clauseWHERE
de l'instructionSELECT
:GoogleSQL
-- Add new values in the VALUES clause in order of the column list. -- Each value must be type compatible with its associated column. INSERT INTO Singers (SingerId, BirthDate, FirstName, LastName, SingerInfo) VALUES (3, -- type: INT64 NULL, -- type: DATE 'Kena', -- type: STRING(1024) '', -- type: STRING(1024) NULL -- type: BYTES(MAX) ); -- Change values in the WHERE condition to match the inserted row. SELECT * FROM Singers WHERE SingerId=3;
PostgreSQL
-- Add new values in the VALUES clause in order of the column list. -- Each value must be type compatible with its associated column. INSERT INTO singers (singerid, birthdate, firstname, lastname, singerinfo) VALUES (3, -- type: bigint NULL, -- type: timestamp with time zone 'Kena', -- type: character varying '', -- type: character varying NULL -- type: bytea ); -- Change values in the WHERE condition to match the inserted row. SELECT * FROM singers WHERE singerid=3;
Notez que la valeur fournie pour la colonne du nom de famille est une chaîne vide,
''
, et non une valeurNULL
.Cliquez sur Exécuter.
Une fois que Spanner a exécuté les instructions, l'onglet Results (Résultats) indique que la première instruction a inséré une ligne.
Cliquez sur le lien de table. La table
Singers
comporte désormais trois lignes, et celle avec la valeur de clé primaire3
comporte une chaîne vide dans la colonneLastName
:GoogleSQL
PostgreSQL
Modifier les données
Sur la page Données de la table "Chanteurs", cochez la case sur la ligne contenant la valeur de clé primaire
3
, puis cliquez sur Modifier.Spanner affiche la page Spanner Studio avec un nouvel onglet contenant les instructions de modèle
UPDATE
etSELECT
que vous pouvez modifier. Notez que les clausesWHERE
des deux instructions indiquent que la ligne à mettre à jour est celle qui possède la valeur de clé primaire3
.GoogleSQL
-- Change values in the SET clause to update the row where the WHERE condition is true. UPDATE Singers SET BirthDate='', FirstName='Kena', LastName='', SingerInfo='' WHERE SingerId=3; SELECT * FROM Singers WHERE SingerId=3;
PostgreSQL
-- Change values in the SET clause to update the row where the WHERE condition is true. UPDATE singers SET birthdate=NULL, firstname='Kena', lastname='', singerinfo=NULL WHERE singerid='3'; SELECT * FROM singers WHERE singerid='3';
Modifiez la clause
SET
de l'instructionUPDATE
pour ne mettre à jour que la date de naissance :GoogleSQL
-- Change values in the SET clause to update the row where the WHERE condition is true. UPDATE Singers SET BirthDate='1961-04-01' WHERE SingerId=3; SELECT * FROM Singers WHERE SingerId=3;
PostgreSQL
-- Change values in the SET clause to update the row where the WHERE condition is true. UPDATE singers SET birthdate='1961-04-01 00:00:00 -8:00' WHERE singerid='3'; SELECT * FROM singers WHERE singerid='3';
Cliquez sur Exécuter.
Spanner exécute les instructions. Lorsque vous avez terminé, l'onglet Résultats indique que la première instruction a mis à jour une ligne et fournit un lien pour afficher les données de la table.
Dans l'onglet Résultats, cliquez sur le lien table.
La ligne mise à jour comporte maintenant une valeur pour la date de naissance.
GoogleSQL
PostgreSQL
Supprimer des données
- Sur la page Données de la table "Chanteurs", cochez la case sur la ligne contenant
2
dans la première colonne, puis cliquez sur Supprimer. Dans la boîte de dialogue qui s'affiche, cliquez sur Confirmer.
Le tableau "Chanteurs" contient maintenant deux lignes:
GoogleSQL
PostgreSQL
Exécuter une requête
Sur la page Présentation de la base de données, cliquez sur Spanner Studio dans le menu de navigation.
Cliquez sur Nouvel onglet pour créer un onglet de requête. Saisissez ensuite la requête suivante dans l'éditeur de requête:
GoogleSQL
SELECT * FROM Singers;
PostgreSQL
SELECT * FROM singers;
Cliquez sur Exécuter.
Spanner exécute la requête. Lorsque vous avez terminé, l'onglet Résultats affiche le résultat de votre requête :
GoogleSQL
PostgreSQL
Félicitations ! Vous avez créé une base de données Spanner et exécuté une instruction SQL à l'aide de l'éditeur de requête.
Effectuer un nettoyage
Pour éviter des frais supplémentaires sur votre compte de facturation Cloud, supprimez la base de données et l'instance que vous avez créées. La suppression d'une instance entraîne automatiquement la suppression de toutes les bases de données créées dans celle-ci.
Supprimer la base de données
Dans la console Google Cloud, accédez à la page Instances Spanner.
Cliquez sur le nom de l'instance contenant la base de données que vous souhaitez supprimer, par exemple Test Instance.
Cliquez sur le nom de la base de données que vous souhaitez supprimer (par exemple, example-db).
Sur la page Détails de la base de données, cliquez sur delete Supprimer la base de données.
Confirmez la suppression de la base de données en saisissant son nom et en cliquant sur Supprimer.
Supprimer l'instance
Dans la console Google Cloud, accédez à la page Instances Spanner.
Cliquez sur le nom de l'instance que vous souhaitez supprimer, par exemple Test Instance.
Cliquez sur delete Supprimer l'instance.
Confirmez la suppression de l'instance en saisissant son nom et en cliquant sur Supprimer.
Étapes suivantes
- Découvrez davantage d'informations sur les instances.
- Familiarisez-vous avec le schéma et le modèle de données Spanner.
- En savoir plus sur le langage de définition de données (LDD) GoogleSQL
- Découvrez-en plus sur les plans d'exécution de requêtes.
- Découvrez comment utiliser Spanner avec C++, C#, Go, Java, Node.js, PHP, Python, Ruby, REST ou gcloud.