Ringkasan API, library klien, dan driver ORM

Antarmuka yang tersedia

Anda dapat menggunakan salah satu dari beberapa antarmuka terprogram saat berinteraksi dengan Spanner. Berikut ini antarmuka yang tersedia, sesuai urutan kami merekomendasikan untuk menggunakannya:

  • Library klien: Library klien Spanner tersedia dalam beberapa bahasa dan di-build di gRPC. Library klien ini menyediakan lapisan abstraksi di atas gRPC dan menangani detail pengelolaan sesi, eksekusi transaksi, percobaan ulang, dan lainnya.
  • Driver ORM dan framework: Google mendukung driver Spanner open source untuk beberapa library pemetaan relasional objek (ORM) dan framework, seperti JDBC. Driver ini memungkinkan penggunaan database Spanner melalui API yang ditentukan oleh framework tersebut.
  • RPC API: Jika library klien atau driver ORM tidak tersedia untuk bahasa pemrograman pilihan Anda, gunakan RPC API yang dibangun berdasarkan gRPC. gRPC menawarkan sejumlah manfaat performa dibandingkan dengan menggunakan REST API, termasuk mewakili objek dalam format buffering protokol (yang lebih cepat diproduksi dan digunakan dibandingkan dengan JSON) dan koneksi persisten (yang menghasilkan lebih sedikit overhead per permintaan). Baca selengkapnya tentang manfaat ini dan manfaat lainnya di Konsep gRPC.
  • REST API: Jika Anda tidak dapat menggunakan library klien Spanner atau RPC API, gunakan REST API. Perlu diperhatikan bahwa beberapa fitur yang tersedia di RPC API tidak didukung di REST API, seperti yang didokumentasikan di bawah ini.

RPC versus REST API

Tabel ini membandingkan fitur Spanner yang tersedia melalui antarmuka RPC dan REST API-nya.

Fitur Didukung di RPC API? Didukung di REST API?
Membatalkan permintaan Ya Tidak
Menetapkan batas waktu atau waktu tunggu pada permintaan Ya Tidak
Mengirim permintaan streaming Ya. lihat ExecuteStreamingSQL dan StreamingRead. Sebagian. Streaming HTTP didukung, tetapi kontrol alur tingkat aplikasi tidak didukung.

Dukungan fitur library klien

Tabel berikut mencantumkan library klien, dengan memperhatikan fitur utama Spanner yang didukung oleh masing-masing library.

Klien Go Java Node.js Python Ruby C++ PHP C#
Petunjuk pernyataan
Mutasi
DML Batch
DDL Batch
Pembacaan yang sudah tidak berlaku
Tabel sisipan
DML Berpartisi
Pelabelan sesi
Minta prioritas
Jenis JSON
Meminta pemberian tag
Opsi pemimpin yang dapat dikonfigurasi
Pembacaan berpartisi
Antarmuka PostgreSQL