Google est compatible avec les pilotes Spanner Open Source pour plusieurs frameworks de mappage objet-relationnel (ORM) et frameworks courants. Ces pilotes permettent d'utiliser les bases de données Spanner via des API définies par ces frameworks.
Les tableaux suivants répertorient tous les ORM et pilotes Open Source compatibles avec Spanner, ainsi que les fonctionnalités compatibles avec chacun d'eux. Il y a un tableau pour chaque dialecte SQL pris en charge.
Vous pouvez également utiliser les bibliothèques clientes Spanner pour accéder à l'API Spanner. Pour en savoir plus, consultez les bibliothèques clientes Spanner.
Pilotes et ORM GoogleSQL
Sélection | database/sql | GORM | Spanner JDBC | Hibernate | Spring Data | R2DBC* | Framework des entités | Enregistrement actif | SQLAlchemy | Django | NHibernate |
---|---|---|---|---|---|---|---|---|---|---|---|
Langue | Go | Go | Java | Java | Java | Java | C# | Ruby | Python | Python | C# |
Optimisations d'instruction | † | ||||||||||
Mutations | |||||||||||
LMD par lots | |||||||||||
LDD par lot | |||||||||||
Lectures non actualisées | |||||||||||
Tables entrelacées | |||||||||||
LMD partitionné | |||||||||||
Étiquetage de la session | |||||||||||
Priorité de la requête | |||||||||||
Type JSON | |||||||||||
Demander un taggage | |||||||||||
Dialecte SQL de Google | |||||||||||
Dialecte PostgreSQL | |||||||||||
Limites | View | View | View | View | View | View | View |
* Cette colonne décrit la métrique R2DBC lorsqu'elle est utilisée spécifiquement avec Spring Data.
† Disponible uniquement lors de l'envoi de requêtes SQL littérales, à l'aide de l'annotation Spring Data @Query
.
Pilotes et ORM PostgreSQL
Tous les pilotes PostgreSQL nécessitent l'exécution du proxy PGAdapter. Pour en savoir plus, consultez la section À propos de PGAdapter.
Sélection | Spanner JDBC | JDBC PostgreSQL | Hibernate | page | GORM | psycopg2 | psycopg3 | SQLAlchemy 2 | node-postgres |
---|---|---|---|---|---|---|---|---|---|
Langue | Java | Java | Java | Go | Go | Python | Python | Python | Node.js |
Optimisations d'instruction | |||||||||
Mutations | |||||||||
LMD par lots | |||||||||
LDD par lot | |||||||||
Lectures non actualisées | |||||||||
Tables entrelacées | |||||||||
LMD partitionné | |||||||||
Étiquetage de la session | |||||||||
Priorité de la requête | |||||||||
Demander un taggage | |||||||||
Limites | View | View | View | View | View | View | View | View |