Questa pagina descrive come creare e gestire i posizionamenti dei dati in Spanner.
Per ulteriori informazioni sul funzionamento del partizionamento geografico, consulta la Panoramica del partizionamento geografico.
Creare un posizionamento dei dati
Dopo aver creato le partizioni Spanner e i database, crea il posizionamento.
Console
Vai alla pagina Istanze nella console Google Cloud.
Seleziona l'istanza con le partizioni create dall'utente.
Seleziona il database di cui vuoi partizionare i dati.
Nel menu di navigazione, fai clic su Spanner Studio.
Nella pagina Spanner Studio, fai clic su
Nuova scheda o utilizza la scheda editor vuota.Inserisci l'istruzione
CREATE PLACEMENT
(GoogleSQL, PostgreSQL) DDL.Ad esempio, puoi eseguire il seguente comando per creare una tabella di posizionamento
europeplacement
nella partizioneeurope-partition
:GoogleSQL
CREATE PLACEMENT `europeplacement` OPTIONS (instance_partition="europe-partition");
PostgreSQL
CREATE PLACEMENT europeplacement WITH (instance_partition='europe-partition');
(Facoltativo) Puoi anche utilizzare il riquadro Esplorazione oggetti per visualizzare, cercare e interagire con gli oggetti Placement. Per ulteriori informazioni, consulta Esplorare i dati.
Fai clic su Esegui.
gcloud
Per creare un posizionamento con il comando gcloud CLI, utilizza
gcloud spanner databases ddl update
.
Ad esempio, crea un posizionamento nella partizione europe-partition
:
GoogleSQL
gcloud spanner databases ddl update example-db \
--instance=test-instance \
--ddl="CREATE PLACEMENT europeplacement OPTIONS (instance_partition='europe-partition')"
PostgreSQL
gcloud spanner databases ddl update example-db \
--instance=test-instance \
--ddl="CREATE PLACEMENT europeplacement WITH (instance_partition='europe-partition')"
Eliminare un posizionamento dei dati
Non puoi eliminare un posizionamento. Per eliminare il posizionamento e i relativi dati associati, devi eliminare il database. Per ulteriori informazioni, consulta la sezione Eliminare un database.
Crea una tabella con una chiave di posizionamento
Console
- Nel menu di navigazione, fai clic su Spanner Studio.
- Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda editor vuota.
Inserisci l'istruzione DDL
CREATE TABLE
(GoogleSQL, PostgreSQL).Ad esempio, puoi creare una tabella
Singers
che utilizzi una chiave di posizionamento per partizionare i dati dei cantanti:GoogleSQL
CREATE TABLE Singers ( SingerId INT64 NOT NULL, SingerName STRING(MAX) NOT NULL, ... Location STRING(MAX) NOT NULL PLACEMENT KEY ) PRIMARY KEY (SingerId);
PostgreSQL
CREATE TABLE Singers ( SingerId bigint PRIMARY KEY, SingerName varchar(1024), ... Location varchar(1024) NOT NULL PLACEMENT KEY );
gcloud
Per creare una tabella, utilizza
gcloud spanner databases ddl update
.
Ad esempio, puoi creare una tabella Singers
che utilizzi
una chiave di posizionamento per partizionare i dati dei cantanti:
GoogleSQL
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);"
PostgreSQL
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 );"
Modificare una tabella con una chiave di posizionamento
Non puoi eliminare una chiave di posizionamento da una tabella. Inoltre, non puoi aggiungere una chiave di posizionamento
a una tabella dopo che è stata creata. Tuttavia, puoi utilizzare l'istruzione DDL ALTER TABLE
(GoogleSQL,
PostgreSQL) per modificare altri campi della tabella, ad esempio aggiungendo e rimuovendo colonne chiave non di posizionamento.
Eliminare una tabella con una chiave di posizionamento
Prima di eliminare una tabella con una chiave di posizionamento, devi prima:
- Elimina tutte le righe della tabella dei posizionamenti.
- Attendi che il valore
version_retention_period
per il database sia superato. Per ulteriori informazioni, consulta Recupero point-in-time. Poi segui questi passaggi:
Console
- Nel menu di navigazione, fai clic su Spanner Studio.
- Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda editor vuota.
Inserisci l'istruzione DDL
DROP TABLE
(GoogleSQL, PostgreSQL).Ad esempio, inserisci la tabella
Singers
:DROP TABLE Singers;
gcloud
Per inserire una tabella, utilizza
gcloud spanner databases ddl update
.
Ad esempio, inserisci la tabella Singers
:
gcloud spanner databases ddl update example-db \
--instance=test-instance \
--ddl="DROP TABLE Singers"
Inserire una riga in una tabella di posizionamento
Console
- Nel menu di navigazione, fai clic su Spanner Studio.
- Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda editor vuota.
Inserisci l'istruzione DDL
INSERT INTO
(GoogleSQL, PostgreSQL).Ad esempio, aggiungi un cantante, Marc Richards, alla tabella
Singers
e suddividila ineuropeplacement
:INSERT INTO Singers(SingerId, SingerName, Location) VALUES (1, 'Marc Richards', 'europeplacement')
gcloud
Per scrivere dati in una tabella, utilizza
gcloud spanner rows insert
.
Ad esempio, aggiungi un cantante, Marc Richards, alla tabella Singers
e
suddividila in europeplacement
:
gcloud spanner rows insert --table=Singers --database=example-db \
--instance=test-instance --data=SingerId=1,SingerName='Marc Richards',Location='europeplacement'
Aggiornare una riga in una tabella di posizionamento
Console
- Nel menu di navigazione, fai clic su Spanner Studio.
- Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda editor vuota.
Utilizza DML o mutazioni per aggiornare i dati in una tabella dei posizionamenti.
Ad esempio, aggiorna il nome di
singerid=1
nella tabellaSingers
inCatalina Smith
:UPDATE Singers s SET s.name='Catalina Smith' WHERE s.id=1;
gcloud
Per aggiornare i dati in una tabella dei posizionamenti,
utilizza gcloud spanner rows update
.
Ad esempio, aggiorna il nome di singerid=1
nella tabella Singers
in Catalina Smith
:
gcloud spanner rows update --table=Singers --database=example-db \
--instance=test-instance --data=SingerId=1,SingerName='Catalina Smith'
Spostare una riga in una tabella di posizionamento
Console
- Se non l'hai ancora fatto, crea una nuova partizione e un nuovo posizionamento.
- Nel menu di navigazione, fai clic su Spanner Studio.
- Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda editor vuota.
Utilizza DML o mutazioni per spostare i dati nella nuova partizione.
Ad esempio, sposta
singerid=1
nella tabellaSingers
inasiaplacement
:UPDATE Singers s SET s.location='asiaplacement' WHERE s.id=1;
gcloud
Dopo aver creato la partizione e il posizionamento in cui vuoi spostare i dati,
utilizza gcloud spanner rows update
.
Ad esempio, sposta singerid=1
nella tabella Singers
in asiaplacement
:
gcloud spanner rows update --table=Singers --database=example-db \
--instance=test-instance --data=SingerId=1,Location='asiaplacement'
Eliminare una riga in una tabella dei posizionamenti
Console
gcloud
Per eliminare i dati, utilizza gcloud spanner rows delete
.
Ad esempio, elimina singerid=1
nella tabella Singers
:
gcloud spanner rows delete --table=Singers --database=example-db \
--instance=test-instance --keys=1
Esegui query sui dati in una tabella dei posizionamenti
Console
- Nel menu di navigazione, fai clic su Spanner Studio.
- Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda editor vuota.
Esegui la query.
Ad esempio, esegui una query sulla tabella
Singers
:SELECT * FROM Singers s WHERE s.SingerId=1;
gcloud
Per eseguire query sui dati, utilizza gcloud spanner databases execute-sql
.
Ad esempio, esegui una query sulla tabella Singers
:
gcloud spanner databases execute-sql example-db \
--sql='SELECT * FROM Singers s WHERE s.SingerId=1'
Passaggi successivi
Scopri di più sul partizionamento geografico.
Scopri come creare e gestire le partizioni.