Daten-Placements erstellen und verwalten

Auf dieser Seite wird beschrieben, wie Sie Datenspeicherorte in Spanner erstellen und verwalten.

Weitere Informationen zur Funktionsweise der Geopartitionierung finden Sie in den Geo-Partitionierung – Übersicht

Daten-Placement erstellen

Nachdem Sie Spanner-Partitionen und Datenbanken erstellt haben, erstellen Sie das Placement.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Instanzen auf.

    Instanzen

  2. Wählen Sie die Instanz mit den vom Nutzer erstellten Partitionen aus.

  3. Wählen Sie die Datenbank aus, für die Sie Daten partitionieren möchten.

  4. Klicken Sie im Navigationsmenü auf Spanner Studio.

  5. Klicken Sie auf der Seite Spanner Studio auf Neuer Tab oder leeres Feld Editor-Tab.

  6. CREATE PLACEMENT eingeben (GoogleSQL, PostgreSQL) DDL-Anweisung.

    So können Sie beispielsweise eine Placement-Tabelle europeplacement in der Partition europe-partition erstellen:

    GoogleSQL

    CREATE PLACEMENT `europeplacement` OPTIONS (instance_partition="europe-partition");
    

    PostgreSQL

    CREATE PLACEMENT europeplacement WITH (instance_partition='europe-partition');
    

    Optional: Im Bereich Objekt-Explorer können Sie Daten und mit Ihren Placement-Objekten interagieren. Weitere Informationen finden Sie unter Daten auswerten

  7. Klicken Sie auf Ausführen.

gcloud

Verwenden Sie den Befehl gcloud spanner databases ddl update, um eine Placement-Gruppe mit der gcloud CLI zu erstellen.

So erstellen Sie beispielsweise ein Placement in der Partition 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')"

Daten-Placement löschen

Sie können ein Placement nicht löschen. Sie müssen die Datenbank löschen, um das Placement und die zugehörigen Daten zu löschen. Weitere Informationen finden Sie unter Datenbank löschen.

Tabelle mit einem Placement-Schlüssel erstellen

Console

  1. Klicken Sie im Navigationsmenü auf Spanner Studio.
  2. Klicken Sie auf der Seite Spanner Studio auf  Neuer Tab oder verwenden Sie den leeren Editortab.
  3. Geben Sie den CREATE TABLE (GoogleSQL, PostgreSQL).

    Sie können beispielsweise eine Singers-Tabelle erstellen, die Platzierungsschlüssel zum Partitionieren von Sängerdaten:

    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

Verwenden Sie gcloud spanner databases ddl update, um eine Tabelle zu erstellen.

Du kannst beispielsweise eine Singers-Tabelle erstellen, in der Sängerdaten mithilfe eines Placement-Schlüssels partitioniert werden:

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 );"

Tabelle mit einem Placement-Schlüssel bearbeiten

Ein Placement-Schlüssel kann nicht aus einer Tabelle gelöscht werden. Außerdem können Sie einer Tabelle nach dem Erstellen keinen Placement-Schlüssel hinzufügen. Sie können jedoch das ALTER TABLE (GoogleSQL, PostgreSQL) DDL-Anweisung, um andere Felder in indem Sie Spalten für Schlüssel, die keine Placements sind, hinzufügen und löschen.

Tabelle mit einem Placement-Schlüssel löschen

Bevor Sie eine Tabelle mit einem Placement-Schlüssel löschen, müssen Sie Folgendes tun:

  1. Löschen Sie alle Zeilen in der Placement-Tabelle.
  2. Warten Sie, bis der version_retention_period für die Datenbank bestanden ist. Weitere Informationen finden Sie unter Wiederherstellung zu einem bestimmten Zeitpunkt. Führen Sie dann die folgenden Schritte aus:

Console

  1. Klicken Sie im Navigationsmenü auf Spanner Studio.
  2. Klicken Sie auf der Seite Spanner Studio auf Neuer Tab oder leeres Feld Editor-Tab.
  3. Geben Sie die DDL-Anweisung DROP TABLE (GoogleSQL, PostgreSQL) ein.

    So löschen Sie beispielsweise die Tabelle Singers:

    DROP TABLE Singers;
    

gcloud

Verwenden Sie zum Löschen einer Tabelle gcloud spanner databases ddl update

So löschen Sie beispielsweise die Tabelle Singers:

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="DROP TABLE Singers"

Zeile in eine Placement-Tabelle einfügen

