Mengemulasi Spanner secara lokal

gcloud CLI menyediakan emulator dalam memori lokal, yang dapat Anda gunakan untuk mengembangkan dan menguji aplikasi. Karena emulator hanya menyimpan data dalam memori, semua status, termasuk data, skema, dan konfigurasi, akan hilang saat dimulai ulang. Emulator menawarkan API yang sama dengan layanan produksi Spanner dan ditujukan untuk pengembangan dan pengujian lokal, bukan untuk deployment produksi.

Emulator mendukung dialek GoogleSQL dan PostgreSQL. API ini mendukung semua bahasa library klien. Anda juga dapat menggunakan emulator dengan Google Cloud CLI dan REST API.

Emulator juga tersedia sebagai project open source di GitHub.

Batasan dan perbedaan

Emulator tidak mendukung hal berikut:

  • TLS/HTTPS, autentikasi, Identity and Access Management, izin, atau peran.
  • Dalam mode kueri PLAN atau PROFILE, paket kueri yang ditampilkan kosong.
  • Pernyataan ANALYZE. Emulator menerimanya, tetapi mengabaikannya.
  • Salah satu alat logging audit dan pemantauan.

Emulator juga berbeda dengan layanan produksi Spanner dalam hal berikut:

  • Pesan error mungkin tidak konsisten antara emulator dan layanan produksi.
  • Performa dan skalabilitas emulator tidak sebanding dengan layanan produksi.
  • Transaksi baca-tulis dan perubahan skema mengunci seluruh database untuk akses eksklusif hingga selesai.
  • DML yang dipartisi dan partitionQuery didukung, tetapi emulator tidak memeriksa untuk memastikan bahwa pernyataan dapat dipartisi. Artinya, pernyataan DML atau partitionQuery yang dipartisi mungkin berjalan di emulator, tetapi mungkin gagal di layanan produksi dengan error pernyataan yang tidak dapat dipartisi.

Untuk mengetahui daftar lengkap API dan fitur yang didukung, tidak didukung, dan didukung sebagian, lihat file README di GitHub.

Opsi untuk menjalankan emulator

Ada dua cara umum untuk menjalankan emulator:

Pilih cara yang sesuai untuk pengembangan aplikasi dan alur kerja pengujian Anda.

Menyiapkan emulator untuk gcloud CLI

Untuk pengguna Windows dan macOS, sebelum menginstal emulator, lakukan hal berikut:

  • Instal komponen gcloud CLI di workstation Anda:

    gcloud components install cloud-spanner-emulator
    

    Jika gcloud CLI sudah diinstal, jalankan perintah berikut untuk memastikan semua komponennya diupdate: