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 seluruh lokasi geografis. Partisi geografis memungkinkan Anda lebih lanjut menyegmentasikan dan menyimpan baris di tabel database di berbagai konfigurasi instance.
Manfaat dan kasus penggunaan
Manfaat partisi geografis meliputi hal berikut:
Mengurangi latensi operasi tulis dan baca yang kuat dengan memungkinkan Anda menyimpan data di lokasi geografis yang sama dengan kueri Anda.
Mengoptimalkan biaya untuk beban kerja global asimetris (misalnya, menggunakan partisi
us-central1
dengan 10 node dan partisiasia-south1
dengan 2 node).
Berikut adalah kasus penggunaan umum:
Data terkait pengguna: Partisi geografis data terkait pengguna untuk memproses dan menyimpan data di region yang paling dekat dengan pengguna.
Data yang dilokalkan: Informasi spesifik per lokasi seperti traffic 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 di instance. Partisi yang dibuat pengguna ini memiliki konfigurasi dan jumlah nodenya sendiri (regional atau multi-region). Buat database seperti biasa; database Anda dapat berinteraksi dengan partisi yang dibuat dalam instance yang sama. Kemudian, buat penempatan di database Anda yang terkait 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 di 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 dengan cermat region partisi yang memberikan manfaat terbesar untuk aplikasi Anda.
Meskipun Anda dapat membuat partisi di instance dengan konfigurasi instance regional, sebaiknya buat partisi di 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 pemimpin yang cocok dengan region dalam partisi default multi-region.
Jumlah partisi: Terlalu banyak partisi dapat menyebabkan overhead, sedangkan terlalu sedikit mungkin tidak menawarkan cukup manfaat. Anda dapat membuat maksimal sepuluh partisi per instance.
Batasan
Batasan berikut berlaku selama rilis Pratinjau dan dapat berubah atau dihapus setelah rilis GA atau setelahnya:
- Anda tidak dapat membuat partisi instance menggunakan konfigurasi region ganda.
- Untuk setiap partisi, 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
danpartition-2
yang keduanya menggunakanus-central1
sebagai konfigurasi partisi. - Untuk setiap node dalam partisi, Anda dapat menempatkan maksimal 100 juta baris penempatan. Anda dapat melihat jumlah baris penempatan yang telah ditempatkan di setiap partisi di halaman Partisi pada konsol Google Cloud.
- Untuk setiap node di 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 dengan partisi.
- Anda tidak dapat menggunakan kunci enkripsi yang dikelola pelanggan untuk instance dengan partisi.
- Anda tidak dapat membuat partisi instance di instance dengan autoscaler terkelola yang diaktifkan.
- Anda tidak dapat memindahkan partisi ke konfigurasi instance yang berbeda.
- Anda tidak dapat memindahkan instance yang memiliki partisi. (Anda dapat memindahkan setiap baris ke partisi yang berbeda sehingga Anda tidak perlu memindahkan instance.)
- Penggunaan partisi tidak menjamin kepatuhan dan persyaratan peraturan.
- Aliran perubahan tidak mendukung data yang dipartisi.
- Untuk menggunakan partisi geografis, Anda harus membuat database kosong baru dan menetapkan opsi
opt_in_dataplacement_preview
ketrue
. Untuk informasi selengkapnya, lihat Membuat dan mengelola partisi. - Jika Anda menggunakan pernyataan DML
INSERT
atauDELETE
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 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. Setelah membuat partisi tambahan, Anda akan melihat filter drop-down tambahan untuk Partisi di halaman Insight sistem di konsol Google Cloud. Pilihan default-nya adalah menampilkan metrik untuk partisi Semua. 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
Penggunaan partisi geografis tidak dikenai biaya tambahan. Anda dikenai biaya harga Spanner standar untuk jumlah kapasitas komputasi yang digunakan instance dan jumlah penyimpanan yang digunakan database.
Untuk mengetahui informasi selengkapnya, lihat Harga Spanner.
Langkah selanjutnya
- Pelajari cara Membuat dan mengelola partisi.
- Pelajari cara Membuat dan mengelola penempatan data.