Ringkasan partisi geografis

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

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

Manfaat dan kasus penggunaan

Partisi geografis memungkinkan Anda mempartisi baris dalam database, yang memberikan manfaat berikut:

  • Latensi regional dalam database global: Dengan menggunakan partisi geografis, Spanner mengelola data Anda dalam satu database terpadu di berbagai lokasi yang didistribusikan secara geografis, sekaligus memastikan latensi rendah untuk akses regional. Penggunaan partisi geografis menyederhanakan operasi dan mengurangi kompleksitas dibandingkan dengan mengelola beberapa database yang di-shard.
  • Kemampuan database global: Partisi geografis menawarkan fitur database seperti transaksi global, pergerakan data antar-region, dan penerapan keunikan di seluruh region geografis.
  • Kepatuhan residensi data: Spanner memberikan komitmen residensi data di tingkat penempatan. Untuk mengetahui informasi selengkapnya, lihat kompatibilitas residensi data untuk database yang menggunakan partisi geografis.

Berikut adalah kasus penggunaan umum:

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

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

Cara kerja partisi geografis

Semua instance Spanner memiliki partisi instance utama yang disebut partisi instance default. Jika Anda tidak membuat partisi instance 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 instance tambahan di instance Anda.

Untuk menggunakan partisi geografis dalam database:

  1. Buat partisi instance tambahan di instance Anda. Partisi instance yang dibuat pengguna ini memiliki konfigurasi sendiri (regional atau multi-region) dan jumlah node.

  2. Buat database seperti biasanya. Database memiliki penempatan default yang terkait dengan partisi instance default instance.

  3. Buat penempatan di database Anda yang terkait dengan partisi instance tambahan. Database Anda dapat berinteraksi dengan partisi instance tambahan yang dibuat di instance yang sama.

  4. Buat tabel penempatan yang memiliki atribut kunci penempatan. Anda harus menggunakan kunci penempatan dalam pernyataan DML untuk menentukan partisi instance tempat data baris berada. Jika Anda membuat tabel non-penempatan di database, Spanner akan menyimpan data tersebut di partisi instance default.

Kunci penempatan untuk setiap baris dalam tabel penempatan harus ditetapkan ke salah satu hal berikut:

  • Nilai yang cocok dengan nama salah satu penempatan yang dibuat pengguna yang ditentukan untuk database tersebut; atau

  • Nilai kunci penempatan, default, yang menyimpan data di penempatan default.

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

Pertimbangan penting

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

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

    • Anda harus membuat partisi instance di instance dengan konfigurasi instance multi-region.

    • Untuk latensi yang lebih baik, sebaiknya pilih lokasi partisi instance default multi-region yang memiliki region baca-tulis dan hanya baca yang mencakup semua yurisdiksi yang diperlukan oleh aplikasi Anda. Kemudian, buat partisi instance tambahan (yang dapat bersifat regional) dengan region pemimpin yang cocok dengan region di partisi instance default multi-region.

  • Jumlah partisi instance: Terlalu banyak partisi instance dapat menyebabkan overhead, sedangkan terlalu sedikit mungkin tidak menawarkan manfaat yang cukup. Anda dapat membuat maksimum sepuluh partisi instance per instance.

Batasan

