Versi terbaru MongoDB dibuat untuk mengintegrasikan fitur baru atau yang ditingkatkan dari versi pendahulunya. Untuk itu, disarankan untuk menjalankan versi terbaru untuk performa maksimal dan fitur tambahan. Selain itu, versi terbaru mungkin merupakan hasil dari bug yang diperbaiki tergantung pada versi MongoDB.
Versi MongoDB
Versi MongoDB dalam bentuk X.Y.Z.
- Bila Y genap, yaitu 4.0 atau 4.2, ini mengacu pada seri rilis yang stabil sehingga direkomendasikan untuk produksi. Dalam hal ini fitur baru terintegrasi yang dapat mengakibatkan ketidakcocokan mundur.
- Jika Y ganjil, yaitu 4.1 atau 4.3, ini mengacu pada seri pengembangan yang tidak stabil sehingga direkomendasikan untuk pengujian saja.
- Z mengacu pada nomor revisi/patch. Melibatkan perbaikan bug dan perubahan yang kompatibel ke belakang.
Juga mempertimbangkan versi driver MongoDB penting untuk memastikan database berkinerja baik.
Pertimbangan Sebelum Meningkatkan
- Cadangan :Di tengah-tengah pemutakhiran, beberapa kerusakan mungkin terjadi dan pada akhirnya membahayakan integritas data yang disimpan oleh basis data. Oleh karena itu, disarankan untuk selalu melakukan backup data sebelum melakukan upgrade ke versi tertentu.
- Jendela Pemeliharaan :Mungkin ada beberapa kerumitan yang mungkin muncul saat memutakhirkan ke beberapa versi jika set replika terlibat. Seseorang perlu menjadwalkan waktu yang cukup untuk proses ini sehingga Anda tidak mengalami waktu henti yang tinggi.
- Kompatibilitas Versi :Pastikan untuk membaca catatan rilis dan memeriksa apakah pengaturan sistem Anda akan kompatibel dengan versi yang ingin Anda tingkatkan. Periksa juga dokumentasi kompatibilitas driver di halaman Kompatibilitas Driver jika mereka dapat sejalan dengan versi MongoDB yang ingin Anda tingkatkan. Misalnya dari MongoDB 4.2 ke atas tidak ada dukungan untuk sistem PPCLE Ubuntu 16.04.
- Ubah Aliran :Aliran perubahan dirancang untuk aplikasi untuk mengakses perubahan data waktu nyata tanpa harus mengikuti oplog. Untuk versi MongoDB sebelum 4.0.7, change stream menggunakan token resume versi 0 v0 sedangkan versi ini dan penerusnya menggunakan token resume versi 1 v1. Sebaiknya klien menunggu hingga upgrade selesai sebelum melanjutkan aliran perubahan saat mengupgrade ke versi 4.0.7.
- Pemeriksaan Lingkungan Staging :Pastikan bahwa semua konfigurasi telah diatur dengan baik sebelum memutakhirkan lingkungan produksi dan semuanya akan kompatibel dengan versi baru yang ingin Anda tingkatkan.
- Utama -Sekunder -Arsitektur Arbiter (PSA) :MongoDB versi 3.6 dan di atasnya mengaktifkan dukungan untuk masalah baca "mayoritas" secara default. Namun, konfigurasi ini dapat mengakibatkan tekanan cache penyimpanan dan satu-satunya cara untuk mencegahnya adalah dengan menonaktifkan parameter ini. Namun demikian, menonaktifkan parameter ini dapat menimbulkan lebih banyak masalah yaitu:
- Dukungan untuk transaksi di sharded cluster akan terpengaruh karena:
- jika shard telah membaca kekhawatiran "mayoritas" dinonaktifkan, itu akan menimbulkan kesalahan untuk transaksi yang menulis ke beberapa shard.
- Baca masalah "snapshot" tidak dapat digunakan untuk transaksi yang melibatkan pecahan dengan masalah baca "mayoritas" dinonaktifkan
- perintah colMod yang bertanggung jawab untuk mengubah indeks dari memutar kembali tidak akan berfungsi. Ini menentukan bahwa jika suatu operasi perlu melakukan roll back, seseorang harus menggunakan node utama untuk menyinkronkan ulang node yang terpengaruh.
- Dukungan untuk Aliran Perubahan untuk MongoDB 4.0 dan versi sebelumnya juga akan dinonaktifkan.
- Transaksi kumpulan replika tidak terpengaruh dengan penonaktifan parameter ini.
- Dukungan untuk transaksi di sharded cluster akan terpengaruh karena:
Prosedur Peningkatan Versi
- Buat cadangan data Anda.
- Tingkatkan biner mongod/mongos secara terpisah menggunakan alat manajemen paket sistem bersama paket MongoDB resmi. Anda juga dapat memutakhirkan mongo dengan mengganti binari yang ada dengan binari baru menggunakan prosedur ini:
- Unduh binari MongoDB untuk revisi yang ingin Anda tingkatkan versinya dan simpan file terkompresi yang diunduh di lokasi sementara.
- Matikan instance.
- Gunakan binari yang diunduh untuk menggantikan binari MongoDB yang ada.
- Mulai ulang instance.
- Jika memutakhirkan kumpulan replika, tingkatkan setiap anggota secara terpisah dengan memulai dengan yang sekunder dan yang utama terakhir. Untuk meningkatkan sekunder:
- Tingkatkan versi biner mongod
- Tunggu hingga sekunder pulih ke status SECONDARY dan setelah selesai, tingkatkan instance berikutnya. rs.status() digunakan untuk memeriksa status anggota di shell mongo. Status RECOVERING dan STARTUP mungkin muncul, tetapi Anda harus menunggu hingga pulih ke SECONDARY.
- Saat memutakhirkan yang utama:
- Dalam shell mongo gunakan rs.stepDown() untuk menghentikan yang utama sebagai cara memulai failover normal. Karena tidak ada penulisan yang akan diterima selama periode tersebut, disarankan untuk melakukan peningkatan dalam waktu sesingkat mungkin.
- Sampai Anda melihat anggota lain telah terpilih menjadi yang utama, maka tingkatkan binari dari shutdown utama.
- Mulai ulang yang utama setelah pemutakhiran selesai tetapi jika Anda memeriksa statusnya, rs.status(), itu mungkin diberi label sekunder.
- Untuk meningkatkan versi untuk Cluster Sharded MongoDB 4.4:
- Pastikan penyeimbang telah dinonaktifkan.
- Tingkatkan server konfigurasi sama seperti Anda memutakhirkan set replika.
- Tingkatkan shard menggunakan prosedur yang sesuai, yaitu kumpulan replika atau mandiri.
- Upgrade setiap instance mongos secara berurutan.
- Aktifkan kembali penyeimbang.
Kesimpulan
Dengan waktu data menjadi lebih kompleks sehingga membutuhkan fitur database canggih yang dapat memenuhi spesifikasi administrator database. MongoDB tidak mundur dalam hal ini karena selalu merilis versi database dengan bug yang diperbaiki atau fitur yang baru terintegrasi. Disarankan untuk selalu mengupgrade ke versi MongoDB terbaru untuk performa maksimal. Namun demikian, sebelum melakukan peningkatan, seseorang perlu memeriksa catatan rilis untuk versi yang ingin Anda tingkatkan apakah kompatibel dengan sistem Anda. Mengupgrade driver MongoDB yang sesuai juga disarankan.