Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Eine typische Anwendung verwendet einen Client, z. B. einen Low-Level-Treiber oder einen objektrelationalen Mapper (Object-Relational Mapper, ORM), um eine Verbindung zur Datenbank herzustellen. Spanner unterstützt Clients in mehreren Sprachen, sodass Sie gängige Bibliotheken wie JDBC in verschiedenen Entwicklerumgebungen verwenden können. Weitere Informationen finden Sie unter Übersicht über Treiber.
Sie müssen nicht nur festlegen, wie Ihre Anwendung eine Verbindung zu Spanner herstellt, sondern auch, welche Abfragen gesendet werden und welche Syntax sie verwenden.
Spanner unterstützt zwei SQL-Dialekte, die beide auf dem ANSI SQL-Standard basieren.
Sie können die GoogleSQL- oder PostgreSQL-Schnittstelle für Spanner verwenden, je nachdem, in welcher Umgebung Sie arbeiten möchten. Weitere Informationen finden Sie unter Richtigen Datenbankdialekt für Ihre Spanner-Datenbank auswählen.
Aufgrund der architektonischen Unterschiede zwischen der Spanner-Datenbank und Ihrer Quelldatenbank stimmt die in Spanner verwendete Syntax möglicherweise nicht mit der Syntax Ihrer Quelldatenbank überein.
Führen Sie die folgenden Schritte manuell aus, um Ihre Anwendung zu Spanner zu migrieren:
Spanner unterstützt nicht die Ausführung von Nutzercode in der Datenbank. Daher müssen alle auf Datenbankebene gespeicherten Prozeduren und Trigger in die Anwendung verschoben werden.
Möglicherweise müssen Sie auch Änderungen an der Transaktionsverwaltung vornehmen. Berücksichtige Folgendes:
Das Limit für Mutationen pro Commit beträgt 80.000. Jeder sekundäre Index in einer Tabelle ist eine zusätzliche Mutation pro Zeile. Informationen zum Ändern von Daten mithilfe von Mutationen finden Sie unter Daten mithilfe von Mutationen einfügen, aktualisieren und löschen.
Verwenden Sie partitionierte DML, um eine große Datenmenge zu ändern.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-11 (UTC)."],[],[],null,["# Migrate your application code\n\nA typical application uses a client, such as a low-level driver or an object-relational mapper (ORM) to\nconnect to the database. Spanner supports clients in multiple languages\nthat let you use common libraries, such as JDBC, across developer\nenvironments. For more information, see\n[Overview of drivers](/spanner/docs/drivers-overview).\n\nIn addition to managing how your application connects to Spanner,\nyou also have to manage which queries are sent and which syntax the queries are using.\nSpanner supports two SQL dialects, both based on ANSI SQL standard.\nYou can choose to use GoogleSQL or PostgreSQL interface for Spanner based\non the ecosystem you want to operate in. For more information, see\n[Choosing the right dialect for your Spanner database](/spanner/docs/choose-googlesql-or-postgres).\nBecause of the\narchitectural differences between the Spanner database and your\nsource database, the syntax used\nin Spanner might not align with the syntax of your source database.\n\nComplete the following steps manually\nto migrate your application to Spanner:\n\n- Spanner doesn't support running user code in the database,\n so you need to move any procedures and triggers stored at the database level\n into the application.\n\n- Use Spanner client libraries and ORMs. For more information, see\n [Overview of APIs, client libraries, and ORM drivers](/spanner/docs/api-libraries-overview).\n\n- Take note of [Spanner partitioned DML](/spanner/docs/dml-partitioned),\n [read-only transactions](/spanner/docs/transactions#read-only_transactions),\n [commit timestamps](/spanner/docs/commit-timestamp), and read timestamps and\n how they can optimize application performance.\n\n- You also might need to make changes to transaction handling. Consider the following:\n\n - The mutations per commit limit is 80,000. Each secondary index on a table is an additional mutation per row. To modify data using mutations, see [Insert, update, and delete data using mutations](/spanner/docs/modify-mutation-api). To modify a large amount of data, use [partitioned DML](/spanner/docs/dml-partitioned)."]]