Halaman ini menjelaskan cara kerja impor dan ekspor di Memorystore for Redis.
Fitur impor dan ekspor menggunakan fitur snapshot RDB native Redis untuk mengimpor data ke dalam atau mengekspor data dari instance Memorystore for Redis. Penggunaan format RDB native mencegah lock-in dan sangat memudahkan pemindahan data dalam Google Cloud atau di luar Google Cloud. Impor dan ekspor menggunakan bucket Cloud Storage untuk menyimpan file RDB.
Perilaku instance Memorystore for Redis selama ekspor sangat mirip dengan perintah BGSAVE
di Redis open source. Memorystore for Redis melakukan impor dengan
menyalin file RDB ke direktori data instance Anda.
Untuk petunjuk cara mengimpor dan mengekspor file RDB, lihat Mengimpor data ke instance Redis dan Mengekspor data dari instance Redis.
Mengimpor perilaku fitur
Untuk performa yang optimal, Anda harus mengimpor dari bucket Cloud Storage yang berada di region yang sama dengan instance Redis Anda.
Instance Redis Anda tidak tersedia selama operasi impor. Instance Anda akan tersedia setelah operasi impor selesai.
Jika impor berhasil, data yang ada di instance akan ditimpa oleh data dalam file RDB.
Jika impor gagal karena alasan apa pun, instance akan diaktifkan, tetapi data mungkin dihapus sepenuhnya. Anda dapat mencoba kembali impor menggunakan file RDB yang sama, atau Anda dapat menggunakan file RDB lain untuk memulihkan data.
Instance Memorystore for Redis Anda dapat mengimpor file RDB dari versi Redis yang sama dan dari versi Redis sebelumnya, tetapi tidak dapat mengimpor file RDB dari versi yang lebih baru.
Operasi impor dapat dibatalkan, tetapi Anda harus memperhatikan bahwa pembatalan akan menyebabkan instance Anda pulih dengan cache yang dihapus sepenuhnya. Hal ini berlaku untuk instance Paket Dasar dan Paket Standar.
Instance hanya dapat mengimpor cadangan dari versi Redis yang lebih lama. Instance yang menjalankan Redis 5.0 dapat mengimpor RDB yang diekspor dari Redis 4.0, tetapi instance yang menjalankan Redis 4.0 tidak dapat mengimpor RDB dari Redis 5.0.
Mengekspor perilaku fitur
Anda dapat membaca dan menulis data ke instance Redis selama operasi ekspor; tetapi, Anda tidak dapat melakukan operasi admin seperti penskalaan, update, atau mengonfigurasi instance.
Instance Anda mungkin mengalami peningkatan latensi selama ekspor.
Untuk performa yang optimal, Anda harus mengekspor cadangan RDB ke bucket Cloud Storage yang berada di region yang sama dengan instance Redis Anda.
Selama ekspor, file RDB disimpan ke bucket Cloud Storage yang Anda pilih.
Anda dapat membatalkan operasi ekspor kapan saja. Pembatalan tidak memengaruhi data atau ketersediaan instance.
- Membatalkan ekspor akan menghapus file RDB yang ditulis ke
bucket Cloud Storage, dan mengosongkan memori yang digunakan oleh proses
BGSAVE
.
- Membatalkan ekspor akan menghapus file RDB yang ditulis ke
bucket Cloud Storage, dan mengosongkan memori yang digunakan oleh proses
Ekspor dapat menimpa file yang ada dengan nama yang sama tanpa izin tambahan saat menggunakan konsol Google Cloud . Untuk mengekspor file yang ada dengan
gcloud
, akun pengguna memerlukan izinstorage.objects.delete
.
Mengekspor dalam beban tulis yang tinggi
Jika Anda menjalankan ekspor selama periode beban tulis yang tinggi, penggunaan memori instance Anda dapat meningkat hingga 2X lipat, sehingga menyebabkan operasi ekspor gagal. Anda harus melakukan operasi ekspor selama periode penulisan yang rendah. Untuk memantau jumlah data Redis yang disimpan di instance, Anda dapat membuat dasbor untuk memantau penggunaan memori dan memantau metrik penggunaan memori instance dengan Cloud Monitoring.
Ekspor Memorystore for Redis menggunakan fitur BGSAVE
Redis untuk mengambil
snapshot data dalam instance. Saat mengeksekusi BGSAVE
, Redis akan membuat fork proses turunan
baru untuk mengambil snapshot. Redis menggunakan copy-on-write
selama proses ini.
Ini berarti bahwa fork awal mengalokasikan memori tambahan minimal, tetapi setiap halaman yang diubah oleh traffic tulis server Redis akan diduplikasi. Oleh karena itu, selama periode operasi tulis yang tinggi, dalam kasus terburuk, jejak memori Redis akan berlipat ganda, sehingga menyebabkan operasi ekspor gagal.
Mengekspor selama operasi BGSAVE
Anda tidak dapat mengekspor saat operasi BGSAVE
sedang berjalan. Memorystore Tingkat Standar untuk instance Redis terkadang menjalankan operasi sinkronisasi ulang penuh, atau 'sinkronisasi penuh', agar instance utama dan replika tetap disinkronkan. Sinkronisasi ulang penuh menggunakan perintah BGSAVE
, yang mencegah Memorystore melakukan ekspor.
Untuk memverifikasi apakah operasi BGSAVE
sedang berlangsung, lihat
endpoint API redis.googleapis.com/persistence/rdb/bgsave_in_progress
dengan
Metrics Explorer.
Untuk melihat metrik untuk resource yang dimonitor menggunakan Metrics Explorer, lakukan langkah berikut:
-
Di konsol Google Cloud , buka halaman leaderboard Metrics explorer:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.
- Pada elemen Metric, luaskan menu Select a metric, lalu pilih jenis resource dan jenis metrik. Misalnya, untuk membuat diagram penggunaan CPU
virtual machine, lakukan tindakan berikut:
- (Opsional) Untuk mengurangi opsi menu, masukkan bagian nama metrik dalam Panel filter. Untuk contoh ini, masukkan
utilization
. - Di menu Active resources, pilih VM instance.
- Di menu Active metric category, pilih Instance.
- Di menu Active metrics, pilih CPU utilization, lalu klik Apply.
- (Opsional) Untuk mengurangi opsi menu, masukkan bagian nama metrik dalam Panel filter. Untuk contoh ini, masukkan
Untuk memfilter deret waktu yang ditampilkan, gunakan elemen Filter.
Untuk menggabungkan deret waktu, gunakan menu pada elemen Aggregation. Misalnya, untuk menampilkan pemakaian CPU untuk VM Anda, berdasarkan zonanya, tetapkan menu pertama ke Mean dan menu kedua ke zone.
Semua deret waktu akan ditampilkan saat menu pertama elemen Aggregation ditetapkan ke Unaggregated. Setelan default untuk elemen Aggregation ditentukan oleh jenis metrik yang Anda pilih.
Atau, Anda dapat menggunakan alat API command line Anda sendiri.
Izin yang diperlukan untuk mengimpor dan mengekspor
Pengguna perlu mengonfigurasi izin IAM yang memadai untuk mengimpor atau mengekspor file RDB. Penyiapan izin yang paling sederhana adalah menerapkan peran IAM Cloud Memorystore Redis Admin dan Storage Admin ke akun pengguna, tetapi penyiapan ini mungkin tidak sesuai untuk beberapa akun pengguna karena memberi mereka izin untuk membuat, mengedit, atau menghapus resource yang tidak boleh mereka akses. Untuk mengetahui petunjuk tentang cara menetapkan izin yang dibatasi secara minimal, lihat Memberikan izin terbatas untuk impor dan ekspor.
Durasi impor dan ekspor
Durasi impor atau ekspor bergantung pada ukuran instance dan ukuran set data dalam instance. Bergantung pada ukurannya, impor dan ekspor dapat memerlukan waktu beberapa menit hingga beberapa jam.
Misalnya, jika Anda mengimpor atau mengekspor instance 10 GB dengan memori yang digunakan sebesar 8 GB, operasi ini dapat memerlukan waktu 5 menit. Jika Anda mengimpor atau mengekspor instance 120 GB dengan memori yang digunakan sebesar 100 GB, operasi ini dapat memerlukan waktu satu jam.
Menghentikan impor atau ekspor
Untuk menghentikan impor atau ekspor, lihat halaman berikut:
Memantau progres operasi
Estimasi waktu penyelesaian tidak tersedia saat melakukan impor dan ekspor. Anda dapat memeriksa apakah operasi sedang berlangsung dengan memeriksa halaman detail instance. Untuk melihat halaman detail instance, klik ID instance Anda di halaman daftar instance Memorystore for Redis.
Anda juga dapat memantau progres operasi impor dengan menjalankan perintah berikut:
gcloud redis instances describe [INSTANCE_ID] --region=[REGION]
Dengan keterangan:
[INSTANCE_ID]
adalah ID untuk instance Memorystore for Redis Anda.[REGION]
adalah region tempat instance Anda berada.
Perintah ini menghasilkan state: IMPORTING
atau state: READY
sebagai salah satu
kolom deskripsi.
Bucket Cloud Storage yang tidak didukung
Bucket Cloud Storage Pemohon Membayar tidak didukung untuk impor dan ekspor Memorystore.
Mengamankan bucket Cloud Storage
Anda harus memastikan bahwa bucket Cloud Storage Anda memiliki batasan yang tepat untuk mencegah akses tidak sah ke cadangan RDB Redis yang ada di dalamnya. Harap baca Opsi Kontrol Akses Cloud Storage tentang cara mengamankan bucket Cloud Storage Anda.
Memastikan memori yang cukup untuk menyelesaikan ekspor
Untuk mencegah ekspor menyebabkan kehabisan memori, Anda harus memiliki memori bebas sebesar 50% di instance selama proses ekspor. Hal ini mungkin tidak diperlukan sepanjang waktu, bergantung pada beban tulis Anda, tetapi memiliki memori kosong 50% memastikan bahwa ada cukup ruang kosong untuk mengakomodasi overhead copy-on-write, jika banyak halaman yang diakses selama proses ekspor.
Untuk memahami penggunaan memori instance saat ini, siapkan pemberitahuan untuk memberi tahu Anda saat penggunaan memori mencapai nilai minimum yang dapat disesuaikan. Selain itu, Anda harus menyiapkan dasbor pemantauan memori dengan Cloud Monitoring. Pengukuran ini memungkinkan Anda memahami pola penggunaan memori instance. Dengan memahami pola penggunaan memori, Anda dapat menyesuaikan ukuran instance dengan benar saat mengekspor secara berkala.
Mengekspor dan mengimpor ke instance dengan replika baca
Untuk semua instance Redis, termasuk instance yang mengaktifkan replika baca, data diekspor dari node utama.
Untuk instance yang mengaktifkan replika baca, ekspor dapat meningkatkan beban CPU dan jejak memori di node utama.
Saat mengimpor data ke instance yang mengaktifkan replika baca, instance utama akan dimulai ulang selama operasi impor, dan instance tidak tersedia hingga data baru dimuat sepenuhnya ke database.
Langkah selanjutnya
Ikuti panduan untuk Mengimpor data ke instance Redis.
Ikuti panduan untuk Mengekspor data dari instance Redis.