Console

  1. Klicken Sie im Navigationsmenü auf Spanner Studio.
  2. Klicken Sie auf der Seite Spanner Studio auf  Neuer Tab oder verwenden Sie den leeren Editortab.
  3. Geben Sie die DDL-Anweisung INSERT INTO (GoogleSQL, PostgreSQL) ein.

    Fügen Sie beispielsweise den Sänger Marc Richards zur Tabelle Singers hinzu und und nach europeplacement partitionieren:

    INSERT INTO Singers(SingerId, SingerName, Location)
    VALUES (1, 'Marc Richards', 'europeplacement')
    

gcloud

Um Daten in eine Tabelle zu schreiben, verwenden Sie gcloud spanner rows insert

Fügen Sie beispielsweise der Tabelle Singers den Sänger Marc Richards hinzu und partitionieren Sie sie in europeplacement:

gcloud spanner rows insert --table=Singers --database=example-db \
  --instance=test-instance --data=SingerId=1,SingerName='Marc Richards',Location='europeplacement'

Zeilen in einer Placement-Tabelle aktualisieren

Console

  1. Klicken Sie im Navigationsmenü auf Spanner Studio.
  2. Klicken Sie auf der Seite Spanner Studio auf Neuer Tab oder leeres Feld Editor-Tab.
  3. Verwenden Sie DML oder Mutationen, um Daten in einer Placement-Tabelle zu aktualisieren.

    Aktualisieren Sie beispielsweise den Namen von singerid=1 in der Tabelle Singers in Catalina Smith:

    UPDATE Singers s
    SET s.name='Catalina Smith'
    WHERE s.id=1;
    

gcloud

Um Daten in einer Placement-Tabelle zu aktualisieren, Verwenden Sie gcloud spanner rows update.

Ändern Sie beispielsweise den Namen von singerid=1 in der Tabelle Singers zu Catalina Smith:

gcloud spanner rows update --table=Singers --database=example-db \
  --instance=test-instance --data=SingerId=1,SingerName='Catalina Smith'

Zeile in einer Placement-Tabelle verschieben

Console

  1. Erstellen Sie eine neue Partition und ein neues Placement, falls noch nicht geschehen.
  2. Klicken Sie im Navigationsmenü auf Spanner Studio.
  3. Klicken Sie auf der Seite Spanner Studio auf Neuer Tab oder leeres Feld Editor-Tab.
  4. Verschieben Sie Daten mithilfe von DML oder Mutationen in den neuen Partition an.

    So verschieben Sie beispielsweise singerid=1 in der Tabelle Singers nach asiaplacement:

    UPDATE Singers s
    SET s.location='asiaplacement'
    WHERE s.id=1;
    

gcloud

Nachdem Sie die Partition und das Placement erstellt haben, in die Sie Ihre Daten verschieben möchten, verwenden Sie gcloud spanner rows update.

So verschieben Sie beispielsweise singerid=1 in der Tabelle Singers nach asiaplacement:

gcloud spanner rows update --table=Singers --database=example-db \
  --instance=test-instance --data=SingerId=1,Location='asiaplacement'

Zeilen in einer Placement-Tabelle löschen

Console

  1. Klicken Sie im Navigationsmenü auf Spanner Studio.
  2. Klicken Sie auf der Seite Spanner Studio auf Neuer Tab oder leeres Feld Editor-Tab.
  3. Verwenden Sie DML oder Mutationen, um Daten zu löschen.

    Löschen Sie beispielsweise singerid=1 in der Tabelle Singers:

    DELETE FROM Singers s
    WHERE s.id=1;
    

gcloud

Wenn Sie Daten löschen möchten, verwenden Sie gcloud spanner rows delete.

Löschen Sie beispielsweise singerid=1 in der Tabelle Singers:

gcloud spanner rows delete --table=Singers --database=example-db \
  --instance=test-instance --keys=1

Daten in einer Placement-Tabelle abfragen

Console

  1. Klicken Sie im Navigationsmenü auf Spanner Studio.
  2. Klicken Sie auf der Seite Spanner Studio auf  Neuer Tab oder verwenden Sie den leeren Editortab.
  3. Führen Sie die Abfrage aus.

    Fragen Sie beispielsweise die Tabelle Singers ab:

    SELECT * FROM Singers s WHERE s.SingerId=1;
    

gcloud

Verwenden Sie zum Abfragen von Daten gcloud spanner databases execute-sql.

Beispiel für eine Abfrage der Tabelle Singers:

gcloud spanner databases execute-sql example-db \
  --sql='SELECT * FROM Singers s WHERE s.SingerId=1'

Nächste Schritte