Salah satu konsep utama dalam MongoDB adalah pengelolaan database. Aspek penting seperti keamanan, backup, akses ke database adalah konsep penting dalam hal administrasi database.
Dalam tutorial ini, Anda akan belajar -
- Ringkasan keamanan database
- Prosedur Pencadangan - mongodump
- Pemantauan Mongodb
- Pengindeksan dan Pertimbangan Kinerja
Ikhtisar Keamanan MongoDB
MongoDB memiliki kemampuan untuk menentukan mekanisme keamanan ke database. Secara default, seseorang tidak ingin setiap orang memiliki akses terbuka ke setiap database di MongoDB, oleh karena itu persyaratan untuk memiliki semacam mekanisme keamanan di MongoDB itu penting.
Berikut adalah praktik terbaik saat menerapkan keamanan di database
-
Aktifkan kontrol akses - Buat pengguna sehingga semua aplikasi dan pengguna ditegakkan untuk memiliki semacam mekanisme otentikasi saat mengakses database di MongoDB.
-
Konfigurasikan kontrol akses berbasis peran - Terkadang mungkin ada pengelompokan izin yang logis yang mungkin diperlukan, yang dapat dipukul dalam peran. Pengguna kemudian dapat ditetapkan ke peran ini.
-
Coba konfigurasikan MongoDB untuk menggunakan semacam protokol enkripsi seperti TLS atau SSL. Protokol ini dapat digunakan untuk mengenkripsi lalu lintas yang mengalir antara klien dan lingkungan DB mongo.
-
Konfigurasi audit - Administrator biasanya perlu tahu siapa melakukan apa, yang membantu dalam menganalisis masalah di kemudian hari. Cara terbaik adalah mengaktifkan audit di MongoDB.
-
Jalankan instance server MongDB dengan id pengguna terpisah yang memiliki akses ke sumber daya yang diperlukan di lingkungan server.
Prosedur Pencadangan Mongodb - mongodump
Saat bekerja dengan MongDB, penting untuk selalu memastikan prosedur pencadangan tersedia jika data dalam MongoDB rusak karena alasan apa pun.
Di bawah ini adalah mekanisme backup yang tersedia dari dalam MongoDB
- Cadangkan dengan Menyalin File Data yang Mendasari - Ini mungkin mekanisme termudah, yang perlu dilakukan hanyalah menyalin file data tempat MongoDB berada dan menyalinnya ke lokasi lain yang idealnya adalah server lain.
- Cadangkan Database dengan mongodump - Alat mongodump membaca data dari database MongoDB dan membuat file BSON dengan kesetiaan tinggi. Yang perlu dipertimbangkan adalah jika kumpulan data dalam volume besar, maka mongodump dapat menjadi sumber daya yang sangat intensif, jadi untuk mengurangi masalah ini, utilitas harus dijalankan di server sekunder.
- MongoDB Cloud Manager Backup - MongoDB Cloud Manager terus mencadangkan kumpulan replika MongoDB dan kluster yang dipisahkan dengan membaca data oplog dari lingkungan MongoDB. MongoDB Cloud Manager dapat membuat pemulihan titik waktu dengan menyimpan data oplog sehingga dapat membuat pemulihan kapan saja untuk kumpulan replika atau cluster terpisah tertentu.
Pemantauan Mongodb
Pemantauan adalah salah satu aktivitas administratif paling penting di MongoDB. Ini karena Anda bisa lebih proaktif dengan memantau lingkungan untuk kemungkinan masalah yang bisa muncul.
Di bawah ini adalah beberapa contoh penerapan pemantauan
- mongostat akan memberi tahu Anda berapa banyak waktu operasi database seperti penyisipan, kueri, perbarui, hapus, dll. benar-benar terjadi di server. Ini akan memberikan gambaran yang baik tentang berapa banyak beban yang ditangani server dan akan menunjukkan apakah Anda memerlukan sumber daya tambahan di server atau mungkin server tambahan untuk mendistribusikan beban.
- mongotop melacak dan melaporkan aktivitas baca dan tulis saat ini dari instans MongoDB, dan melaporkan statistik ini per koleksi.
- MongoDB menyediakan antarmuka web yang menampilkan informasi diagnostik dan pemantauan dalam halaman web sederhana. Seseorang dapat menelusuri url di bawah ini di server lokal Anda untuk membuka utilitas administrasi web http: // localhost: 28017
- Perintah serverStatus, atau db.serverStatus () dari shell, menampilkan gambaran umum status database, dengan detail tentang penggunaan disk, penggunaan memori, koneksi yang dibuat ke lingkungan MongoDB, dll.
Pengindeksan MongoDB dan Pertimbangan Kinerja
- Indeks sangat penting dalam database apa pun dan dapat digunakan untuk meningkatkan efisiensi kueri penelusuran di MongoDB. Jika Anda terus melakukan pencarian di dokumen Anda, maka lebih baik menambahkan indeks pada bidang dokumen yang digunakan dalam kriteria pencarian.
- Cobalah untuk selalu membatasi jumlah hasil kueri yang dikembalikan. Misalkan Anda memiliki 2 nama field dalam sebuah dokumen, tetapi Anda hanya ingin melihat 2 field dari dokumen tersebut. Kemudian pastikan kueri Anda hanya menargetkan untuk menampilkan 2 bidang yang Anda perlukan dan tidak semua bidang.
- Jika Anda ingin melihat nilai bidang tertentu, gunakan hanya bidang tersebut dalam kueri. Jangan membuat kueri untuk semua bidang dalam koleksi jika tidak diperlukan.
Ringkasan:
- Sangat penting untuk menerapkan keamanan dalam basis data untuk memastikan bahwa data dalam basis data disimpan dengan aman.
- Pengguna dapat dibuat di database dengan perintah createUser. Peran khusus dapat diberikan kepada pengguna untuk memberi mereka izin khusus pada database itu sendiri.
- Administrator dapat ditambahkan untuk semua database hanya untuk database tertentu. Ini dicapai dengan memberikan peran userAdmin atau userAdminAnyDatabase.
- Selalu buat cadangan lingkungan MongoDB Anda sehingga jika terjadi bencana apa pun, data akan mudah dipulihkan.
- Selalu pantau lingkungan MongoDB Anda agar lebih proaktif dan lihat masalah sebelum terjadi.