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 menyegmentasikan dan menyimpan baris lebih lanjut dalam tabel database di berbagai konfigurasi instance.
Manfaat dan kasus penggunaan
Partisi geografis memungkinkan Anda melakukan partisi baris dalam database, sehingga memberikan manfaat berikut:
- Latensi regional dalam database global: Dengan menggunakan partisi geografis, Spanner mengelola data Anda dalam satu database terpadu di seluruh 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, pemindahan data antar-region, dan penegakan keunikan di seluruh wilayah geografis.
- Kepatuhan residensi data: Spanner memberikan komitmen residensi data di tingkat penempatan. Untuk mengetahui informasi, lihat kompatibilitas residensi data untuk database yang menggunakan geo-partisi.
Berikut adalah kasus penggunaan umum:
Data terkait pengguna: Mempartisi data terkait pengguna secara geografis untuk memproses dan menyimpan data di region yang paling dekat dengan pengguna.
Data yang dilokalkan: Informasi spesifik per 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 memartisi
data dalam database, Anda harus membuat partisi instance tambahan di
instance.
Untuk menggunakan partisi geografis dalam database:
Buat partisi instance tambahan di instance Anda. Partisi instance yang dibuat pengguna ini memiliki konfigurasi (regional atau multi-region) dan jumlah node sendiri.
Buat database seperti biasa. Database memiliki penempatan default yang terkait dengan partisi instance default dari instance.
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.
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 buatan 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, penempatan, dan tabel penempatan instance:
Lokasi partisi instance: Pilih dengan cermat wilayah partisi instance yang memberikan manfaat paling besar bagi aplikasi Anda.
Meskipun Anda dapat membuat partisi instance dalam instance dengan konfigurasi instance regional, sebaiknya buat partisi instance dalam instance dengan konfigurasi instance multi-region sehingga lokasi partisi instance default juga berada dalam konfigurasi multi-region.
Selain itu, 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 berupa 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 memberikan manfaat yang cukup. Anda dapat membuat maksimum sepuluh partisi instance 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 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
danpartition-2
yang keduanya menggunakanus-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 pada halaman Partisi instance di konsol Google Cloud .
- Untuk setiap node di partisi instance tujuan, Spanner dapat memindahkan sekitar 10 baris penempatan per detik.
- Anda tidak dapat membuat cadangan untuk instance dengan partisi instance.
- Anda tidak dapat menggunakan kunci enkripsi yang dikelola pelanggan untuk instance dengan partisi instance.
- Anda tidak dapat membuat partisi instance di instance dengan penskala otomatis terkelola yang diaktifkan.
- Anda tidak dapat memindahkan partisi instance ke konfigurasi instance yang berbeda.
- Anda tidak dapat memindahkan instance yang memiliki partisi instance. (Anda dapat memindahkan baris individual 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.
- Untuk menggunakan partisi geografis, Anda harus membuat database baru yang kosong dan menetapkan opsi
opt_in_dataplacement_preview
ketrue
. Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola partisi instance. - Jika Anda menggunakan pernyataan DML
INSERT
atauDELETE
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-primer dari tabel penempatan dalam klausaWHERE
, Anda dapat menggunakan salah satu alternatif berikut:- Jika Anda hanya memerlukan akses baca saja, beralihlah ke mode transaksi hanya baca.
- Jika Anda perlu melakukan pembaruan, gunakan mode transaksi DML berpartisi, atau temukan kunci utama dalam kueri transaksi hanya baca, lalu, dalam transaksi baca-tulis terpisah, rujuk 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 terperinci yang lebih kecil dari satu node (1.000 unit pemrosesan).
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 konsol Google Cloud . Pilihan defaultnya adalah menampilkan metrik untuk partisi instance Semua. 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.
Harga
Tidak ada biaya tambahan untuk menggunakan partisi geografis. Anda akan ditagih harga Spanner standar untuk jumlah kapasitas komputasi yang digunakan instance Anda dan jumlah penyimpanan yang digunakan database Anda.
Untuk mengetahui informasi selengkapnya, lihat Harga Spanner.
Langkah berikutnya
- Pelajari cara Membuat dan mengelola partisi instance.
- Pelajari cara Membuat dan mengelola penempatan data.