Ringkasan partisi geografis

Halaman ini memperkenalkan dan menjelaskan cara kerja partisi geografis di Spanner.

Spanner menawarkan konfigurasi instance regional dan multi-regional, yang memungkinkan Anda mereplikasi data di berbagai lokasi geografis. Partisi geografis memungkinkan Anda membuat segmen dan menyimpan baris lebih lanjut dalam tabel database di berbagai konfigurasi instance.

Manfaat dan kasus penggunaan

Manfaat dari partisi geografis meliputi hal berikut:

  • Mengurangi latensi baca yang kuat dan tulis dengan memungkinkan Anda menyimpan data di lokasi geografis yang sama dengan kueri.

  • Mengoptimalkan biaya untuk workload global asimetris (misalnya, menggunakan partisi us-central1 dengan 10 node dan partisi asia-south1 dengan 2 node).

Berikut ini adalah kasus penggunaan umum:

  • Data terkait pengguna: Mempartisi secara geografis data terkait pengguna untuk memproses dan menyimpan data di region yang terdekat dengan pengguna.

  • Data yang dilokalkan: Informasi spesifik per lokasi seperti lalu lintas dan peristiwa khusus.

Cara kerja partisi geografis

Semua instance Spanner memiliki partisi instance utama yang disebut partisi default. Jika Anda tidak membuat partisi tambahan, semua objek database akan disimpan di partisi default, yang berada di lokasi yang sama dengan konfigurasi instance Anda.

Jika ingin mempartisi data dalam database, Anda harus membuat partisi tambahan dalam instance. Partisi buatan pengguna ini memiliki konfigurasinya sendiri (baik regional atau multi-region) dan jumlah node. Buat database seperti biasa; database Anda dapat berinteraksi dengan partisi yang dibuat dalam instance yang sama. Kemudian, buat penempatan dalam database Anda yang dikaitkan dengan partisi. Terakhir, Anda dapat membuat tabel penempatan yang memiliki atribut kunci penempatan. Anda harus menggunakan kunci penempatan dalam pernyataan DML untuk menentukan partisi tempat data baris berada. Jika Anda membuat tabel non-penempatan dalam database, Spanner akan menyimpan data tersebut di partisi default.

Untuk mengetahui petunjuk cara menggunakan partisi, lihat membuat dan mengelola partisi.

Pertimbangan penting

Pertimbangkan hal berikut sebelum membuat partisi, penempatan, dan tabel penempatan:

  • Lokasi partisi: Pilih region partisi dengan cermat yang memberikan manfaat terbesar untuk aplikasi Anda.

    Meskipun Anda dapat membuat partisi dalam instance dengan konfigurasi instance regional, sebaiknya buat partisi dalam instance dengan konfigurasi instance multi-region sehingga lokasi partisi default juga berada dalam konfigurasi multi-region.

    Selain itu, pilih lokasi partisi default multi-region yang memiliki region baca-tulis dan hanya baca yang mencakup semua wilayah hukum yang diperlukan oleh aplikasi Anda. Kemudian, buat partisi tambahan (yang dapat bersifat regional) dengan region teratas yang cocok dengan region di partisi default multi-region.

  • Jumlah partisi: Terlalu banyak partisi dapat menyebabkan overhead, sedangkan jumlah partisi yang terlalu sedikit mungkin tidak memberikan manfaat yang memadai. Anda dapat membuat maksimal sepuluh partisi per instance.

Batasan

Partisi geografis memiliki batasan berikut:

  • Partisi geografis tidak mendukung database dialek PostgreSQL.
  • Untuk setiap partisi, kapasitas komputasi minimal harus satu node (1.000 unit pemrosesan).
  • Untuk instance tertentu, Anda tidak dapat membuat lebih dari satu partisi instance yang menggunakan konfigurasi instance dasar yang sama. Misalnya, dalam test-instance, Anda tidak dapat membuat dua partisi, partition-1 dan partition-2 yang keduanya menggunakan us-central1 sebagai konfigurasi partisi.
  • Untuk setiap node di partisi, Anda dapat menempatkan maksimal 20 juta baris. Anda dapat melihat jumlah baris yang telah ditempatkan di setiap partisi Anda pada halaman Partisi di Konsol Google Cloud.
  • Untuk setiap node dalam partisi instance tujuan, Spanner dapat memindahkan sekitar 10 baris penempatan per detik.
  • Anda tidak dapat membuat partisi di instance uji coba gratis atau instance berukuran terperinci yang lebih kecil dari satu node (1.000 unit pemrosesan).
  • Anda tidak dapat membuat cadangan untuk instance yang memiliki partisi.
  • Anda tidak dapat menggunakan kunci enkripsi yang dikelola pelanggan untuk instance dengan partisi.
  • Anda tidak dapat membuat partisi instance dalam sebuah instance dengan autoscaler terkelola yang diaktifkan.
  • Anda tidak dapat memindahkan partisi ke konfigurasi instance yang berbeda.
  • Anda tidak dapat memindahkan instance yang memiliki partisi.
  • Menggunakan partisi tidak menjamin persyaratan keamanan, kepatuhan, dan peraturan.
  • Aliran data perubahan tidak mendukung data yang dipartisi.
  • Untuk menggunakan partisi geografis, Anda harus membuat database baru yang kosong dan menetapkan opsi opt_in_dataplacement_preview ke true. Untuk informasi selengkapnya, lihat Membuat dan mengelola penempatan data.
  • Jika Anda menggunakan pernyataan DML INSERT atau DELETE untuk tabel penempatan, pernyataan tersebut harus menjadi satu-satunya pernyataan dalam transaksi.

Kontrol akses dengan IAM

Anda harus memiliki izin spanner.instancePartitions.create, spanner.instancePartitions.update, dan spanner.instancePartitions.delete untuk membuat dan mengelola partisi. Jika hanya perlu melihat partisi, Anda harus memiliki izin spanner.instancePartitions.list atau spanner.instancePartitions.get. Untuk mengetahui informasi selengkapnya, lihat ringkasan IAM.

Untuk informasi tentang cara memberikan izin IAM Spanner, lihat Menerapkan izin IAM.

Pemantauan

Spanner menyediakan beberapa metrik untuk membantu Anda memantau partisi. Setelah membuat partisi tambahan, Anda akan melihat filter drop-down tambahan untuk Partitions di halaman System insights di Konsol Google Cloud. Pilihan defaultnya adalah menampilkan metrik untuk All. Anda dapat menggunakan drop-down untuk memfilter metrik untuk partisi tertentu.

Untuk mempelajari lebih lanjut cara memantau resource Spanner, lihat Memantau instance dengan Cloud Monitoring.

Harga

Tidak ada biaya tambahan untuk menggunakan partisi geografis. Anda dikenai biaya Spanner standar untuk jumlah kapasitas komputasi yang digunakan instance dan jumlah penyimpanan yang digunakan database.

Untuk informasi selengkapnya, lihat harga Spanner.

Langkah selanjutnya