Lewati ke konten utama

Pemeriksaan Esensial untuk Database MongoDB yang Sehat

Panduan yang mencakup pemeriksaan proaktif penting seputar replikasi, performa, dan cadangan untuk menjaga platform data Anda tetap tangguh dan andal.
Diperbarui 4 Mei 2026  · 7 mnt baca

Menjaga database MongoDB tetap sehat sangat penting untuk memastikan kestabilan aplikasi, performa optimal, dan integritas data. Cluster yang "sehat" adalah yang secara andal melayani operasi baca dan tulis, melindungi data dari kehilangan, dan beroperasi dalam parameter operasional yang diharapkan. Pemeriksaan rutin dan pemantauan proaktif sangat krusial untuk mengidentifikasi dan menangani potensi masalah sebelum memengaruhi layanan Anda.

Kesehatan cluster MongoDB dapat dikategorikan ke dalam tiga area mendasar:

  • Replikasi
  • Performa
  • Cadangan

Dengan menilai area-area ini secara rutin, Anda memastikan platform data tetap tangguh dan andal. Selain itu, alat manajemen modern seperti MongoDB Atlas dan MongoDB Ops Manager menawarkan pemantauan terintegrasi dengan peringatan dan rekomendasi untuk membantu Anda mengantisipasi potensi masalah. Mengonfigurasi peringatan akan membantu Anda tetap sigap. Anda dapat menemukan petunjuk dan contoh tentang cara menyiapkan peringatan di dokumentasi resmi MongoDB.

Mari kita bahas satu per satu.

Status Replikasi

Replikasi adalah tulang punggung high availability di MongoDB. Replica set yang sehat memastikan redundansi data dan kemampuan failover. Mari kita tinjau tiga indikator kunci untuk memastikan replikasi berjalan efektif di antara server yang menjadi anggota replica set.

Status keseluruhan dan detail status replikasi 

Status lengkap sebuah replica set dapat diperoleh dengan menjalankan perintah rs.status() di shell MongoDB. Perintah ini memberikan tampilan komprehensif atas kondisi terkini replica set. Hasilnya perlu diperiksa untuk memastikan semua anggota sehat (yaitu dalam status PRIMARY atau SECONDARY) dan beroperasi sebagaimana mestinya.

Dari UI Atlas, Anda juga dapat mengakses informasi serupa seperti yang diberikan perintah di atas. Dari halaman "Clusters", klik nama cluster tertentu. Tindakan ini akan membawa Anda ke tab "Overview" yang menampilkan gambaran node. Jika ada masalah serius, akan terlihat di sana. 

Waktu untuk mereplikasi

Daya tahan pada cluster yang direplikasi bergantung pada replikasi data ke mayoritas node. Karena itu, cluster yang sehat harus mereplikasi dengan cepat. Jika tidak, operasi dengan write concern majority akan memiliki latensi lebih tinggi.

Indikator utama karakteristik ini adalah replication lag. Replication lag mengacu pada jeda antara suatu operasi di anggota primary dan penerapannya di anggota secondary. Lag yang rendah dan konsisten adalah indikator kuat dari kondisi sehat. Sebaliknya, replikasi yang lambat bisa menjadi tanda konfigurasi koneksi antarnode yang kurang baik.

Cara termudah untuk mengamati replica lag adalah dengan melihat grafik "Replication Lag" di bawah tab "Cluster Metrics". Berikut contoh grafik ini untuk cluster yang sehat. Perhatikan bahwa metrik ini tidak berlaku untuk node PRIMARY di cluster, yaitu yang berada di tengah dan ditandai dengan huruf "P".

Bagan yang menampilkan metrik Replication Lag untuk cluster MongoDB yang sehat, menunjukkan lag yang rendah dan konsisten pada node sekunder.

Replication Oplog Window 

Replikasi diimplementasikan melalui koleksi khusus bernama "oplog". Oplog (operation log) adalah capped collection yang mencatat semua operasi yang memodifikasi data. "Replication Oplog Window" mengacu pada perkiraan waktu yang tersedia di oplog replikasi bagi sumber sinkronisasi sebelum operasi terkini mulai ditimpa. Dengan kata lain, Replication Oplog Window adalah selisih waktu antara stempel waktu terbaru dan terlama di oplog. Nilai jendela oplog yang memadai sangat penting agar node secondary dapat mengejar ketertinggalan setelah gangguan dan mencegah kebutuhan resinkronisasi data penuh.

Jika sebuah secondary offline lebih lama daripada Replication Oplog Window yang tersedia, maka secondary tersebut harus disinkronisasi ulang dari awal. Dengan kata lain, Anda menginginkan nilai Replication Oplog Window yang lebih panjang daripada waktu maksimum sebuah replika mungkin tidak tersedia. Perhatikan bahwa nilai Replication Oplog Window sensitif terhadap lonjakan operasi tulis.

