Et af nøglebegreberne i MongoDB er styring af databaser. Vigtige aspekter som sikkerhed, sikkerhedskopiering, adgang til databaser er alle vigtige begreber, når det gælder databaseadministration.
I denne vejledning lærer du -
- Oversigt over databasesikkerhed
- Sikkerhedskopieringsprocedurer - mongodump
- Mongodb-overvågning
- Overvejelser om indeksering og ydeevne
MongoDB-sikkerhedsoversigt
MongoDB har evnen til at definere sikkerhedsmekanismer til databaser. Som standard ønsker man ikke, at alle skal have en åben adgang til hver database i MongoDB, hvorfor kravet om at have en slags sikkerhedsmekanisme i MongoDB er vigtigt.
Følgende er de bedste fremgangsmåder ved implementering af sikkerhed i databaser
-
Aktivér adgangskontrol - Opret brugere, så alle applikationer og brugere tvinges til at have en slags godkendelsesmekanisme, når de får adgang til databaser på MongoDB.
-
Konfigurer rollebaseret adgangskontrol - Nogle gange kan der være en logisk gruppering af tilladelser, der kan være påkrævet, som kan klubbes i roller. Brugere kan derefter tildeles disse roller.
-
Prøv at konfigurere MongoDB til at bruge en slags krypteringsprotokol som TLS eller SSL. Disse protokoller kan bruges til at kryptere den trafik, der flyder mellem klienten og mongo DB-miljøet.
-
Konfigurer revision - Administratorer har normalt brug for at vide, hvem der gør hvad, hvilket hjælper med at analysere problemer senere. Den bedste måde er at aktivere revision i MongoDB.
-
Kør MongDB-serverinstans med en separat bruger-id, der har adgang til de krævede ressourcer på servermiljøet.
Mongodb-sikkerhedskopieringsprocedurer - mongodump
Når du arbejder med MongDB, er det vigtigt altid at sikre, at der er en sikkerhedskopieringsprocedure, hvis dataene i MongoDB bliver beskadiget af en eller anden grund.
Nedenfor er sikkerhedskopieringsmekanismerne tilgængelige inden for MongoDB
- Sikkerhedskopiering ved at kopiere underliggende datafiler - Dette er sandsynligvis den nemmeste mekanisme, alt hvad der skal gøres er at kopiere de datafiler, som MongoDB befinder sig på, og kopiere det til et andet sted, som ideelt set skulle være en anden server.
- Sikkerhedskopier en database med mongodump - Mongodump-værktøjet læser data fra en MongoDB-database og opretter high fidelity BSON-filer. Hvad der skal tages i betragtning er, at hvis datasættet er stort i volumen, kan mongodump være meget ressourceintensivt, så for at afbøde dette problem skal værktøjet køres på en sekundær server.
- MongoDB Cloud Manager Backup - MongoDB Cloud Manager sikkerhedskopierer kontinuerligt MongoDB-replika-sæt og sharded-klynger ved at læse oplog-dataene fra MongoDB-miljøet. MongoDB Cloud Manager kan oprette et tidspunkt i gendannelse ved at gemme oplog-data, så det kan oprette en gendannelse til enhver tid til et bestemt replika-sæt eller splittet klynge.
Mongodb-overvågning
Overvågning er en af de mest kritiske administrative aktiviteter i MongoDB. Dette skyldes, at du kan være mere proaktiv ved at overvåge miljøet for mulige problemer, der kan dukke op.
Nedenfor er nogle af eksemplerne til implementering af overvågning
- mongostat fortæller dig, hvor mange tid databasefunktioner som f.eks. indsættelse, forespørgsel, opdatering, sletning osv. faktisk sker på serveren. Dette giver en god ide om, hvor meget belastningen serveren håndterer, og vil indikere, om du har brug for yderligere ressourcer på serveren eller måske yderligere servere til at distribuere belastningen.
- mongotop sporer og rapporterer den aktuelle læse- og skriveaktivitet for en MongoDB-forekomst og rapporterer disse statistikker pr. samling.
- MongoDB leverer en webgrænseflade, der afslører diagnosticerings- og overvågningsoplysninger på en simpel webside. Man kan søge til nedenstående url på din lokale server for at åbne webadministrationsværktøjet http: // localhost: 28017
- ServerStatus-kommandoen, eller db.serverStatus () fra skallen, returnerer en oversigt over status for databasen med detaljer om diskforbrug, hukommelsesbrug, oprettede forbindelser til MongoDB-miljø osv.
MongoDB-indeksering og ydeevneovervejelser
- Indekser er meget vigtige i enhver database og kan bruges til at forbedre effektiviteten af søgeforespørgsler i MongoDB. Hvis du løbende udfører søgninger i dit dokument, er det bedre at tilføje indekser på de felter i dokumentet, der bruges i søgekriterierne.
- Prøv altid at begrænse antallet af returnerede forespørgselsresultater. Antag at du har 2 feltnavne i et dokument, men du vil bare se 2 felter fra dokumentet. Sørg derefter for, at din forespørgsel kun er målrettet mod at vise de 2 felter, du har brug for, og ikke alle felterne.
- Hvis du vil se bestemte feltværdier, skal du kun bruge disse felter i forespørgslen. Forespørg ikke efter alle felterne i samlingen, hvis de ikke er påkrævet.
Resumé:
- Det er meget vigtigt at implementere sikkerhed i databaser for at sikre, at dataene i databasen holdes sikre.
- Brugere kan oprettes i databasen med kommandoen createUser. Specifikke roller kan tildeles brugerne for at give dem specifikke tilladelser til selve databasen.
- Administratorer kan tilføjes for alle databaser er kun for specifikke databaser. Dette opnås ved at give enten userAdmin eller userAdminAnyDatabase-rollen.
- Sikkerhedskopier altid dit MongoDB-miljø, så dataene i tilfælde af en katastrofe let kan gendannes.
- Overvåg altid dit MongoDB-miljø for at være mere proaktivt og se problemer, før de opstår.