Mengonfigurasi persistensi data untuk instans Azure Cache for Redis
Persistensi Redis memungkinkan Anda mempertahankan data yang disimpan dalam instans cache. Jika ada kegagalan perangkat keras, instans cache direhidrasi dengan data dari file persistensi ketika kembali online. Kemampuan untuk mempertahankan data adalah cara penting untuk meningkatkan durabilitas instans cache karena semua data cache disimpan dalam memori. Kehilangan data dimungkinkan jika kegagalan terjadi ketika simpul cache tidak berfungsi. Persistensi harus menjadi bagian penting dari ketersediaan tinggi dan strategi pemulihan bencana Anda dengan Azure Cache for Redis.
Peringatan
Jika Anda menggunakan persistensi pada tingkat Premium, periksa untuk melihat apakah akun penyimpanan Anda mengaktifkan penghapusan sementara sebelum menggunakan fitur persistensi data. Menggunakan persistensi data dengan penghapusan sementara menyebabkan biaya penyimpanan yang sangat tinggi. Untuk informasi selengkapnya, lihat Apakah saya harus mengaktifkan penghapusan sementara?.
Peringatan
Opsi selalu tulis untuk persistensi AOF pada tingkat Enterprise dan Enterprise Flash diatur untuk dihentikan pada 1 April 2025. Opsi ini memiliki batasan performa yang signifikan tidak lagi direkomendasikan. Menggunakan opsi tulis setiap detik atau menggunakan persistensi RDB disarankan sebagai gantinya.
Cakupan ketersediaan
Tingkat | Dasar, Standar | Premium | Enterprise, Enterprise Flash |
---|---|---|---|
Tersedia | Tidak | Ya | Yes (pratinjau) |
Jenis persistensi data di Redis
Anda memiliki dua opsi untuk persistensi dengan Azure Cache for Redis: format database Redis (RDB) dan format Tambahkan hanya File (AOF):
- Persistensi RDB - Saat Anda menggunakan persistensi RDB, Azure Cache for Redis menyimpan rekam jepret cache Anda dalam format biner. Salinan bayangan disimpan di akun Microsoft Azure Storage. Frekuensi cadangan yang dapat dikonfigurasi menentukan seberapa sering salinan bayangan untuk bertahan. Jika peristiwa bencana terjadi yang menonaktifkan cache primer dan replika, cache direkonstruksi secara otomatis menggunakan rekam jepret terbaru. Pelajari selengkapnya tentang kelebihan dan kekurangan persistensi RDB.
- Persistensi AOF - Saat Anda menggunakan persistensi AOF, Azure Cache for Redis menyimpan setiap operasi penulisan ke log. Log disimpan setidaknya sekali per detik di akun Azure Storage. Jika terjadi bencana yang menonaktifkan cache primer dan replika, cache direkonstruksi secara otomatis menggunakan operasi tulis tersimpan. Pelajari selengkapnya tentang kelebihan dan kekurangan persistensi AOF.
Fitur persistensi Azure Cache for Redis dimaksudkan untuk digunakan untuk memulihkan data secara otomatis ke cache yang sama setelah kehilangan data. File data persisten RDB/AOF tidak dapat diimpor ke cache baru atau cache yang ada. Untuk memindahkan data di seluruh cache, gunakan fitur Impor dan Ekspor . Untuk informasi dan petunjuk selengkapnya, lihat Mengimpor dan Mengekspor data di Azure Cache for Redis.
Untuk menghasilkan cadangan data apa pun yang dapat ditambahkan ke cache baru, Anda dapat menulis skrip otomatis menggunakan PowerShell atau CLI yang mengekspor data secara berkala.
Prasyarat dan batasan
Fitur persistensi dimaksudkan untuk digunakan memulihkan data ke cache yang sama setelah kehilangan data.
- File data tetap RDB/AOF tidak dapat diimpor ke cache baru atau cache yang ada. Gunakan fitur Impor/Ekspor sebagai gantinya.
- Persistensi tidak didukung dengan cache menggunakan replikasi geografis pasif atau replikasi geografis aktif.
- Pada tingkat Premium, persistensi AOF tidak didukung dengan beberapa replika.
- Pada tingkat Premium, data harus disimpan ke akun penyimpanan di wilayah yang sama dengan instans cache.
- Pada tingkat Premium, akun penyimpanan dalam langganan yang berbeda dapat digunakan untuk mempertahankan data jika identitas terkelola digunakan untuk menyambungkan ke akun penyimpanan.
Perbedaan antara persistensi di tingkat Premium dan Enterprise
Pada tingkat Premium, data disimpan langsung ke akun Azure Storage yang Anda miliki dan kelola. Azure Storage secara otomatis mengenkripsi data saat data disimpan, tetapi Anda juga dapat menggunakan kunci Anda sendiri untuk enkripsi. Untuk informasi selengkapnya, lihat Kunci yang dikelola pelanggan untuk enkripsi Azure Storage.
Peringatan
Jika Anda menggunakan persistensi pada tingkat Premium, periksa untuk melihat apakah akun penyimpanan Anda mengaktifkan penghapusan sementara sebelum menggunakan fitur persistensi data. Menggunakan persistensi data dengan penghapusan sementara menyebabkan biaya penyimpanan yang sangat tinggi. Untuk informasi selengkapnya, lihat Apakah saya harus mengaktifkan penghapusan sementara?.
Pada tingkat Enterprise dan Enterprise Flash, data disimpan ke disk terkelola yang dilampirkan langsung ke instans cache. Lokasi tidak dapat dikonfigurasi atau dapat diakses oleh pengguna. Menggunakan disk terkelola meningkatkan performa persistensi. Disk dienkripsi menggunakan kunci terkelola Microsoft (MMK) secara default, tetapi kunci yang dikelola pelanggan (CMK) juga dapat digunakan. Untuk informasi selengkapnya, lihat mengelola enkripsi data.
Cara menyiapkan persistensi data menggunakan portal Azure
Cara menyiapkan persistensi data menggunakan PowerShell dan Azure CLI
Mengelola enkripsi data
Karena persistensi Redis membuat data tidak aktif, mengenkripsi data ini menjadi perhatian penting bagi banyak pengguna. Opsi enkripsi bervariasi berdasarkan tingkat Azure Cache for Redis yang digunakan.
Dengan tingkat Premium, data dialirkan langsung dari instans cache ke Azure Storage saat persistensi dimulai. Berbagai metode enkripsi dapat digunakan dengan Azure Storage, termasuk kunci yang dikelola Microsoft, kunci yang dikelola pelanggan, dan kunci yang disediakan pelanggan. Untuk informasi tentang metode enkripsi, lihat Enkripsi Azure Storage untuk data tidak aktif.
Dengan tingkat Enterprise dan Enterprise Flash, data disimpan pada disk terkelola yang dipasang ke instans cache. Secara default, disk yang menyimpan data persistensi, dan disk OS dienkripsi menggunakan kunci yang dikelola Microsoft. Kunci yang dikelola pelanggan (CMK) juga dapat digunakan untuk mengontrol enkripsi data. Lihat Enkripsi di cache tingkat Perusahaan untuk instruksi.
Tanya Jawab Umum Persistensi
Daftar berikut terdiri atas jawaban atas pertanyaan umum tentang persistensi Azure Cache for Redis.
- Dapatkah saya mengaktifkan persistensi pada cache yang dibuat sebelumnya?
- Dapatkah saya mengaktifkan persistensi AOF dan RDB secara bersamaan?
- Bagaimana persistensi bekerja dengan replikasi geografis?
- Model persistensi mana yang harus saya pilih?
- Apa yang terjadi jika saya telah menskalakan ke ukuran yang berbeda dan cadangan dipulihkan yang dibuat sebelum operasi penskalaan?
- Dapatkah saya menggunakan akun penyimpanan yang sama untuk persistensi di dua cache yang berbeda?
- Apakah saya akan dikenakan biaya untuk penyimpanan yang digunakan dalam Persistensi Data
- Seberapa sering persistensi RDB dan AOF menulis ke blob saya, dan haruskah saya mengaktifkan penghapusan sementara?
- Apakah pengecualian firewall pada akun penyimpanan akan memengaruhi persistensi
- Bagaimana cara memeriksa apakah penghapusan sementara diaktifkan di akun penyimpanan saya?
Persistensi RDB
- Dapatkah saya mengubah frekuensi cadangan RDB setelah membuat cache?
- Mengapa ada lebih dari 60 menit antara cadangan ketika saya memiliki frekuensi cadangan RDB 60 menit?
- Apa yang terjadi pada cadangan RDB lama ketika cadangan baru dibuat?
Persistensi AOF
- Kapan saya harus menggunakan akun penyimpanan kedua?
- Apakah persistensi AOF memengaruhi throughput, latensi, atau performa cache saya?
- Bagaimana cara menghapus akun penyimpanan kedua?
- Apa yang dimaksud regenerasi dan bagaimana pengaruhnya terhadap cache saya?
- Apa yang harus saya harapkan saat menskalakan cache dengan AOF diaktifkan?
- Bagaimana data AOF saya diatur dalam penyimpanan?
- Dapatkah saya mengaktifkan persistensi AOF jika saya memiliki lebih dari satu replika?
Dapatkah saya mengaktifkan persistensi pada cache yang dibuat sebelumnya?
Ya, persistensi dapat dikonfigurasi baik pada pembuatan cache maupun pada cache Premium, Enterprise, atau Enterprise Flash yang ada.
Dapatkah saya mengaktifkan persistensi AOF dan RDB secara bersamaan?
Tidak, Anda dapat mengaktifkan RDB atau AOF, tetapi tidak keduanya pada saat yang sama.
Bagaimana persistensi bekerja dengan replikasi geografis?
Jika Anda mengaktifkan persistensi data, replikasi geografis tidak dapat diaktifkan untuk cache Anda.
Model persistensi mana yang harus saya pilih?
Persistensi AOF menyimpan setiap tulisan ke log, yang memiliki efek signifikan pada throughput. Membandingkan AOF dengan persistensi RDB, yang menyimpan cadangan didasarkan pada interval cadangan yang dikonfigurasi dengan efek minimal terhadap performa. Pilih persistensi AOF jika tujuan utama Anda adalah meminimalkan kehilangan data, dan Anda dapat menangani throughput yang lebih rendah untuk cache Anda. Pilih persistensi RDB jika Anda ingin mempertahankan throughput optimal pada cache Anda, tetapi masih menginginkan mekanisme untuk pemulihan data.
- Pelajari selengkapnya tentang kelebihan dan kekurangan persistensi RDB.
- Pelajari selengkapnya tentang kelebihan dan kekurangan persistensi AOF.
Untuk informasi selengkapnya tentang performa saat menggunakan persistensi AOF, lihat Apakah persistensi AOF memengaruhi throughput, latensi, atau performa cache saya?
Apakah persistensi AOF memengaruhi throughput, latensi, atau performa cache saya?
Persistensi AOF memang memengaruhi throughput. AOF berjalan pada proses utama dan replika, oleh karena itu Anda melihat CPU dan Beban Server yang lebih tinggi untuk cache dengan persistensi AOF daripada cache yang identik tanpa persistensi AOF. AOF menawarkan konsistensi terbaik dengan data dalam memori karena setiap penulisan dan penghapusan hanya bertahan dengan beberapa detik penundaan. Trade-off adalah bahwa AOF lebih intensif komputasi.
Selama CPU dan Beban Server keduanya kurang dari 90%, ada penalti pada throughput, tetapi cache beroperasi secara normal, jika tidak. Di atas 90% CPU dan Beban Server, penalti throughput bisa menjadi jauh lebih tinggi, dan latensi semua perintah yang diproses oleh cache meningkat. Latensi meningkat karena persistensi AOF berjalan pada proses primer dan replika, meningkatkan beban pada node yang digunakan, dan menempatkan persistensi pada jalur penting data.
Apa yang terjadi jika saya telah menskalakan ke ukuran yang berbeda dan cadangan dipulihkan yang dibuat sebelum operasi penskalaan?
Untuk persistensi RDB dan AOF:
- Jika Anda telah menskalakan ke ukuran yang lebih besar, tidak ada efeknya.
- Jika Anda telah menskalakan ke ukuran yang lebih kecil, dan memiliki pengaturan database kustom yang lebih besar dari batas database untuk ukuran baru Anda, data dalam database tersebut tidak dipulihkan. Untuk informasi selengkapnya, lihat Apakah pengaturan database kustom saya terpengaruh selama penskalaan?
- Jika Anda telah menskalakan ke ukuran yang lebih kecil, dan tidak ada cukup ruang dalam ukuran yang lebih kecil untuk menahan semua data dari cadangan terakhir, kunci digusur selama proses pemulihan. Biasanya, kunci digusur menggunakan kebijakan penggusuran allkeys-lru.
Dapatkah saya menggunakan akun penyimpanan yang sama untuk persistensi di dua cache yang berbeda?
Tidak, Anda harus menggunakan akun penyimpanan yang berbeda untuk cache yang berbeda. Setiap cache harus memiliki akun penyimpanannya sendiri untuk disiapkan untuk persistensi.
Penting
Gunakan akun penyimpanan terpisah untuk persistensi dan melakukan operasi ekspor berkala pada cache.
Apakah saya akan dikenakan biaya untuk penyimpanan yang digunakan dalam persistensi data?
- Untuk cache Premium , Anda dikenakan biaya untuk penyimpanan yang digunakan sesuai model harga akun penyimpanan yang digunakan.
- Untuk cache Enterprise dan Enterprise Flash , Anda tidak dikenakan biaya untuk penyimpanan disk terkelola. Ini termasuk dalam harga.
Seberapa sering persistensi RDB dan AOF menulis ke blob saya, dan haruskah saya mengaktifkan penghapusan sementara?
Sebaiknya hindari mengaktifkan penghapusan sementara pada akun penyimpanan saat digunakan dengan persistensi data Azure Cache for Redis dengan tingkat Premium. Persistensi RDB dan AOF dapat menulis ke blob Anda sesering setiap jam, setiap beberapa menit, atau setiap detik. Selain itu, mengaktifkan penghapusan sementara pada akun penyimpanan berarti Azure Cache for Redis tidak dapat meminimalkan biaya penyimpanan dengan menghapus data cadangan lama.
Penghapusan sementara dengan cepat menjadi mahal dengan ukuran data khas cache yang juga melakukan operasi tulis setiap detik. Untuk informasi lebih lanjut terkait biaya penghapusan sementara, lihat Penetapan harga dan Penagihan.
Dapatkah saya mengubah frekuensi cadangan RDB setelah membuat cache?
Ya, Anda dapat mengubah frekuensi pencadangan untuk persistensi RDB menggunakan portal Azure, CLI, atau PowerShell.
Mengapa ada lebih dari 60 menit antara cadangan ketika saya memiliki frekuensi cadangan RDB 60 menit?
Interval frekuensi cadangan persistensi RDB tidak dimulai sampai proses cadangan sebelumnya berhasil diselesaikan. Jika frekuensi cadangan adalah 60 menit dan dibutuhkan proses cadangan 15 menit untuk menyelesaikan, cadangan berikutnya tidak akan dimulai sampai 75 menit setelah waktu mulai cadangan sebelumnya.
Apa yang terjadi pada cadangan RDB lama ketika cadangan baru dibuat?
Semua cadangan persistensi RDB, kecuali yang terbaru, akan dihapus secara otomatis. Penghapusan ini mungkin tidak segera terjadi, tetapi cadangan yang lebih lama tidak bertahan tanpa batas waktu. Jika Anda menggunakan tingkat Premium untuk persistensi, dan penghapusan sementara diaktifkan untuk akun penyimpanan Anda, pengaturan penghapusan sementara berlaku, dan cadangan yang ada terus berada dalam status penghapusan sementara.
Kapan saya harus menggunakan akun penyimpanan kedua?
Gunakan akun penyimpanan kedua untuk persistensi AOF saat Anda merasa memiliki operasi set yang lebih tinggi dari yang diharapkan pada cache. Menyiapkan akun penyimpanan sekunder membantu memastikan cache Anda tidak mencapai batas bandwidth penyimpanan. Opsi ini hanya tersedia untuk cache tingkat Premium.
Bagaimana cara menghapus akun penyimpanan kedua?
Anda dapat menghapus akun penyimpanan sekunder persistensi AOF dengan mengatur akun penyimpanan kedua agar sama dengan akun penyimpanan pertama. Untuk cache yang ada, akses Persistensi data dari menu Sumber Daya untuk cache Anda. Untuk menonaktifkan persistensi AOF, pilih Dinonaktifkan.
Apa yang dimaksud regenerasi dan bagaimana pengaruhnya terhadap cache saya?
Ketika file AOF menjadi cukup besar, regenerasi secara otomatis diantrikan di cache. Regenerasi mengubah ukuran file AOF dengan kumpulan operasi minimal yang diperlukan untuk membuat himpunan data saat ini. Selama regenerasi, Anda dapat mengharapkan untuk mencapai batas performa lebih cepat, terutama ketika berhadapan dengan himpunan data besar. Penulisan ulang terjadi lebih jarang karena file AOF menjadi lebih besar, tetapi membutuhkan waktu yang signifikan ketika itu terjadi.
Apa yang harus saya harapkan saat menskalakan cache dengan AOF diaktifkan?
Jika file AOF pada saat penskalaan besar, maka harapkan operasi skala memakan waktu lebih lama dari yang diharapkan karena memuat ulang file setelah penskalaan selesai.
Untuk informasi selengkapnya tentang penskalaan, lihat Apa yang terjadi jika saya telah menskalakan ke ukuran yang berbeda dan cadangan dipulihkan yang dibuat sebelum operasi penskalaan?
Bagaimana data AOF saya diatur dalam penyimpanan?
Saat Anda menggunakan tingkat Premium, data yang disimpan dalam file AOF dibagi menjadi beberapa blob halaman per shard. Secara default, setengah dari blob disimpan di akun penyimpanan utama dan setengahnya disimpan di akun penyimpanan sekunder. Memisahkan data di beberapa blob halaman dan dua akun penyimpanan yang berbeda meningkatkan performa.
Jika tingkat puncak penulisan ke cache tidak terlalu tinggi, maka performa tambahan ini mungkin tidak diperlukan. Dalam hal ini, konfigurasi akun penyimpanan sekunder dapat dihapus. Semua file AOF disimpan hanya dalam satu akun penyimpanan utama. Tabel berikut ini menampilkan berapa banyak total blob halaman yang digunakan untuk setiap tingkat harga:
Tingkat premium | Blobs |
---|---|
Hal 1 | 8 per pecahan |
P2 | 16 per pecahan |
P3 | 32 per pecahan |
P4 | 40 per pecahan |
Saat pengklusteran diaktifkan, setiap pecahan dalam cache memiliki kumpulan objek besar biner halamannya sendiri, seperti ditunjukkan pada tabel sebelumnya. Misalnya, cache P2 dengan tiga shard mendistribusikan file AOF-nya di 48 blob halaman: enam belas blob per shard, dengan tiga shard.
Setelah regenerasi, dua kumpulan file AOF ada di penyimpanan. Regenerasi terjadi di latar belakang dan tambahkan ke kumpulan file pertama. Atur operasi, dikirim ke cache selama regenerasi, tambahkan ke kumpulan kedua. Cadangan disimpan sementara selama regenerasi jika ada kegagalan. Pencadangan segera dihapus setelah regenerasi selesai. Jika penghapusan sementara diaktifkan untuk akun penyimpanan Anda, pengaturan penghapusan sementara diterapkan dan cadangan yang ada tetap berlanjut dalam status penghapusan sementara.
Apakah memiliki pengecualian firewall pada akun penyimpanan akan memengaruhi persistensi?
Menggunakan identitas terkelola menambahkan instans cache ke daftar layanan tepercaya dan membuat pengecualian firewall lebih mudah dilakukan. Jika Anda tidak menggunakan identitas terkelola dan justru melakukan otorisasi ke akun penyimpanan menggunakan kunci, maka pengecualian firewall pada akun penyimpanan cenderung merusak proses persistensi. Ini hanya berlaku untuk persistensi di tingkat Premium.
Dapatkah saya mengaktifkan persistensi AOF jika saya memiliki lebih dari satu replika?
Dengan tingkat Premium, Anda tidak dapat menggunakan persistensi File Khusus Tambahan (AOF) dengan beberapa replika. Di tingkat Enterprise dan Enterprise Flash, arsitektur replika lebih rumit, tetapi persistensi AOF didukung ketika cache Enterprise digunakan dalam penyebaran zona redundan.
Bagaimana cara memeriksa apakah penghapusan sementara diaktifkan di akun penyimpanan saya?
Pilih akun penyimpanan yang digunakan cache Anda untuk persistensi. Pilih Perlindungan Data dari menu Sumber Daya. Di panel kerja, periksa status Aktifkan penghapusan sementara untuk blob. Untuk informasi selengkapnya tentang penghapusan sementara di akun penyimpanan Azure, lihat Mengaktifkan penghapusan sementara untuk blob.
Langkah berikutnya
Pelajari lebih lanjut tentang fitur Azure Cache for Redis.