Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Um aplicativo típico usa um cliente, como um driver de baixo nível ou um mapeador relacional de objetos (ORM, na sigla em inglês) para
se conectar ao banco de dados. O Spanner oferece suporte a clientes em vários idiomas,
permitindo que você use bibliotecas comuns, como JDBC, em vários ambientes
de desenvolvedor. Para mais informações, consulte Visão geral dos drivers.
Além de gerenciar como o aplicativo se conecta ao Spanner,
você também precisa gerenciar quais consultas são enviadas e qual sintaxe elas usam.
O Spanner oferece suporte a dois dialetos SQL, ambos baseados no padrão ANSI SQL.
Você pode usar a interface do GoogleSQL ou PostgreSQL para o Spanner com base
no ecossistema em que quer operar. Para mais informações, consulte
Como escolher o dialeto certo para seu banco de dados do Spanner.
Devido às
diferenças de arquitetura entre o banco de dados do Spanner e o
banco de dados de origem, a sintaxe usada
no Spanner pode não estar alinhada com a sintaxe do banco de dados de origem.
Conclua as etapas a seguir manualmente
para migrar seu aplicativo para o Spanner:
O Spanner não é compatível com a execução de código do usuário no banco de dados.
Portanto, é necessário mover todos os procedimentos e gatilhos armazenados no nível do banco de dados
para o aplicativo.
Talvez também seja necessário fazer mudanças no processamento de transações. Considere o seguinte:
O limite de mutações por confirmação é de 80.000. Cada índice secundário em uma tabela
é uma mutação extra por linha. Para modificar dados usando mutações, consulte
Inserir, atualizar e excluir dados usando mutações.
Para modificar uma grande quantidade de dados, use a
DML particionada.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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)."]]