Една от ключовите концепции в MongoDB е управлението на бази данни. Важни аспекти като сигурност, архивиране, достъп до бази данни са всички важни понятия, когато става въпрос за администриране на бази данни.
В този урок ще научите -
- Преглед на защитата на базата данни
- Процедури за архивиране - mongodump
- Мониторинг на Mongodb
- Индексиране и съображения за ефективност
Общ преглед на сигурността на MongoDB
MongoDB има способността да дефинира механизми за сигурност на базите данни. По подразбиране човек не би искал всеки да има отворен достъп до всяка база данни в MongoDB, следователно изискването за наличието на някакъв механизъм за сигурност в MongoDB е важно.
Следват най-добрите практики при внедряване на сигурност в бази данни
-
Активирайте контрола на достъпа - Създайте потребители, така че всички приложения и потребители да бъдат принудени да имат някакъв механизъм за удостоверяване при достъп до бази данни на MongoDB.
-
Конфигуриране на контрол на достъпа, базиран на роли - Понякога може да има логическо групиране на разрешенията, които може да са необходими, които могат да бъдат обединени в роли. След това потребителите могат да бъдат разпределени към тези роли.
-
Опитайте се да конфигурирате MongoDB да използва някакъв протокол за криптиране като TLS или SSL. Тези протоколи могат да се използват за криптиране на трафика, който протича между клиента и средата на mongo DB.
-
Конфигуриране на одита - Обикновено администраторите трябва да знаят кой какво прави, което помага при анализа на проблемите по-късно. Най-добрият начин е да се даде възможност за одит в MongoDB.
-
Стартирайте екземпляр на сървъра MongDB с отделен потребителски идентификатор, който има достъп до необходимите ресурси в сървърната среда.
Процедури за архивиране на Mongodb - mongodump
Когато работите с MongDB, е важно винаги да сте сигурни, че процедурата за архивиране е налице, в случай че данните в MongoDB се повредят по някаква причина.
По-долу са механизмите за архивиране, налични в MongoDB
- Архивиране чрез копиране на базови файлове с данни - Това е може би най-лесният механизъм, всичко, което трябва да се направи, е да копирате файловете с данни, в които се намира MongoDB, и да ги копирате на друго място, което в идеалния случай трябва да е друг сървър.
- Архивиране на база данни с mongodump - Инструментът mongodump чете данни от база данни MongoDB и създава BSON файлове с висока точност. Това, което трябва да се вземе предвид, е, че ако наборът от данни е голям по обем, тогава mongodump може да изисква много ресурси, така че за да смекчи този проблем, помощната програма трябва да се изпълнява на вторичен сървър.
- Резервно копие на MongoDB Cloud Manager - MongoDB Cloud Manager непрекъснато архивира набори от реплики на MongoDB и осеяни клъстери, като чете данните от oplog от средата на MongoDB. MongoDB Cloud Manager може да създаде точка във времето за възстановяване чрез съхраняване на данни от оплог, така че да може да създаде възстановяване по всяко време за определен набор от реплики или остър клъстер.
Мониторинг на Mongodb
Мониторингът е една от най-критичните административни дейности в MongoDB. Това е така, защото можете да бъдете по-активни, като наблюдавате околната среда за възможни проблеми, които могат да се появят.
По-долу са някои от примерите за прилагане на мониторинг
- mongostat ще ви каже колко време операции на база данни като вмъкване, заявка, актуализация, изтриване и т.н. действително се случват на сървъра. Това ще даде добра представа за това колко натоварване обработва сървърът и ще посочи дали имате нужда от допълнителни ресурси на сървъра или може би допълнителни сървъри, за да разпределите товара.
- mongotop проследява и отчита текущата активност на четене и запис на екземпляр на MongoDB и отчита тези статистически данни на база на събиране.
- MongoDB предоставя уеб интерфейс, който предоставя информация за диагностика и мониторинг в проста уеб страница. Можете да прегледате URL адреса по-долу на вашия локален сървър, за да отворите помощната програма за уеб администриране http: // localhost: 28017
- Командата serverStatus или db.serverStatus () от черупката връща общ преглед на състоянието на базата данни, с подробности за използването на диска, използването на паметта, връзките, установени към средата MongoDB и т.н.
Съображения за индексиране и изпълнение на MongoDB
- Индексите са много важни във всяка база данни и могат да се използват за подобряване на ефективността на заявките за търсене в MongoDB. Ако извършвате непрекъснато търсене във вашия документ, тогава е по-добре да добавите индекси в полетата на документа, които се използват в критериите за търсене.
- Опитайте се винаги да ограничавате броя на върнатите резултати от заявката. Да предположим, че имате 2 имена на полета в документ, но просто искате да видите 2 полета от документа. След това се уверете, че вашата заявка цели само да покаже 2 полета, които ви трябват, а не всички полета.
- Ако искате да видите определени стойности на полета, използвайте само тези полета в заявката. Не задавайте заявки за всички полета в колекцията, ако те не са задължителни.
Резюме:
- Много е важно да се внедри сигурност в базите данни, за да се гарантира, че данните в базата данни се пазят в безопасност.
- Потребителите могат да бъдат създадени в базата данни с командата createUser. Конкретни роли могат да бъдат зададени на потребителите, за да им дадат конкретни разрешения за самата база данни.
- Администраторите могат да бъдат добавени за всички бази данни, са само за конкретни бази данни. Това се постига чрез даване на ролята userAdmin или userAdminAnyDatabase.
- Винаги архивирайте вашата среда MongoDB, така че в случай на бедствие, данните да бъдат лесно възстановими.
- Винаги наблюдавайте вашата среда MongoDB за по-активна и вижте проблеми, преди да се появят.