Cette page décrit les pilotes compatibles avec Spanner pour les bases de données utilisant le dialecte GoogleSQL et celles utilisant le dialecte PostgreSQL.
Google est compatible avec les pilotes Spanner Open Source pour plusieurs bibliothèques et frameworks de mappage objet-relationnel (ORM) populaires. Ces pilotes permettent d'utiliser des 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 existe une table pour chaque dialecte SQL compatible.
Vous pouvez également utiliser les bibliothèques clientes Spanner pour accéder à l'API Spanner. Pour en savoir plus, consultez Bibliothèques clientes Spanner.
Pilotes et ORM GoogleSQL
| Fonctionnalité | database/sql | GORM | Spanner JDBC | Hibernate | Spring Data | R2DBC* | ADO.NET | Entity Framework | Active Record | SQLAlchemy | Django |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Langue | Go | Go | Java | Java | Java | Java | C# | C# | Ruby | Python | Python |
| Optimisations d'instruction | † | ||||||||||
| Mutations | |||||||||||
| LMD par lots | |||||||||||
| LDD par lot | |||||||||||
| Lectures non actualisées | |||||||||||
| Tables entrelacées | |||||||||||
| LMD partitionné | |||||||||||
| Étiquetage des sessions | |||||||||||
| Priorité de la demande | |||||||||||
| Type JSON | |||||||||||
| Demander le taggage | |||||||||||
| Dialecte GoogleSQL | |||||||||||
| Dialecte PostgreSQL | |||||||||||
| Limites | N/A | Afficher | N/A | Afficher | N/A | N/A | N/A | Afficher | Afficher | Afficher | Afficher |
* Cette colonne décrit R2DBC lorsqu'il est utilisé 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.
Pilotes compatibles
| Fonctionnalité | Spanner JDBC | PostgreSQL JDBC | pgx | psycopg2 | psycopg3 | node-postgres | Npgsql | R2DBC | ADBC |
|---|---|---|---|---|---|---|---|---|---|
| Langue | Java | Java | Go | Python | Python | Node.js | .NET | Java | Python |
| Optimisations d'instruction | |||||||||
| Mutations | |||||||||
| LMD par lots | |||||||||
| LDD par lot | |||||||||
| Lectures non actualisées | |||||||||
| Tables entrelacées | |||||||||
| LMD partitionné | |||||||||
| Étiquetage des sessions | |||||||||
| Priorité de la demande | |||||||||
| Demander le taggage | |||||||||
| Limites | N/A | Afficher | Afficher | Afficher | Afficher | Afficher | N/A | N/A | Afficher |
ORM compatibles
| Fonctionnalité | Hibernate | Spring Data | GORM | SQLAlchemy 2 |
|---|---|---|---|---|
| Langue | Java | Java | Go | Python |
| Optimisations d'instruction | ||||
| Mutations | ||||
| LMD par lots | ||||
| LDD par lot | ||||
| Lectures non actualisées | ||||
| Tables entrelacées | ||||
| LMD partitionné | ||||
| Étiquetage des sessions | ||||
| Priorité de la demande | ||||
| Demander le taggage | ||||
| Limites | Afficher | Afficher | Afficher | Afficher |
IDE et clients SQL compatibles
Les outils suivants peuvent se connecter aux bases de données de dialecte PostgreSQL à l'aide de PGAdapter.
| Outil | Guide | Remarques |
|---|---|---|
| IntelliJ / DataGrip | Guide de configuration | Nécessite PGAdapter. |
| DBeaver | Guide de configuration | Nécessite PGAdapter. |
| psql | Guide de configuration | Outil de ligne de commande PostgreSQL standard. |
Autres intégrations
| Outil | Langue | Guide | Remarques |
|---|---|---|---|
| postgres_fdw | C / Extension | Exemple | Foreign Data Wrapper pour PostgreSQL. |
| connectorx | Python / Rust | Exemple | Bibliothèque de chargement de données hautes performances. |
| Liquibase | Java | Exemple | Gestion des modifications de schéma de base de données. |