Esta página descreve os drivers com suporte ao Spanner para bancos de dados com dialeto GoogleSQL e PostgreSQL.
O Google oferece suporte a drivers do Spanner de código aberto para várias bibliotecas de mapeamento relacional de objetos (ORMs) e frameworks conhecidos. Esses drivers permitem o uso de bancos de dados do Spanner por meio de APIs definidas por esses frameworks.
As tabelas a seguir listam todos os ORMs e drivers de código aberto com suporte para o Spanner e os recursos compatíveis com cada um. Há uma tabela para cada dialeto SQL compatível.
Também é possível usar as bibliotecas de cliente do Spanner para acessar a API Spanner. Para mais informações, consulte Bibliotecas de cliente do Spanner.
Drivers e ORMs do GoogleSQL
Recurso | database/sql | GORM | Spanner JDBC | Hibernate | Dados do Spring | R2DBC* | Entity Framework (link em inglês) | Registro ativo | SQLAlchemy (em inglês) | Django | NHibernate (link em inglês) |
---|---|---|---|---|---|---|---|---|---|---|---|
Idioma | Go | Go | Java | Java | Java | Java | C# | Ruby | Python | Python | C# |
Dicas de instrução | † | ||||||||||
Mutações | |||||||||||
DML em lote | |||||||||||
DDL em lote | |||||||||||
Leituras desatualizadas | |||||||||||
Tabelas intercaladas | |||||||||||
DML particionada | |||||||||||
Marcação de sessões | |||||||||||
Prioridade da solicitação | |||||||||||
Tipo JSON | |||||||||||
Inclusão de tags em solicitações | |||||||||||
Dialeto SQL do Google | |||||||||||
Dialeto do PostgreSQL | |||||||||||
Limitações | Ver | Ver | Ver | Ver | Ver | Ver | Ver |
* Esta coluna descreve o R2DBC quando usado especificamente com dados do Spring.
† Disponível apenas ao enviar consultas SQL literais usando a anotação @Query
de dados do Spring.
Drivers e ORMs do PostgreSQL
Todos os drivers do PostgreSQL exigem que o proxy do PGAdapter esteja em execução. Veja mais informações em Sobre o PGAdapter.
Recurso | Spanner JDBC | PostgreSQL JDBC | Hibernate | pgx | GORM | psycopg2 (link em inglês) | psycopg3 (link em inglês) | SQLAlchemy 2 | node-postgres |
---|---|---|---|---|---|---|---|---|---|
Idioma | Java | Java | Java | Go | Go | Python | Python | Python | Node.js |
Dicas de instrução | |||||||||
Mutações | |||||||||
DML em lote | |||||||||
DDL em lote | |||||||||
Leituras desatualizadas | |||||||||
Tabelas intercaladas | |||||||||
DML particionada | |||||||||
Marcação de sessões | |||||||||
Prioridade da solicitação | |||||||||
Inclusão de tags em solicitações | |||||||||
Limitações | Ver | Ver | Ver | Ver | Ver | Ver | Ver | Ver |