Salah satu konsep utama dalam MongoDB adalah pengurusan pangkalan data. Aspek-aspek penting seperti keselamatan, sandaran, akses ke pangkalan data adalah semua konsep penting ketika berkaitan dengan pentadbiran pangkalan data.
Dalam tutorial ini, anda akan belajar -
- Gambaran keseluruhan keselamatan pangkalan data
- Prosedur Sandaran - mongodump
- Pemantauan Mongodb
- Pertimbangan Pengindeksan dan Prestasi
Tinjauan Keselamatan MongoDB
MongoDB mempunyai kemampuan untuk menentukan mekanisme keselamatan ke pangkalan data. Secara lalai seseorang tidak mahu semua orang mempunyai akses terbuka ke setiap pangkalan data di MongoDB, oleh itu syarat untuk memiliki semacam mekanisme keselamatan di MongoDB adalah penting.
Berikut adalah amalan terbaik semasa melaksanakan keselamatan dalam pangkalan data
-
Aktifkan kawalan akses - Buat pengguna sehingga semua aplikasi dan pengguna diberlakukan untuk memiliki semacam mekanisme pengesahan ketika mengakses pangkalan data di MongoDB.
-
Konfigurasikan kawalan akses berdasarkan peranan - Kadang-kadang terdapat pengelompokan kebenaran yang logik yang mungkin diperlukan, yang dapat digabungkan dalam peranan. Pengguna kemudian boleh diberikan peranan ini.
-
Cuba konfigurasikan MongoDB untuk menggunakan semacam protokol penyulitan seperti TLS atau SSL. Protokol ini dapat digunakan untuk mengenkripsi lalu lintas yang mengalir antara klien dan persekitaran mongo DB.
-
Konfigurasi audit - Pentadbir biasanya perlu mengetahui siapa yang melakukan apa, yang membantu dalam menganalisis masalah di kemudian hari. Cara terbaik adalah dengan membolehkan pengauditan di MongoDB.
-
Jalankan contoh pelayan MongDB dengan id pengguna yang berasingan yang mempunyai akses ke sumber yang diperlukan di persekitaran pelayan.
Prosedur Sandaran Mongodb - mongodump
Semasa bekerja dengan MongDB, penting untuk selalu memastikan prosedur sandaran berlaku sekiranya data dalam MongoDB rosak dengan alasan apa pun.
Berikut adalah mekanisme sandaran yang tersedia dari dalam MongoDB
- Sandarkan dengan Menyalin Fail Data yang Mendasari - Ini mungkin merupakan mekanisme paling mudah, yang perlu dilakukan adalah menyalin fail data di mana MongoDB berada dan menyalinnya ke lokasi lain yang idealnya harus menjadi pelayan lain.
- Sandarkan Pangkalan Data dengan mongodump - Alat mongodump membaca data dari pangkalan data MongoDB dan membuat fail BSON kesetiaan tinggi. Apa yang perlu dipertimbangkan adalah bahawa jika set data bervolume besar, maka mongodump dapat sangat intensif sumber daya, jadi untuk mengurangkan masalah ini, utiliti harus dijalankan pada pelayan sekunder.
- Cadangan Pengurus Awan MongoDB - Pengurus Awan MongoDB sentiasa menyandarkan set replika MongoDB dan kluster terlindung dengan membaca data oplog dari persekitaran MongoDB. Pengurus Awan MongoDB dapat membuat pemulihan titik waktu dengan menyimpan data oplog sehingga dapat membuat pemulihan pada bila-bila masa untuk set replika tertentu atau kelompok berkelompok.
Pemantauan Mongodb
Pemantauan adalah salah satu aktiviti pentadbiran yang paling kritikal di MongoDB. Ini kerana anda dapat lebih proaktif dengan memantau lingkungan untuk kemungkinan masalah yang mungkin muncul.
Berikut adalah beberapa contoh untuk melaksanakan pemantauan
- mongostat akan memberitahu anda berapa banyak masa operasi pangkalan data seperti memasukkan, pertanyaan, kemas kini, memadam, dan lain-lain yang sebenarnya berlaku di pelayan. Ini akan memberikan idea yang baik mengenai berapa banyak beban yang ditangani pelayan dan akan menunjukkan sama ada anda memerlukan sumber tambahan pada pelayan atau mungkin pelayan tambahan untuk mengagihkan muatan.
- mongotop melacak dan melaporkan aktiviti membaca dan menulis semasa dari MongoDB, dan melaporkan statistik ini setiap koleksi.
- MongoDB menyediakan antara muka web yang memaparkan maklumat diagnostik dan pemantauan dalam halaman web yang mudah. Seseorang boleh melayari url di bawah pada pelayan tempatan anda untuk membuka utiliti pentadbiran web http: // localhost: 28017
- Perintah serverStatus, atau db.serverStatus () dari shell, mengembalikan gambaran keseluruhan status pangkalan data, dengan perincian mengenai penggunaan cakera, penggunaan memori, sambungan yang dibuat ke persekitaran MongoDB, dll.
Pertimbangan Pengindeksan dan Prestasi MongoDB
- Indeks sangat penting dalam pangkalan data mana pun dan dapat digunakan untuk meningkatkan kecekapan pertanyaan carian di MongoDB. Sekiranya anda terus melakukan carian dalam dokumen anda, maka lebih baik menambahkan indeks pada bidang dokumen yang digunakan dalam kriteria carian.
- Cuba selalu hadkan jumlah hasil pertanyaan yang dikembalikan. Katakan anda mempunyai 2 nama bidang dalam dokumen, tetapi anda hanya mahu melihat 2 medan dari dokumen tersebut. Kemudian pastikan pertanyaan anda hanya menargetkan untuk memaparkan 2 bidang yang anda perlukan dan bukan semua bidang.
- Sekiranya anda ingin melihat nilai medan tertentu, maka hanya gunakan medan tersebut dalam pertanyaan. Jangan membuat pertanyaan untuk semua bidang dalam koleksi jika tidak diperlukan.
Ringkasan:
- Sangat penting untuk menerapkan keselamatan dalam pangkalan data untuk memastikan bahawa data dalam pangkalan data disimpan dengan selamat.
- Pengguna dapat dibuat dalam pangkalan data dengan perintah createUser. Peranan khusus dapat diberikan kepada pengguna untuk memberi mereka izin khusus pada pangkalan data itu sendiri.
- Pentadbir dapat ditambahkan untuk semua pangkalan data hanya untuk pangkalan data tertentu. Ini dicapai dengan memberikan peranan userAdmin atau userAdminAnyDatabase.
- Selalu buat sandaran persekitaran MongoDB anda sehingga sekiranya berlaku bencana, data dapat dipulihkan dengan mudah.
- Sentiasa awasi persekitaran MongoDB anda agar lebih proaktif dan lihat masalah sebelum ia berlaku.