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 eseguire il partizionamento dei 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 Esplora oggetti per visualizzare, cercare e interagire con i tuoi oggetti di posizionamento. 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 dati
Non puoi eliminare un posizionamento. Devi eliminare il database per eliminare al posizionamento e ai dati associati. 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 utilizza
una chiave di posizionamento per partizionare i dati del cantante:
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 un codice di posizionamento
a una tabella dopo che è stata creata. Tuttavia, puoi utilizzare
ALTER TABLE
(GoogleSQL,
PostgreSQL) per modificare altri campi in
della tabella, ad esempio aggiungendo e eliminando colonne chiave non di posizionamento.
Eliminare una tabella con una chiave di posizionamento
Prima di eliminare una tabella con una chiave di posizionamento, devi:
- 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. Quindi, 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 finestra dell'editor.
Inserisci il valore
DROP TABLE
(GoogleSQL, PostgreSQL).Ad esempio, inserisci la tabella
Singers
:DROP TABLE Singers;
gcloud
Per rilasciare una tabella, utilizza
gcloud spanner databases ddl update
Ad esempio, trascina la tabella Singers
:
gcloud spanner databases ddl update example-db \
--instance=test-instance \
--ddl="DROP TABLE Singers"
Inserire una riga in una tabella del posizionamento
Console
- Nel menu di navigazione, fai clic su Spanner Studio.
- Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la barra dell'editor.
Inserisci il valore
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 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.
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 dei posizionamenti
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
Eseguire query sui dati in una tabella di 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.