Google admite controladores de Spanner de código abierto para varias bibliotecas y frameworks populares de asignación relacional de objetos (ORM). Estos controladores permiten el uso de las bases de datos de Spanner a través de las APIs definidas por esos frameworks.
En las siguientes tablas, se enumeran todos los ORM y controladores de código abierto que son compatibles con Spanner y las funciones que admite cada uno. Hay una tabla para cada dialecto SQL compatible.
También puedes usar las bibliotecas cliente de Spanner para acceder a la API de Spanner. Para obtener más información, consulta Bibliotecas cliente de Spanner.
Controladores y ORM de GoogleSQL
Atributo | database/sql | GORM | JDBC de Spanner | Hibernate | Datos de Spring | R2DBC* | Entity Framework | 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 sesiones | |||||||||||
Prioridad de la solicitud | |||||||||||
Tipo de JSON | |||||||||||
Etiquetado de solicitudes | |||||||||||
Dialecto de SQL de Google | |||||||||||
Dialecto de PostgreSQL | |||||||||||
Limitaciones | Ver | Ver | Ver | Ver | Ver | Ver | Ver |
* En esta columna, se describe R2DBC cuando se usa de forma específica con los datos de Spring.
† Disponible solo cuando se envían consultas de SQL literales, a través de la anotación @Query
de datos de Spring.
Controladores y ORM de PostgreSQL
Todos los controladores de PostgreSQL requieren que el proxy de PGAdapter esté en funcionamiento. Para obtener más información, consulta Acerca de PGAdapter.
Atributo | JDBC de Spanner | JDBC de PostgreSQL | 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 sesiones | |||||||||
Prioridad de la solicitud | |||||||||
Etiquetado de solicitudes | |||||||||
Limitaciones | Ver | Ver | Ver | Ver | Ver | Ver | Ver | Ver |