Untuk meningkatkan Replication Oplog Window, Anda dapat menambah ukuran koleksi oplog.

Bagan MongoDB Atlas Cluster Metrics yang menampilkan Replication Oplog Window, menunjukkan waktu yang tersedia di oplog untuk replikasi.

Status Performa

Performa secara langsung memengaruhi pengalaman pengguna aplikasi Anda dan biaya pengoperasian cluster. Cluster yang sehat beroperasi secara efisien terhadap beban kerjanya.

Di sini juga, mari kita lihat aspek performa kritis untuk dipantau.

Jumlah operasi saat ini sesuai ekspektasi 

Hal pertama yang saya suka periksa adalah apakah cluster menerima jumlah operasi yang diharapkan. Di sini, "yang diharapkan" mengasumsikan Anda mengetahui angkanya. Jika tidak, menelaah tren kueri selama satu jam, hari, minggu, dan seterusnya dapat memberikan pemahaman yang baik tentang apa yang diharapkan dan apakah ada puncak atau anomali yang terjadi. Puncak mingguan yang teratur pada waktu tertentu mungkin memerlukan penskalaan cluster secara proaktif.

Perhatikan laju operasi (baca, tulis, perintah). Lonjakan atau penurunan mendadak yang tidak terduga dapat mengindikasikan masalah, seperti masalah aplikasi, hambatan sumber daya, atau pola kueri yang tidak efisien. Untuk membantu Anda, atur peringatan pada jumlah operasi, yang dapat dilihat di bagian "Opcounters" pada metrik cluster.

Selain itu, informasi waktu nyata tentang laju operasi saat ini dapat ditemukan melalui "Real Time Tab".

Tampilan Real-Time Tab di MongoDB Atlas, menampilkan bagan jumlah operasi saat ini (baca, tulis, dan perintah) untuk memantau aktivitas dan beban kerja cluster secara real-time.

Dapatkan pemahaman lebih dalam tentang kueri lambat 

Kueri yang memerlukan waktu eksekusi tidak biasa lama dikenal sebagai kueri lambat. Ini sering menunjukkan perlunya pengindeksan atau optimasi kueri. Selain itu, memantau operasi yang memerlukan pengurutan di memori sangat penting, karena dapat mengonsumsi sumber daya server yang signifikan dan menurunkan performa.

Tab "Query Insights" memungkinkan Anda melihat kueri, memfilternya berdasarkan kriteria, dan melakukan tindakan tambahan. Gunakan halaman ini untuk mengidentifikasi kueri mana yang perlu dioptimalkan dan mana yang mungkin perlu dijalankan di node lain atau pada waktu berbeda.

Tab Query Insights di MongoDB Atlas, digunakan untuk melihat dan menganalisis kueri lambat guna mengidentifikasi kebutuhan indeks dan peluang optimasi.

Indeks yang hilang

Penyebab paling umum dari kueri lambat di MongoDB adalah tidak adanya indeks yang sesuai. MongoDB dapat melakukan pemindaian koleksi (memeriksa setiap dokumen dalam koleksi) saat indeks tidak ada, tetapi ini adalah operasi yang sangat tidak efisien, terutama pada koleksi besar. Mengidentifikasi dan membuat indeks yang hilang sangat penting untuk menjaga performa kueri.

Tab "Performance Advisor" memiliki beberapa alat berharga untuk membantu Anda mengoptimalkan performa. Yang berikut ini adalah halaman "Create Indexes".

Cuplikan layar halaman 'Create Indexes' pada MongoDB Atlas Performance Advisor, yang memberikan rekomendasi indeks baru untuk mengoptimalkan kueri lambat.

Status Cadangan

Replikasi sangat bermanfaat untuk mengurangi kehilangan data saat sumber daya, seperti disk server, hilang atau rusak. High availability bawaan cluster Anda akan menanggulangi sebagian besar kegagalan perangkat keras. Namun, strategi pencadangan yang andal tetap menjadi perlindungan terakhir terhadap kehilangan data. Cluster yang sehat memiliki sistem pencadangan dan pemulihan yang berfungsi dan telah diuji.

Seperti pada bagian lain, mari tinjau beberapa pertimbangan kunci untuk strategi pencadangan Anda.

Tentukan target pemulihan 

Tentukan Recovery Point Objective (RPO), yaitu jumlah kehilangan data maksimum yang dapat diterima, dan Recovery Time Objective (RTO), yaitu waktu maksimum yang diizinkan untuk memulihkan layanan. Target ini menentukan frekuensi dan metode pencadangan yang diperlukan.

Dasar-dasar pencadangan

