Ringkasan API, library klien, dan driver ORM

Antarmuka yang tersedia

Anda dapat menggunakan salah satu dari beberapa antarmuka terprogram saat berinteraksi dengan Spanner. Berikut adalah antarmuka yang tersedia, dalam urutan yang kami rekomendasikan untuk menggunakannya:

  • Library klien: Library klien Spanner tersedia dalam beberapa bahasa dan dibuat 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 populer, 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 dibuat di gRPC. gRPC menawarkan sejumlah manfaat performa dibandingkan dengan menggunakan REST API, termasuk merepresentasikan objek dalam format buffering protokol (yang lebih cepat untuk dihasilkan 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. Perhatikan bahwa beberapa fitur yang tersedia di RPC API tidak didukung di REST API, seperti yang didokumentasikan di bawah.

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, yang mencantumkan fitur Spanner utama yang didukung oleh setiap library.

Klien Go Java Node.js Python Ruby C++ PHP C#
DDL Batch
DML Batch
Opsi pemimpin yang dapat dikonfigurasi
Kueri grafik
Tabel yang diselang-seling
Jenis JSON
Mutasi
DML yang dipartisi
Pembacaan yang dipartisi
Antarmuka PostgreSQL
Prioritas permintaan
Meminta pemberian tag
Pelabelan sesi
Pembacaan yang sudah tidak berlaku
Petunjuk pernyataan