Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Una aplicación típica usa un cliente, como un controlador de bajo nivel o un asignador relacional de objetos (ORM), para conectarse a la base de datos. Spanner admite clientes en varios lenguajes que te permiten usar bibliotecas comunes, como JDBC, en todos los entornos de desarrolladores. Para obtener más información, consulta Descripción general de los controladores.
Además de administrar la forma en que tu aplicación se conecta a Spanner,
también debes administrar qué consultas se envían y qué sintaxis usan.
Spanner admite dos dialectos de SQL, ambos basados en el estándar ANSI SQL.
Puedes usar la interfaz de GoogleSQL o PostgreSQL para Spanner según el ecosistema en el que deseas operar. Para obtener más información, consulta
Elige el dialecto correcto para tu base de datos de Spanner.
Debido a las diferencias arquitectónicas entre la base de datos de Spanner y tu base de datos de origen, es posible que la sintaxis que se usa en Spanner no se alinee con la de tu base de datos de origen.
Completa los siguientes pasos de forma manual para migrar tu aplicación a Spanner:
Spanner no admite la ejecución de código de usuario en la base de datos, por lo que debes trasladar los procedimientos y activadores almacenados a nivel de la base de datos a la aplicación.
También es posible que debas realizar cambios en el manejo de transacciones. Ten en cuenta lo siguiente:
El límite de mutaciones por confirmación es de 80,000. Cada índice secundario de una tabla
es una mutación adicional por fila. Para modificar datos con mutaciones, consulta Inserta, actualiza y borra datos con mutaciones.
Para modificar una gran cantidad de datos, usa DML particionado.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-05 (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)."]]