Questa pagina descrive come creare e gestire i posizionamenti di dati in Spanner.
Per ulteriori informazioni sul funzionamento del partizionamento geografico, consulta la panoramica sul partizionamento geografico.
Creare un posizionamento 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 dell'editor vuota.Inserisci l'istruzione DDL
CREATE PLACEMENT
.Ad esempio, puoi eseguire questo comando per creare una tabella dei posizionamenti
europeplacement
nella partizioneeurope-partition
:CREATE PLACEMENT `europeplacement` OPTIONS(instance_partitions="europe-partition");
(Facoltativo) Puoi anche utilizzare il riquadro Esplorazione oggetti per visualizzare, eseguire ricerche e interagire con gli oggetti dei posizionamenti. Per maggiori informazioni, vedi 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
:
gcloud spanner databases ddl update example-db \
--instance=test-instance \
--ddl="CREATE PLACEMENT europeplacement OPTIONS (instance_partition='europe-partition')"
Eliminare un posizionamento dati
Non puoi eliminare un posizionamento. Per eliminare il posizionamento e i dati associati, devi eliminare il database. Per maggiori informazioni, consulta Eliminare un database.
Creare 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 dell'editor vuota.
Inserisci l'istruzione DDL
CREATE TABLE
.Ad esempio, puoi creare una tabella
Singers
che utilizza una chiave di posizionamento per partizionare i dati del cantante:CREATE TABLE Singers ( SingerId INT64 NOT NULL, Name STRING(MAX) NOT NULL, ... Location STRING(MAX) NOT NULL PLACEMENT KEY ) PRIMARY KEY (SingerId);
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:
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)"
Modificare una tabella con una chiave di posizionamento
Non puoi rilasciare una chiave di posizionamento da una tabella. Non puoi aggiungere una chiave di posizionamento
a una tabella dopo averla creata. Tuttavia, puoi utilizzare l'istruzione DDL ALTER TABLE
per modificare altri campi della tabella, ad esempio aggiungendo e eliminando colonne di chiavi 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 nella tabella dei posizionamenti.
- Attendi il superamento di
version_retention_period
il database. Per ulteriori informazioni, vedi 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 scheda dell'editor vuota.
Inserisci l'istruzione DDL
DROP TABLE
.Ad esempio, trascina 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 scheda dell'editor vuota.
Inserisci l'istruzione DDL
INSERT INTO
.Ad esempio, aggiungi un cantante, Marc Richards, alla tabella
Singers
e partizionala ineuropeplacement
:INSERT INTO Singers(SingerId, Name, 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
partizionala 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 dell'editor vuota.
Utilizza DML o mutazioni per aggiornare i dati in una tabella di posizionamento.
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 dell'editor vuota.
Utilizza DML o le 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 dell'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 geo-partitioning.
Scopri come creare e gestire le partizioni.