MongoDB-beveiliging, monitoring & Back-up (Mongodump)

Inhoudsopgave:

Anonim

Een van de belangrijkste concepten in MongoDB is het beheer van databases. Belangrijke aspecten zoals beveiliging, back-up, toegang tot databases zijn allemaal belangrijke begrippen als het gaat om databasebeheer.

In deze tutorial leer je -

  • Overzicht van databasebeveiliging
  • Back-upprocedures - mongodump
  • Mongodb Monitoring
  • Overwegingen bij indexering en prestaties

MongoDB-beveiligingsoverzicht

MongoDB heeft de mogelijkheid om beveiligingsmechanismen voor databases te definiëren. Standaard zou je niet willen dat iedereen een open toegang heeft tot elke database in MongoDB, daarom is de vereiste voor een soort beveiligingsmechanisme in MongoDB belangrijk.

Hieronder volgen de best practices voor het implementeren van beveiliging in databases

  1. Toegangscontrole inschakelen - Maak gebruikers zodat alle toepassingen en gebruikers worden afgedwongen om een ​​soort verificatiemechanisme te hebben bij het openen van databases op MongoDB.

  2. Configureer op rollen gebaseerde toegangscontrole - Soms kan er een logische groepering van machtigingen zijn die vereist kan zijn, die in rollen kunnen worden samengevoegd. Gebruikers kunnen vervolgens aan deze rollen worden toegewezen.

  3. Probeer MongoDB te configureren om een ​​soort versleutelingsprotocol te gebruiken, zoals TLS of SSL. Deze protocollen kunnen worden gebruikt om het verkeer tussen de client en de mongo DB-omgeving te versleutelen.

  4. Controle configureren - Beheerders moeten normaal gesproken weten wie wat doet, wat helpt bij het analyseren van problemen later. De beste manier is om auditing in MongoDB mogelijk te maken.

  5. Voer MongDB-serverinstantie uit met een afzonderlijk gebruikers-ID dat toegang heeft tot de vereiste bronnen op de serveromgeving.

Mongodb-back-upprocedures - mongodump

Wanneer u met MongDB werkt, is het belangrijk om er altijd voor te zorgen dat er een back-upprocedure is voor het geval de gegevens in MongoDB om welke reden dan ook beschadigd raken.

Hieronder staan ​​de back-upmechanismen die beschikbaar zijn vanuit MongoDB

  1. Back-up door onderliggende gegevensbestanden te kopiëren - Dit is waarschijnlijk het gemakkelijkste mechanisme, het enige dat u hoeft te doen is de gegevensbestanden waarop MongoDB zich bevindt, kopiëren en deze naar een andere locatie kopiëren die idealiter een andere server zou moeten zijn.
  2. Back-up van een database met mongodump - De mongodump-tool leest gegevens uit een MongoDB-database en maakt hoogwaardige BSON-bestanden. Waar rekening mee moet worden gehouden, is dat als de dataset groot is, de mongodump zeer arbeidsintensief kan zijn, dus om dit probleem te verhelpen, moet het hulpprogramma op een secundaire server worden uitgevoerd.
  3. MongoDB Cloud Manager Backup - MongoDB Cloud Manager maakt continu een back-up van MongoDB-replicasets en gesplitste clusters door de oplog-gegevens uit de MongoDB-omgeving te lezen. MongoDB Cloud Manager kan een herstelpunt op een tijdstip creëren door oplog-gegevens op te slaan, zodat het op elk moment een herstelactie kan maken voor een bepaalde replicaset of een shard-cluster.

Mongodb Monitoring

Monitoring is een van de meest kritische administratieve activiteiten in MongoDB. Dit komt omdat u proactiever kunt zijn door de omgeving te controleren op mogelijke problemen die zich kunnen voordoen.

Hieronder staan ​​enkele voorbeelden voor het implementeren van monitoring

  1. mongostat zal u vertellen hoe vaak databasebewerkingen zoals invoegen, opvragen, bijwerken, verwijderen, enz. daadwerkelijk plaatsvinden op de server. Dit geeft een goed idee van hoeveel de server belast en geeft aan of u extra bronnen op de server nodig heeft of misschien extra servers om de belasting te verdelen.
  2. mongotop volgt en rapporteert de huidige lees- en schrijfactiviteit van een MongoDB-instantie, en rapporteert deze statistieken per verzameling.
  3. MongoDB biedt een webinterface die diagnostische en bewakingsinformatie op een eenvoudige webpagina weergeeft. Men kan naar de onderstaande url op uw lokale server bladeren om het webbeheerprogramma http: // localhost: 28017 te openen
  4. Het serverStatus commando, of db.serverStatus () uit de shell, geeft een overzicht van de status van de database, met details over het schijfgebruik, geheugengebruik, verbindingen tot stand gebracht met de MongoDB omgeving, etc.

MongoDB-indexering en prestatieoverwegingen

  1. Indexen zijn erg belangrijk in elke database en kunnen worden gebruikt om de efficiëntie van zoekopdrachten in MongoDB te verbeteren. Als u continu zoekt in uw document, dan is het beter om indexen toe te voegen aan de velden van het document die in de zoekcriteria worden gebruikt.
  2. Probeer altijd het aantal geretourneerde queryresultaten te beperken. Stel dat u 2 veldnamen in een document heeft, maar u wilt slechts 2 velden uit het document zien. Zorg er vervolgens voor dat uw zoekopdracht alleen gericht is op het weergeven van de 2 velden die u nodig heeft en niet op alle velden.
  3. Als u bepaalde veldwaarden wilt zien, gebruik dan alleen die velden in de query. Zoek niet naar alle velden in de verzameling als ze niet verplicht zijn.

Overzicht:

  • Het is erg belangrijk om beveiliging in databases te implementeren om ervoor te zorgen dat de gegevens in de database veilig worden bewaard.
  • Gebruikers kunnen in de database worden aangemaakt met de opdracht createUser. Er kunnen specifieke rollen aan de gebruikers worden toegewezen om hen specifieke machtigingen voor de database zelf te geven.
  • Beheerders kunnen worden toegevoegd voor alle databases, alleen voor specifieke databases. Dit wordt bereikt door de rol userAdmin of userAdminAnyDatabase te geven.
  • Maak altijd een back-up van uw MongoDB-omgeving, zodat in het geval van een ramp de gegevens gemakkelijk kunnen worden hersteld.
  • Controleer altijd uw MongoDB-omgeving om proactiever te zijn en zie problemen voordat ze zich voordoen.