Auf dieser Seite wird beschrieben, wie Sie Datenplatzierungen in Spanner erstellen und verwalten.
Weitere Informationen zur Funktionsweise der Geopartitionierung finden Sie unter Geo-Partitionierung – Übersicht.
Daten-Placement erstellen
Nachdem Sie die Spanner-Partitionen und Datenbanken erstellt haben, erstellen Sie das Placement.
Console
Rufen Sie in der Google Cloud Console die Seite Instanzen auf.
Wählen Sie die Instanz mit den vom Nutzer erstellten Partitionen aus.
Wählen Sie die Datenbank aus, die Sie partitionieren möchten.
Klicken Sie im Navigationsmenü auf Spanner Studio.
Klicken Sie auf der Seite Spanner Studio auf
Neuer Tab oder verwenden Sie den leeren Editor-Tab.Geben Sie die DDL-Anweisung
CREATE PLACEMENT
ein.Sie können beispielsweise den folgenden Befehl ausführen, um eine Placement-Tabelle
europeplacement
in der Partitioneurope-partition
zu erstellen:CREATE PLACEMENT `europeplacement` OPTIONS(instance_partitions="europe-partition");
Optional: Im Bereich Objekt-Explorer können Sie Ihre Placement-Objekte ansehen, suchen und mit ihnen interagieren. Weitere Informationen finden Sie unter Daten auswerten.
Klicken Sie auf Ausführen.
gcloud
Verwenden Sie gcloud spanner databases ddl update
, um mit dem gcloud CLI-Befehl ein Placement zu erstellen.
Erstellen Sie beispielsweise eine Platzierung in der Partition europe-partition
:
gcloud spanner databases ddl update example-db \
--instance=test-instance \
--ddl="CREATE PLACEMENT europeplacement OPTIONS (instance_partition='europe-partition')"
Daten-Placement löschen
Sie können ein Placement nicht löschen. Sie müssen die Datenbank löschen, damit das Placement und die zugehörigen Daten gelöscht werden können. Weitere Informationen finden Sie unter Datenbank löschen.
Tabelle mit einem Placement-Schlüssel erstellen
Console
- Klicken Sie im Navigationsmenü auf Spanner Studio.
- Klicken Sie auf der Seite Spanner Studio auf Neuer Tab oder verwenden Sie den leeren Editor-Tab.
Geben Sie die DDL-Anweisung
CREATE TABLE
ein.Sie können beispielsweise eine
Singers
-Tabelle erstellen, in der ein Platzierungsschlüssel verwendet wird, um Sängerdaten zu partitionieren:CREATE TABLE Singers ( SingerId INT64 NOT NULL, Name STRING(MAX) NOT NULL, ... Location STRING(MAX) NOT NULL PLACEMENT KEY ) PRIMARY KEY (SingerId);
gcloud
Verwenden Sie zum Erstellen einer Tabelle gcloud spanner databases ddl update
.
Sie können beispielsweise eine Singers
-Tabelle erstellen, in der ein Platzierungsschlüssel verwendet wird, um Sängerdaten zu partitionieren:
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)"
Tabelle mit einem Placement-Schlüssel bearbeiten
Ein Placement-Schlüssel kann nicht aus einer Tabelle gelöscht werden. Placement-Schlüssel können auch nicht mehr
hinzugefügt werden, nachdem sie erstellt wurden. Sie können jedoch die DDL-Anweisung ALTER TABLE
verwenden, um andere Felder in der Tabelle zu ändern und beispielsweise Schlüsselspalten hinzuzufügen und zu löschen, die keine Platzierung sind.
Tabelle mit einem Placement-Schlüssel löschen
Bevor Sie eine Tabelle mit einem Placement-Schlüssel löschen, müssen Sie Folgendes tun:
- Löschen Sie alle Zeilen in der Placement-Tabelle.
- Warten Sie, bis der
version_retention_period
die Prüfung der Datenbank durchlaufen hat. Weitere Informationen finden Sie unter Wiederherstellung zu einem bestimmten Zeitpunkt. Führen Sie anschließend folgende Schritte aus:
Console
- Klicken Sie im Navigationsmenü auf Spanner Studio.
- Klicken Sie auf der Seite Spanner Studio auf Neuer Tab oder verwenden Sie den leeren Editor-Tab.
Geben Sie die DDL-Anweisung
DROP TABLE
ein.Löschen Sie beispielsweise die Tabelle
Singers
:DROP TABLE Singers;
gcloud
Verwenden Sie gcloud spanner databases ddl update
, um eine Tabelle zu löschen.
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
- Klicken Sie im Navigationsmenü auf Spanner Studio.
- Klicken Sie auf der Seite Spanner Studio auf Neuer Tab oder verwenden Sie den leeren Editor-Tab.
Geben Sie die DDL-Anweisung
INSERT INTO
ein.Fügen Sie beispielsweise der Tabelle
Singers
den Sänger Marc Richards hinzu und partitionieren Sie sie ineuropeplacement
:INSERT INTO Singers(SingerId, Name, Location) VALUES (1, 'Marc Richards', 'europeplacement')
gcloud
Verwenden Sie gcloud spanner rows insert
, um Daten in eine Tabelle zu schreiben.
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
- Klicken Sie im Navigationsmenü auf Spanner Studio.
- Klicken Sie auf der Seite Spanner Studio auf Neuer Tab oder verwenden Sie den leeren Editor-Tab.
Verwenden Sie DML oder Mutationen, um Daten in einer Placement-Tabelle zu aktualisieren.
Aktualisieren Sie beispielsweise den Namen von
singerid=1
in der TabelleSingers
inCatalina 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
.
Aktualisieren Sie beispielsweise den Namen von singerid=1
in der Tabelle Singers
in Catalina Smith
:
gcloud spanner rows update --table=Singers --database=example-db \
--instance=test-instance --data=SingerId=1,SingerName='Catalina Smith'
Zeilen in einer Placement-Tabelle verschieben
Console
- Erstellen Sie eine neue Partition und ein neues Placement, falls Sie dies noch nicht getan haben.
- Klicken Sie im Navigationsmenü auf Spanner Studio.
- Klicken Sie auf der Seite Spanner Studio auf Neuer Tab oder verwenden Sie den leeren Editor-Tab.
Verwenden Sie DML oder Mutationen, um Daten in die neue Partition zu verschieben.
Verschieben Sie beispielsweise
singerid=1
aus der TabelleSingers
nachasiaplacement
:UPDATE Singers s SET s.location='asiaplacement' WHERE s.id=1;
gcloud
Nachdem Sie die Partition und das Placement erstellt haben, in das Sie die Daten verschieben möchten, verwenden Sie gcloud spanner rows update
.
Verschieben Sie beispielsweise singerid=1
aus 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
- Klicken Sie im Navigationsmenü auf Spanner Studio.
- Klicken Sie auf der Seite Spanner Studio auf Neuer Tab oder verwenden Sie den leeren Editor-Tab.
Verwenden Sie DML oder Mutationen, um Daten zu löschen.
Löschen Sie beispielsweise
singerid=1
in der TabelleSingers
: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
- Klicken Sie im Navigationsmenü auf Spanner Studio.
- Klicken Sie auf der Seite Spanner Studio auf Neuer Tab oder verwenden Sie den leeren Editor-Tab.
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
.
Fragen Sie beispielsweise die Tabelle Singers
ab:
gcloud spanner databases execute-sql example-db \
--sql='SELECT * FROM Singers s WHERE s.SingerId=1'