Creare e gestire i posizionamenti dei dati

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

  1. Vai alla pagina Istanze nella console Google Cloud.

    Istanze

  2. Seleziona l'istanza con le partizioni create dall'utente.

  3. Seleziona il database di cui eseguire il partizionamento dei dati.

  4. Nel menu di navigazione, fai clic su Spanner Studio.

  5. Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda editor vuota.

  6. Inserisci l'istruzione CREATE PLACEMENT (GoogleSQL, PostgreSQL) DDL.

    Ad esempio, puoi eseguire il seguente comando per creare una tabella di posizionamentoeuropeplacement nella partizione europe-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.

  7. 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

  1. Nel menu di navigazione, fai clic su Spanner Studio.
  2. Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda editor vuota.
  3. 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:

  1. Elimina tutte le righe della tabella dei posizionamenti.
  2. 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

  1. Nel menu di navigazione, fai clic su Spanner Studio.
  2. Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la finestra dell'editor.
  3. 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

  1. Nel menu di navigazione, fai clic su Spanner Studio.
  2. Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la barra dell'editor.
  3. Inserisci il valore INSERT INTO (GoogleSQL, PostgreSQL).

    Ad esempio, aggiungi un cantante, Marc Richards, alla tabella Singers e suddividila in europeplacement:

    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

  1. Nel menu di navigazione, fai clic su Spanner Studio.
  2. Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda editor vuota.
  3. Utilizza DML o mutazioni per aggiornare i dati in una tabella dei posizionamenti.

    Ad esempio, aggiorna il nome di singerid=1 nella tabella Singers in Catalina 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

  1. Se non l'hai ancora fatto, crea una nuova partizione e un nuovo posizionamento.
  2. Nel menu di navigazione, fai clic su Spanner Studio.
  3. Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda editor vuota.
  4. Utilizza DML o mutazioni per spostare i dati nella nuova partizione.

    Ad esempio, sposta singerid=1 nella tabella Singers in asiaplacement:

    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

  1. Nel menu di navigazione, fai clic su Spanner Studio.
  2. Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda editor vuota.
  3. Utilizza DML o mutazioni per eliminare i dati.

    Ad esempio, elimina singerid=1 nella tabella Singers:

    DELETE FROM Singers s
    WHERE s.id=1;
    

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

  1. Nel menu di navigazione, fai clic su Spanner Studio.
  2. Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda editor vuota.
  3. 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