Auf dieser Seite wird beschrieben, wie Sie Spanner-Datenbanken erstellen und verwalten:
- Verschiedene Methoden zum Erstellen einer Datenbank
- Datenbankoptionen ändern
- Datenbank löschen
Diese Seite enthält Informationen für Datenbanken mit GoogleSQL-Dialekt und Datenbanken mit PostgreSQL-Dialekt. Schema aktualisieren Weitere Informationen zum Erstellen einer Instanz finden Sie unter Instanzen erstellen und verwalten. Sie haben folgende Möglichkeiten, eine Datenbank in einer vorhandenen Instanz zu erstellen:
- Datenbank erstellen: Sie können eine neue Datenbank erstellen, indem Sie den SQL-Dialekt auswählen und das Schema definieren.
- Eigene Daten importieren: Sie können eine CSV-, MySQL-Dump- oder PostgreSQL-Dumpdatei in eine neue oder vorhandene Datenbank importieren.
- Datenbank mit Beispieldaten erstellen: Sie können eine Datenbank mit einem der verfügbaren Beispiel-Datasets füllen, um die Funktionen von Spanner auszuprobieren.
Datenbank erstellen
Sie können eine neue Datenbank in einer vorhandenen Instanz erstellen. Bei Datenbanken mit GoogleSQL-Dialekt können Sie das Datenbankschema entweder beim Erstellen der Datenbank oder danach definieren. Bei Datenbanken mit PostgreSQL-Dialekt müssen Sie das Schema nach der Erstellung definieren.
Schemas werden mit der Datenbankdefinitionssprache definiert, die für GoogleSQL und PostgreSQL dokumentiert ist. Weitere Informationen zum Erstellen und Aktualisieren von Schemas finden Sie unter den folgenden Links:
Nachdem Sie Ihre Datenbank erstellt haben, können Sie Datenbanken, die für Ihre Anwendungen und Dienste wichtig sind, durch Aktivieren des Löschschutzes für Datenbanken schützen. Weitere Informationen finden Sie unter Versehentliches Löschen von Datenbanken verhindern.
Google Cloud Console
Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.
Wählen Sie die Instanz aus, in der die Datenbank erstellt werden soll.
Klicken Sie auf Datenbank erstellen.
Geben Sie die folgenden Werte ein:
- Einen Datenbanknamen, der in der Google Cloud Console angezeigt werden soll.
- Der Dialekt, der für diese Datenbank verwendet werden soll.
- Für Datenbanken mit GoogleSQL-Dialekt können Sie optional eine Reihe von DDL-Anweisungen angeben, mit denen Ihr Schema definiert wird. Mit DDL-Vorlagen können Sie allgemeine Elemente vorab ausfüllen. Wenn in Ihren DDL-Anweisungen Fehler vorhanden sind, gibt die Google Cloud Konsole einen Fehler zurück, wenn Sie versuchen, die Datenbank zu erstellen.
- Optional können Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel für diese Datenbank auswählen.
Klicken Sie auf Erstellen, um die Datenbank zu erstellen.
gcloud
Führen Sie den Befehl gcloud spanner databases create
aus.
```sh
gcloud spanner databases create DATABASE \
--instance=INSTANCE \
[--async] \
[--database-dialect=DATABASE_DIALECT] \
[--ddl=DDL] \
[--ddl-file=DDL_FILE] \
[--kms-key=KMS_KEY : --kms-keyring=KMS_KEYRING --kms-location=KMS_LOCATION --kms-project=KMS_PROJECT] \
[GCLOUD_WIDE_FLAG …]
```
Folgende Optionen sind erforderlich:
DATABASE
- ID der Datenbank oder vollqualifizierte Kennzeichnung für die Datenbank. Wenn Sie die vollständig qualifizierte ID angeben, kann das Flag
--instance
weggelassen werden. --instance=INSTANCE
- Die Spanner-Instanz für die Datenbank.
Folgende Optionen sind optional:
--async
- wird sofort zurückgegeben, ohne auf den Abschluss des Vorgangs zu warten.
--database-dialect=DATABASE_DIALECT
- Der SQL-Dialekt der Spanner-Datenbank. Muss
POSTGRESQL
oderGOOGLE_STANDARD_SQL
sein. --ddl=DDL
- Durch Semikolon getrennte DDL-Anweisungen (Data Definition Language, Datendefinitionssprache), die in der neu erstellten Datenbank ausgeführt werden sollen. Wenn in einer Anweisung ein Fehler auftritt, wird die Datenbank nicht erstellt. Dieses Flag wird ignoriert, wenn
--ddl_file
festgelegt ist. Wird von Datenbanken mit PostgreSQL-Dialekt nicht unterstützt. --ddl-file=DDL_FILE
- Pfad einer Datei, die durch Semikolon getrennte DDL-Anweisungen (Data Definition Language) enthält, die in der neu erstellten Datenbank ausgeführt werden sollen. Wenn in einer Anweisung ein Fehler auftritt, wird die Datenbank nicht erstellt. Wenn
--ddl_file
festgelegt ist, wird--ddl
ignoriert. Wird von Datenbanken mit PostgreSQL-Dialekt nicht unterstützt.
Wenn Sie einen Cloud Key Management Service-Schlüssel angeben, der beim Erstellen der Datenbank verwendet werden soll, fügen Sie die folgenden Optionen ein:
--kms-key=KMS_KEY
- ID des Schlüssels oder vollqualifizierte Kennzeichnung für den Schlüssel.
Dieses Flag muss angegeben werden, wenn eines der anderen Argumente in dieser Gruppe angegeben wird. Die anderen Argumente können weggelassen werden, wenn die voll qualifizierte Kennzeichnung angegeben wird.
--kms-keyring=KMS_KEYRING
- Cloud KMS-Schlüsselbund-ID des Schlüssels.
--kms-location=KMS_LOCATION
- Google Cloud Speicherort des Schlüssels.
--kms-project=KMS_PROJECT
- Google Cloud Projekt-ID für den Schlüssel.
Client (GoogleSQL)
C++
Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken.
Richten Sie zur Authentifizierung bei Spanner Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken.
Richten Sie zur Authentifizierung bei Spanner Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken.
Richten Sie zur Authentifizierung bei Spanner Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken.
Richten Sie zur Authentifizierung bei Spanner Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken.
Richten Sie zur Authentifizierung bei Spanner Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken.
Richten Sie zur Authentifizierung bei Spanner Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken.
Richten Sie zur Authentifizierung bei Spanner Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Importieren Sie eigene Daten
Sie können Ihre eigenen Daten in eine Spanner-Datenbank importieren. Dazu können Sie eine CSV-Datei, eine MySQL-Dumpdatei oder eine PostgreSQL-Dumpdatei verwenden. Sie können eine lokale Datei über Cloud Storage oder direkt aus einem Cloud Storage-Bucket hochladen. Für das Hochladen einer lokalen Datei mit Cloud Storage können Gebühren anfallen.
Wenn Sie eine CSV-Datei verwenden, müssen Sie auch eine separate JSON-Datei mit dem Datenbankschema hochladen.
Google Cloud Console
Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.
Wählen Sie die Instanz aus, in der die Datenbank erstellt werden soll.
Klicken Sie auf Eigene Daten importieren.
Geben Sie die folgenden Werte ein:
Wählen Sie den Dateityp aus.
Laden Sie die Datei von Ihrem Computer hoch oder wählen Sie einen Cloud Storage-Bucket-Pfad zur Datei aus.
Optional: Wenn Sie eine CSV-Datei verwenden, müssen Sie auch eine separate JSON-Datei mit dem Datenbankschema hochladen. Die JSON-Datei muss die folgende Struktur haben, um das Schema zu definieren:
{ "name": "COLUMN_NAME", "type": "TYPE", "notNull": NOT_NULL_VALUE, "primaryKeyOrder": PRIMARY_KEY_ORDER }
Ersetzen Sie Folgendes:
COLUMN_NAME: Der Name der Spalte in der Tabelle.
TYPE: Der Datentyp der Spalte.
(Optional) NOT_NULL_VALUE: Gibt an, ob in der Spalte Nullwerte gespeichert werden können. Gültige Eingaben sind
true
undfalse
. Die Standardeinstellung istfalse
.(Optional) PRIMARY_KEY_ORDER: Bestimmt die Reihenfolge der Primärschlüssel. Der Wert wird für eine Spalte, die kein Primärschlüssel ist, auf
0
gesetzt. Legen Sie den Wert auf eine Ganzzahl fest, z. B.1
für eine Primärschlüsselspalte. Spalten mit niedrigeren Nummern werden in einem zusammengesetzten Primärschlüssel früher angezeigt.
In der CSV-Datei wird standardmäßig ein Komma als Feldtrennzeichen und ein Zeilenumbruch als Zeilentrennzeichen erwartet. Weitere Informationen zur Verwendung benutzerdefinierter Trennzeichen finden Sie in der
gcloud alpha spanner databases import
-Referenz.Wählen Sie eine neue oder vorhandene Datenbank als Ziel aus.
Klicken Sie auf Importieren.
Spanner öffnet Cloud Shell und fügt einen Befehl ein, mit dem das Spanner-Migrations-Tool installiert und der Befehl
gcloud alpha spanner databases import
ausgeführt wird. Drücken Sie die TasteENTER
, um Daten in Ihre Datenbank zu importieren.x
Beispiel-Dataset verwenden
Sie können neue Datenbanken in einer vorhandenen Instanz mit Beispieldatasets füllen, um Cloud Spanner-Funktionen wie das relationale Modell, die Volltextsuche oder die Vektorsuche zu testen.
Google Cloud Console
Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.
Wählen Sie die Instanz aus, in der die Datenbank erstellt werden soll.
Klicken Sie auf Datasets ansehen.
Wählen Sie einen der folgenden Datensätze aus:
- Finanzgraph: Mit diesem Dataset können Sie die Graphfunktionen von Cloud Spanner kennenlernen.
- Onlinebanking: Mit diesem Dataset können Sie die Volltextsuchfunktionen von Cloud Spanner kennenlernen.
- Online-Gaming: Mit diesem Dataset können Sie die Funktionen für relationale Datenbanken von Spanner kennenlernen.
- Einzelhandel: Mit diesem Dataset können Sie die Graphfunktionen und die Volltextsuche von Cloud Spanner kennenlernen.
Klicken Sie auf Datenbank erstellen.
Datenbankschema oder -optionen aktualisieren
Sie können Ihr Datenbankschema und Ihre Optionen mit DDL-Anweisungen aktualisieren.
Verwenden Sie beispielsweise die folgende DDL-Anweisung, um einer Tabelle eine Spalte hinzuzufügen:
GoogleSQL
ALTER TABLE Songwriters ADD COLUMN Publisher STRING(10);
PostgreSQL
ALTER TABLE Songwriters ADD COLUMN Publisher VARCHAR(10);
Verwenden Sie die folgende DDL-Anweisung, um die Version des Abfrageoptimierungstools zu aktualisieren:
GoogleSQL
ALTER DATABASE Music SET OPTIONS(optimizer_version=null);
PostgreSQL
ALTER DATABASE DB-NAME SET spanner.optimizer_version TO DEFAULT;
Weitere Informationen zu den unterstützten Optionen finden Sie in der ALTER DATABASE
-DDL-Referenz für GoogleSQL oder PostgreSQL.
Informationen zu Schemaaktualisierungen finden Sie unter Schema aktualisieren.
Google Cloud Console
Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.
Wählen Sie die Instanz aus, die die zu ändernde Datenbank enthält.
Wählen Sie die Datenbank aus.
Klicken Sie auf Spanner Studio.
Klicken Sie auf
Neuer Tab oder verwenden Sie den leeren Editor-Tab. Geben Sie dann die anzuwendenden DDL-Anweisungen ein.Klicken Sie auf Ausführen, um die Änderungen zu übernehmen. Wenn Fehler in Ihrer DDL vorhanden sind, gibt die Google Cloud Konsole einen Fehler zurück und die Datenbank wird nicht geändert.
gcloud
Verwenden Sie gcloud spanner databases ddl update
, um eine Datenbank mit dem gcloud
-Befehlszeilentool zu ändern.
gcloud spanner databases ddl update \ (DATABASE : --instance=INSTANCE) \ [--async] \ [--ddl=DDL] \ [--ddl-file=DDL_FILE] \
Weitere Informationen zu den verfügbaren Optionen finden Sie in der Referenz zu gcloud
.
Übergeben Sie die Datenbankaktualisierungen mit dem Flag --ddl
oder dem Flag --ddl-file
an den Befehl. Wenn eine DDL-Datei angegeben wird, wird das Flag --ddl
ignoriert.
Informationen zu den einzuschließenden DDL-Anweisungen finden Sie in der ALTER DATABASE
DDL-Referenz für GoogleSQL oder PostgreSQL.
DDL
Weitere Informationen finden Sie in der ALTER DATABASE
-DDL-Referenz für GoogleSQL oder PostgreSQL.
Fortschritt von Schemaaktualisierungsvorgängen prüfen
Google Cloud Console
Wählen Sie im Spanner-Navigationsmenü den Tab Vorgänge aus. Auf der Seite Vorgänge wird eine Liste der aktiven Vorgänge angezeigt.
Suchen Sie in der Liste nach dem Schemavorgang. Wenn der Vorgang noch ausgeführt wird, zeigt die Fortschrittsanzeige in der Spalte Ende den Prozentsatz des Vorgangs an, der abgeschlossen ist, wie im folgenden Bild dargestellt:
gcloud
Verwenden Sie gcloud spanner operations describe
, um den Fortschritt eines Vorgangs zu prüfen.
Rufen Sie die Vorgangs-ID ab:
gcloud spanner operations list --instance=INSTANCE-NAME \ --database=DATABASE-NAME --type=DATABASE_UPDATE_DDL
Ersetzen Sie Folgendes:
- INSTANCE-NAME durch den Namen der Spanner-Instanz.
- DATABASE-NAME durch den Namen der Datenbank.
Führen Sie
gcloud spanner operations describe
aus.gcloud spanner operations describe OPERATION_ID\ --instance=INSTANCE-NAME \ --database=DATABASE-NAME
Ersetzen Sie Folgendes:
- OPERATION-ID: Die Vorgangs-ID des Vorgangs, den Sie prüfen möchten.
- INSTANCE-NAME: Der Name der Spanner-Instanz.
- DATABASE-NAME: Der Name der Spanner-Datenbank.
Im Abschnitt
progress
der Ausgabe wird der Prozentsatz des abgeschlossenen Vorgangs angezeigt. Die Ausgabe sieht dann ungefähr so aus:done: true metadata: ... progress: - endTime: '2022-03-01T00:28:06.691403Z' progressPercent: 100 startTime: '2022-03-01T00:28:04.221401Z' - endTime: '2022-03-01T00:28:17.624588Z' startTime: '2022-03-01T00:28:06.691403Z' progressPercent: 100 ...
REST Version 1
Rufen Sie die Vorgangs-ID ab:
gcloud spanner operations list --instance=INSTANCE-NAME \ --database=DATABASE-NAME --type=DATABASE_UPDATE_DDL
Ersetzen Sie Folgendes:
- INSTANCE-NAME durch den Namen der Spanner-Instanz.
- DATABASE-NAME durch den Datenbanknamen.
Prüfen Sie den Fortschritt des Vorgangs.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT-ID: Projekt-ID.
- INSTANCE-ID: Instanz-ID.
- DATABASE-ID: die Datenbank-ID.
- OPERATION-ID: die Vorgangs-ID.
HTTP-Methode und URL:
GET https://spanner.googleapis.com/v1/projects/PROJECT-ID/instances/INSTANCE-ID/databases/DATABASE-ID/operations/OPERATION-ID
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ ... "progress": [ { "progressPercent": 100, "startTime": "2023-05-27T00:52:27.366688Z", "endTime": "2023-05-27T00:52:30.184845Z" }, { "progressPercent": 100, "startTime": "2023-05-27T00:52:30.184845Z", "endTime": "2023-05-27T00:52:40.750959Z" } ], ... "done": true, "response": { "@type": "type.googleapis.com/google.protobuf.Empty" } }
Wenn der Vorgang zu lange dauert, können Sie ihn abbrechen. Weitere Informationen finden Sie unter Instanzvorgang mit langer Ausführungszeit abbrechen.
Datenbank löschen
Durch das Löschen einer Datenbank werden die Datenbank und alle zugehörigen Daten endgültig entfernt. Das Löschen einer Datenbank kann nicht rückgängig gemacht werden. Wenn der Löschschutz für Datenbanken für eine Datenbank aktiviert ist, können Sie diese Datenbank erst löschen, wenn Sie den Löschschutz deaktivieren.
Vorhandene Sicherungen werden nicht gelöscht, wenn eine Datenbank gelöscht wird. Weitere Informationen finden Sie unter Sichern und Wiederherstellen.
Google Cloud Console
Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.
Wählen Sie die Instanz aus, die die zu löschende Datenbank enthält.
Wählen Sie die Datenbank aus.
Klicken Sie auf Datenbank löschen. Eine Bestätigung wird angezeigt.
Geben Sie den Namen der Datenbank ein und klicken Sie auf Löschen.
gcloud
Verwenden Sie gcloud spanner databases delete
, um eine Datenbank mit dem gcloud
-Befehlszeilentool zu löschen.
gcloud spanner databases delete \ (DATABASE : --instance=INSTANCE)
Folgende Optionen sind erforderlich:
DATABASE
- ID der Datenbank oder vollqualifizierte Kennzeichnung für die Datenbank. Wenn die voll qualifizierte Kennung angegeben ist, sollte das Flag
--instance
weggelassen werden. --instance=INSTANCE
- Die Spanner-Instanz für die Datenbank.
Weitere Informationen finden Sie in der Referenz zu gcloud
.
DDL
DDL unterstützt keine Syntax zum Löschen von Datenbanken.
Nächste Schritte
- Datenbank erstellen und mit Beispieldaten laden
- GoogleSQL-DDL-Referenz
- PostgreSQL-DDL-Referenz
- Informationen zum Sichern und Wiederherstellen einer Datenbank
- Informationen zum Verhindern des versehentlichen Löschens von Datenbanken
- Schema aktualisieren