Halaman ini menjelaskan driver yang didukung untuk Spanner untuk database dialek GoogleSQL dan database dialek PostgreSQL.
Google mendukung driver Spanner open source untuk beberapa library dan framework pemetaan relasional objek (ORM) yang populer. Driver ini memungkinkan penggunaan database Spanner melalui API yang ditentukan oleh framework tersebut.
Tabel berikut mencantumkan semua ORM dan driver open source yang didukung untuk Spanner dan fitur yang didukung oleh masing-masing ORM dan driver tersebut. Ada satu tabel untuk setiap dialek SQL yang didukung.
Anda juga dapat menggunakan library klien Spanner untuk mengakses Spanner API. Untuk mengetahui informasi selengkapnya, lihat Library klien Spanner.
Driver dan ORM GoogleSQL
| Fitur | database/sql | GORM | JDBC Spanner | Hibernate | Spring Data | R2DBC* | ADO.NET | Entity Framework | Active Record | SQLAlchemy | Django |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Bahasa | Go | Go | Java | Java | Java | Java | C# | C# | Ruby | Python | Python |
| Petunjuk pernyataan | † | ||||||||||
| Mutasi | |||||||||||
| DML Batch | |||||||||||
| DDL Batch | |||||||||||
| Pembacaan yang sudah tidak berlaku | |||||||||||
| Tabel yang disisipkan | |||||||||||
| DML yang dipartisi | |||||||||||
| Pelabelan sesi | |||||||||||
| Prioritas permintaan | |||||||||||
| Jenis JSON | |||||||||||
| Pemberian tag permintaan | |||||||||||
| Dialek SQL Google | |||||||||||
| Dialek PostgreSQL | |||||||||||
| Batasan | T/A | Lihat | T/A | Lihat | T/A | T/A | T/A | Lihat | Lihat | Lihat | Lihat |
* Kolom ini menjelaskan R2DBC saat digunakan secara khusus dengan Spring Data.
† Hanya tersedia saat mengirim kueri SQL literal, dengan menggunakan anotasi Spring Data
@Query.
Driver dan ORM PostgreSQL
Semua driver PostgreSQL memerlukan proxy PGAdapter agar dapat berjalan. Untuk mengetahui informasi selengkapnya, lihat Tentang PGAdapter.
Driver yang didukung
| Fitur | JDBC Spanner | PostgreSQL JDBC | pgx | psycopg2 | psycopg3 | node-postgres | Npgsql | R2DBC | ADBC |
|---|---|---|---|---|---|---|---|---|---|
| Bahasa | Java | Java | Go | Python | Python | Node.js | .NET | Java | Python |
| Petunjuk pernyataan | |||||||||
| Mutasi | |||||||||
| DML Batch | |||||||||
| DDL Batch | |||||||||
| Pembacaan yang sudah tidak berlaku | |||||||||
| Tabel yang disisipkan | |||||||||
| DML yang dipartisi | |||||||||
| Pelabelan sesi | |||||||||
| Prioritas permintaan | |||||||||
| Pemberian tag permintaan | |||||||||
| Batasan | T/A | Lihat | Lihat | Lihat | Lihat | Lihat | T/A | T/A | Lihat |
ORM yang didukung
| Fitur | Hibernate | Spring Data | GORM | SQLAlchemy 2 |
|---|---|---|---|---|
| Bahasa | Java | Java | Go | Python |
| Petunjuk pernyataan | ||||
| Mutasi | ||||
| DML Batch | ||||
| DDL Batch | ||||
| Pembacaan yang sudah tidak berlaku | ||||
| Tabel yang disisipkan | ||||
| DML yang dipartisi | ||||
| Pelabelan sesi | ||||
| Prioritas permintaan | ||||
| Pemberian tag permintaan | ||||
| Batasan | Lihat | Lihat | Lihat | Lihat |
IDE dan klien SQL yang didukung
Alat berikut dapat terhubung ke database dialek PostgreSQL menggunakan PGAdapter.
| Alat | Panduan | Catatan |
|---|---|---|
| IntelliJ / DataGrip | Panduan penyiapan | Memerlukan PGAdapter. |
| DBeaver | Panduan penyiapan | Memerlukan PGAdapter. |
| psql | Panduan penyiapan | Alat command line PostgreSQL standar. |
Integrasi lainnya
| Alat | Bahasa | Panduan | Catatan |
|---|---|---|---|
| postgres_fdw | C / Ekstensi | Contoh | Foreign Data Wrapper untuk PostgreSQL. |
| connectorx | Python / Rust | Contoh | Library pemuatan data berperforma tinggi. |
| Liquibase | Java | Contoh | Pengelolaan perubahan skema database. |