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