Ada berbagai alat untuk mencadangkan data dengan MongoDB. Dimulai dari pembuangan sederhana data Anda menggunakan mongodump. Lalu, berlanjut ke pemanfaatan alat manajemen MongoDB untuk melakukan snapshot dan menyimpan operasi individual (oplog) guna merekonstruksi citra pada titik waktu mana pun. MongoDB Atlas mengintegrasikan alat-alat tersebut untuk cluster yang di-host, sementara MongoDB OpsManager melakukan fungsi serupa untuk cluster on-premises Anda.

Menyimpan banyak versi data sebagai cadangan biasanya memerlukan ruang lebih besar daripada database aslinya. Anda perlu memahami biayanya agar sesuai dengan kebutuhan. Latihan ini akan menghasilkan jadwal yang menampilkan jumlah snapshot yang diproduksi dan frekuensinya.

Antarmuka MongoDB Atlas untuk mengelola dan meninjau jadwal pencadangan cloud, menampilkan frekuensi snapshot, kebijakan retensi, dan opsi pemulihan.

Melacak, mengakses, dan memulihkan cadangan

Jika Anda menggunakan MongoDB Atlas, verifikasi bahwa proses pencadangan terkelola berjalan dengan sukses, secara rutin menangkap snapshot, dan kebijakan retensi selaras dengan RPO Anda.

Lakukan pemulihan: Satu-satunya cara untuk benar-benar memastikan cadangan Anda valid adalah dengan melakukan uji pemulihan secara berkala. Tindakan ini memvalidasi seluruh alur pencadangan dan pemulihan, memastikan data dapat dipulihkan jika terjadi keadaan darurat.

Antarmuka MongoDB Atlas yang menampilkan daftar snapshot cadangan terbaru, termasuk detail seperti waktu snapshot, ukuran, dan status, mengonfirmasi keberhasilan proses pencadangan.

Kesimpulan

Cluster MongoDB yang sehat ditandai oleh:

  • Status replikasi yang optimal
  • Performa yang efisien
  • Cadangan yang andal

Pemantauan proaktif pada ketiga area ini, menganalisis performa kueri, dan menguji operasi pemulihan akan memastikan stabilitas dan umur panjang penerapan MongoDB Anda.


Daniel Coupal's photo
Author
Daniel Coupal

Senior Staff Developer Advocate @ MongoDB

FAQs

Apa langkah pertama yang krusial untuk mengamankan cluster MongoDB?

Keamanan benar-benar krusial. Mengaktifkan autentikasi dan menyiapkan role-based access control (RBAC) adalah langkah pertama yang esensial untuk memastikan hanya pengguna dan aplikasi berizin yang dapat mengakses dan memodifikasi data. Mengamankan komunikasi antar node cluster dengan SSL juga sangat penting.

Berapa batas atas yang dapat diterima untuk replication lag pada cluster produksi yang sehat?

Meskipun bervariasi menurut beban kerja dan topologi, replication lag idealnya berada di kisaran satu detik. Lag yang secara konsisten melebihi 10 detik umumnya dianggap sebagai masalah yang dapat mengompromikan high availability.

Bagaimana saya menentukan ukuran optimal untuk Replication Oplog Window?

Praktik umum yang baik adalah menentukan ukuran oplog agar menampung setidaknya 24 hingga 72 jam operasi. Namun, banyak pengguna lebih memilih satu minggu operasi. Ini memberikan waktu jeda yang cukup bagi secondary untuk mengejar ketertinggalan setelah sebagian besar jendela pemeliharaan atau gangguan tanpa memerlukan resinkronisasi penuh. Cara lain melihatnya adalah berapa hari yang bisa berlalu sebelum tim Anda dapat mengaktifkan kembali cluster yang sehat.

Selain indeks yang hilang, apa penyebab umum lain dari kueri lambat yang memerlukan tinjauan performa lebih mendalam?

Desain skema yang tidak efisien dapat menyebabkan masalah performa besar, terutama kueri yang mengakibatkan pembacaan dokumen terlalu besar atau operasi tulis yang tidak teroptimasi.

Artikel menyebutkan bahwa strategi cadangan yang andal adalah benteng terakhir. Seberapa sering uji pemulihan penuh harus dijalankan?

Uji pemulihan penuh harus dilakukan setidaknya sekali per kuartal, atau setelah ada perubahan konfigurasi besar pada cluster atau sistem pencadangan. Ini memvalidasi seluruh alur pemulihan untuk memastikan data benar-benar dapat dipulihkan saat dibutuhkan.

Topik

Pelajari MongoDB bersama DataCamp

Kursus

Introduction to MongoDB in Python

3 Hr
23.9K
Learn to manipulate and analyze flexibly structured data with MongoDB.
Lihat DetailRight Arrow
Mulai Kursus
Lihat Lebih BanyakRight Arrow
Terkait

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

12 mnt

Lihat Lebih BanyakLihat Lebih Banyak