Google admite controladores de código abierto de Spanner para varias las bibliotecas de asignación relacional de objetos (ORM) y los frameworks. Estos controladores permiten el uso de bases de datos de Spanner a través de APIs definidas por aquellas de seguridad en la nube.
En las siguientes tablas se enumeran todos los ORM y controladores de código abierto que se compatibles con Spanner y las funciones que admite cada uno. Hay una tabla para cada dialecto de SQL admitido.
También puedes usar las bibliotecas cliente de Spanner para acceder API de Spanner. Para obtener más información, consulta Bibliotecas cliente de Spanner.
Controladores y ORM de GoogleSQL
Atributo | database/sql | GORM | Spanner JDBC | Hibernate | Datos de Spring | R2DBC* | Framework de entidad | Registro activo | SQLAlchemy | Django | NHibernate |
---|---|---|---|---|---|---|---|---|---|---|---|
Idioma | Go | Go | Java | Java | Java | Java | C# | Ruby | Python | Python | C# |
Sugerencias de instrucciones | † | ||||||||||
Mutaciones | |||||||||||
DML por lotes | |||||||||||
DDL por lotes | |||||||||||
Lecturas inactivas | |||||||||||
Tablas intercaladas | |||||||||||
DML particionado | |||||||||||
Etiquetado de sesión | |||||||||||
Prioridad de las solicitudes | |||||||||||
Tipo de JSON | |||||||||||
Solicitar etiquetado | |||||||||||
Dialecto de Google SQL | |||||||||||
Dialecto de PostgreSQL | |||||||||||
Limitaciones | Ver | Ver | Ver | Ver | Ver | Ver | Ver |
* Esta columna describe R2DBC cuando se usa específicamente con Spring Data.
† Disponible solo cuando se envían consultas en SQL literales, a través de Spring Data
@Query
.
Controladores de PostgreSQL y ORM
Todos los controladores de PostgreSQL requieren que el proxy de PGAdapter esté en ejecución. Para obtener más información, consulta Acerca de PGAdapter.
Atributo | Spanner JDBC | PostgreSQL JDBC | Hibernate | pgx | GORM | psycopg2 | psycopg3 | SQLAlchemy 2 | node-postgres |
---|---|---|---|---|---|---|---|---|---|
Idioma | Java | Java | Java | Go | Go | Python | Python | Python | Node.js |
Sugerencias de instrucciones | |||||||||
Mutaciones | |||||||||
DML por lotes | |||||||||
DDL por lotes | |||||||||
Lecturas inactivas | |||||||||
Tablas intercaladas | |||||||||
DML particionado | |||||||||
Etiquetado de sesión | |||||||||
Prioridad de las solicitudes | |||||||||
Solicitar etiquetado | |||||||||
Limitaciones | Ver | Ver | Ver | Ver | Ver | Ver | Ver | Ver |