Batasan berikut berlaku selama rilis Pratinjau dan dapat berubah atau dihapus pada rilis GA atau setelahnya:

  • Partisi instance default Anda harus berupa konfigurasi multi-region.
  • Anda tidak dapat membuat partisi instance menggunakan konfigurasi dual-region.
  • Untuk setiap partisi instance, kapasitas komputasi harus minimal 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 instance.
  • Untuk setiap node di partisi instance, Anda dapat menempatkan maksimum 100 juta baris penempatan. Anda dapat melihat jumlah baris penempatan yang telah ditempatkan di setiap partisi instance di halaman Partisi instance di Google Cloud konsol.
  • Untuk setiap node di partisi instance tujuan, Spanner dapat memindahkan sekitar 10 baris penempatan per detik.
  • Anda tidak dapat membuat cadangan inkremental atau menyalin cadangan.
  • Anda tidak dapat mengaktifkan penskalaan otomatis baca-saja asimetris pada partisi instance non-default.
  • Anda tidak dapat memindahkan partisi instance ke konfigurasi instance lain.
  • Anda tidak dapat memindahkan instance yang memiliki partisi instance. (Anda dapat memindahkan setiap baris ke partisi instance yang berbeda sehingga Anda tidak perlu memindahkan instance.)
  • Penggunaan partisi instance tidak menjamin kepatuhan dan persyaratan peraturan.
  • Aliran perubahan tidak mendukung data yang dipartisi.
  • Jika Anda menggunakan pernyataan DML INSERT atau DELETE untuk tabel penempatan, pernyataan tersebut harus menjadi satu-satunya pernyataan dalam transaksi.
  • Mode transaksi baca-tulis memungkinkan Anda hanya mereferensikan kunci utama tabel penempatan dalam klausa WHERE. Jika Anda perlu mereferensikan kolom kunci non-utama tabel penempatan dalam klausa WHERE, Anda dapat menggunakan salah satu alternatif berikut:
    • Jika Anda hanya memerlukan akses baca-saja, beralihlah ke mode transaksi baca-saja.
    • Jika Anda perlu melakukan pembaruan, gunakan mode transaksi DML yang dipartisi, atau temukan kunci utama dalam kueri transaksi baca-saja, lalu, dalam transaksi baca-tulis terpisah, referensikan kunci utama yang ditampilkan dalam klausa WHERE.
  • Anda tidak dapat menggunakan skema bernama.
  • Anda tidak dapat membuat partisi instance di instance uji coba gratis atau instance berukuran granular yang lebih kecil dari satu node (1.000 unit pemrosesan).
  • Anda tidak dapat mengubah penempatan. Sebagai gantinya, Anda dapat membuat penempatan baru, menggunakan DML yang dipartisi untuk memperbarui penempatan data ke penempatan baru, lalu menghapus penempatan asli.
  • Partisi instance default Anda harus berupa konfigurasi multi-region.

Kontrol akses dengan IAM

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

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

Pemantauan

Spanner menyediakan beberapa metrik untuk membantu Anda memantau partisi instance. Setelah membuat partisi instance tambahan, Anda akan melihat filter drop-down tambahan untuk Partisi instance di halaman Insight sistem di Google Cloud konsol. Pilihan defaultnya adalah menampilkan metrik untuk Semua partisi instance. Anda dapat menggunakan drop-down untuk memfilter metrik untuk partisi instance tertentu.

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

Cadangan

Anda dapat membuat cadangan lengkap untuk database yang menggunakan partisi geografis. Anda tidak dapat menghapus partisi instance jika menggunakannya dalam cadangan. Untuk mengetahui informasi selengkapnya, lihat Membuat cadangan.

Catatan penggunaan:

  • Spanner menyimpan cadangan data yang dipartisi secara geografis di lokasi penempatan yang sama dengan data asli pada waktu versi cadangan.
  • Untuk memulihkan cadangan yang berisi data yang dipartisi secara geografis, instance tujuan Anda harus memenuhi kondisi berikut:

    • Instance tujuan harus menggunakan nama partisi instance yang sama dengan cadangan asli.
    • Setiap partisi instance di instance tujuan harus menggunakan konfigurasi instance yang sama dengan cadangan asli.

Autoscaler terkelola

Anda dapat mengaktifkan autoscaler terkelola pada partisi instance. Saat Anda mengaktifkan autoscaler terkelola, Spanner akan otomatis menyesuaikan ukuran partisi instance untuk Anda. Autoscaler terkelola bereaksi terhadap perubahan workload atau kebutuhan penyimpanan partisi instance saat beban Anda meningkat atau menurun. Autoscaler terkelola akan meningkatkan skala, menambahkan kapasitas komputasi ke partisi instance, atau menurunkan skala, menghapus kapasitas komputasi dari partisi instance.

Harga

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

Untuk mengetahui informasi selengkapnya, lihat Harga Spanner.

Langkah berikutnya