Unul dintre conceptele cheie din MongoDB este gestionarea bazelor de date. Aspecte importante precum securitatea, backupul, accesul la baze de date sunt toate concepte importante atunci când vine vorba de administrarea bazelor de date.
În acest tutorial, veți învăța -
- Prezentare generală a securității bazei de date
- Proceduri de backup - mongodump
- Monitorizarea Mongodb
- Considerații privind indexarea și performanța
Prezentare generală a securității MongoDB
MongoDB are capacitatea de a defini mecanisme de securitate pentru bazele de date. În mod implicit, nu s-ar dori ca toată lumea să aibă acces deschis la fiecare bază de date din MongoDB, de aceea este importantă cerința de a avea un fel de mecanism de securitate în MongoDB.
Următoarele sunt cele mai bune practici atunci când implementați securitatea în bazele de date
-
Activați controlul accesului - Creați utilizatori, astfel încât toate aplicațiile și utilizatorii să fie forțați să aibă un fel de mecanism de autentificare la accesarea bazelor de date de pe MongoDB.
-
Configurați controlul accesului pe rol - Uneori poate exista o grupare logică de permisiuni care poate fi necesară, care poate fi încorporată în roluri. Utilizatorii pot fi alocați acestor roluri.
-
Încercați să configurați MongoDB pentru a utiliza un fel de protocol de criptare, cum ar fi TLS sau SSL. Aceste protocoale pot fi utilizate pentru a cripta traficul care circulă între client și mediul DB mongo.
-
Configurați auditul - Administratorii trebuie în mod normal să știe cine face ce, ceea ce ajută la analizarea problemelor ulterior. Cea mai bună modalitate este de a permite auditul în MongoDB.
-
Rulați instanța de server MongDB cu un ID de utilizator separat care are acces la resursele necesare din mediul serverului.
Proceduri de backup Mongodb - mongodump
Când lucrați cu MongDB, este important să vă asigurați întotdeauna că există o procedură de backup în cazul în care datele din MongoDB sunt corupte din orice motiv.
Mai jos sunt mecanismele de rezervă disponibile din cadrul MongoDB
- Copiere de rezervă prin copierea fișierelor de date subiacente - Acesta este probabil cel mai ușor mecanism, tot ce trebuie făcut este să copiați fișierele de date pe care se află MongoDB și să le copiați într-o altă locație care ar trebui să fie în mod ideal un alt server.
- Copia de rezervă a unei baze de date cu mongodump - Instrumentul mongodump citește datele dintr-o bază de date MongoDB și creează fișiere BSON de înaltă fidelitate. Ceea ce trebuie luat în considerare este că, dacă setul de date are un volum mare, atunci mongodump poate fi foarte intensiv în resurse, deci pentru a atenua această problemă, utilitarul ar trebui să fie rulat pe un server secundar.
- MongoDB Cloud Manager Backup - MongoDB Cloud Manager face în mod continuu o copie de siguranță a seturilor de replici MongoDB și a clusterelor împărțite citind datele oplog din mediul MongoDB. MongoDB Cloud Manager poate crea un punct de recuperare în timp prin stocarea datelor oplog, astfel încât să poată crea o restaurare în orice moment pentru un anumit set de replici sau cluster cluster.
Monitorizarea Mongodb
Monitorizarea este una dintre cele mai critice activități administrative din MongoDB. Acest lucru se datorează faptului că puteți fi mai proactiv monitorizând mediul pentru posibile probleme care ar putea să apară.
Mai jos sunt câteva exemple pentru implementarea monitorizării
- mongostat vă va spune cât de multe operații de baze de date, cum ar fi inserarea, interogarea, actualizarea, ștergerea etc., au loc efectiv pe server. Acest lucru vă va oferi o idee bună despre cât de mult se ocupă încărcarea serverului și vă va indica dacă aveți nevoie de resurse suplimentare pe server sau poate de servere suplimentare pentru a distribui încărcarea.
- mongotop urmărește și raportează activitatea curentă de citire și scriere a unei instanțe MongoDB și raportează aceste statistici pe bază de colecție.
- MongoDB oferă o interfață web care expune informații de diagnosticare și monitorizare într-o pagină web simplă. Puteți naviga la adresa URL de mai jos de pe serverul dvs. local pentru a deschide utilitarul de administrare web http: // localhost: 28017
- Comanda serverStatus, sau db.serverStatus () din shell, returnează o prezentare generală a stării bazei de date, cu detalii despre utilizarea discului, utilizarea memoriei, conexiunile stabilite la mediul MongoDB etc.
Considerații privind indexarea și performanța MongoDB
- Indexurile sunt foarte importante în orice bază de date și pot fi utilizate pentru a îmbunătăți eficiența interogărilor de căutare în MongoDB. Dacă efectuați continuu căutări în documentul dvs., atunci este mai bine să adăugați indexuri pe câmpurile documentului care sunt utilizate în criteriile de căutare.
- Încercați să limitați întotdeauna numărul de rezultate ale interogării returnate. Să presupunem că aveți 2 nume de câmp într-un document, dar doriți doar să vedeți 2 câmpuri din document. Apoi, asigurați-vă că interogarea vizează numai afișarea celor 2 câmpuri de care aveți nevoie și nu a tuturor câmpurilor.
- Dacă doriți să vizualizați anumite valori de câmp, utilizați numai acele câmpuri în interogare. Nu interogați pentru toate câmpurile din colecție dacă acestea nu sunt obligatorii.
Rezumat:
- Este foarte important să implementați securitatea în bazele de date pentru a vă asigura că datele din baza de date sunt păstrate în siguranță.
- Utilizatorii pot fi creați în baza de date cu comanda createUser. Rolurile specifice pot fi atribuite utilizatorilor pentru a le oferi permisiuni specifice asupra bazei de date în sine.
- Administratorii pot fi adăugați pentru toate bazele de date sunt doar pentru anumite baze de date. Acest lucru se realizează acordând fie rolul userAdmin, fie userAdminAnyDatabase.
- Întotdeauna faceți backup mediului MongoDB astfel încât, în cazul unui dezastru, datele să poată fi recuperate cu ușurință.
- Monitorizați întotdeauna mediul dvs. MongoDB pentru a fi mai proactiv și vedeți problemele înainte ca acestea să apară.