Учебники

13) Безопасность, Резервное копирование и мониторинг

Одним из ключевых понятий в MongoDB является управление базами данных. Важные аспекты, такие как безопасность, резервное копирование, доступ к базам данных, являются важными понятиями, когда дело доходит до администрирования базы данных.

В этом уроке вы узнаете —

MongoDB Обзор безопасности

MongoDB имеет возможность определять механизмы безопасности для баз данных. По умолчанию никто не хочет, чтобы у всех был открытый доступ ко всем базам данных в MongoDB, поэтому важно наличие какого-то механизма безопасности в MongoDB.

Ниже приведены рекомендации по внедрению безопасности в базах данных.

  1. Включить контроль доступа — создайте пользователей, чтобы все приложения и пользователи имели обязательный механизм аутентификации при доступе к базам данных на MongoDB.

  2. Настройка контроля доступа на основе ролей. Иногда может потребоваться логическая группировка разрешений, которые могут быть объединены в роли. Пользователи могут быть назначены на эти роли.

  3. Попробуйте настроить MongoDB для использования какого-либо протокола шифрования, такого как TLS или SSL. Эти протоколы могут использоваться для шифрования трафика, который проходит между клиентом и средой БД mongo.

  4. Настройка аудита. Обычно администраторам необходимо знать, кто что делает, что помогает анализировать проблемы в дальнейшем. Лучший способ — включить аудит в MongoDB.

  5. Запустите экземпляр сервера MongDB с отдельным идентификатором пользователя, который имеет доступ к необходимым ресурсам в среде сервера.

Процедуры резервного копирования Mongodb — mongodump

При работе с MongDB важно всегда обеспечивать процедуру резервного копирования на случай, если данные в MongoDB будут повреждены по какой-либо причине.

Ниже приведены механизмы резервного копирования, доступные из MongoDB

  1. Резервное копирование путем копирования лежащих в основе файлов данных — это, вероятно, самый простой механизм, все, что нужно сделать, — это скопировать файлы данных, в которых находится MongoDB, и скопировать их в другое место, которое в идеале должно быть другим сервером.
  2. Резервное копирование базы данных с помощью mongodump — инструмент mongodump считывает данные из базы данных MongoDB и создает файлы BSON с высокой точностью. Необходимо учитывать, что если объем данных большой по объему, то mongodump может быть очень ресурсоемким, поэтому для устранения этой проблемы утилиту следует запустить на вторичном сервере.
  3. Резервное копирование MongoDB Cloud Manager — MongoDB Cloud Manager постоянно выполняет резервное копирование наборов реплик MongoDB и сегментированных кластеров, считывая данные оплогов из среды MongoDB. MongoDB Cloud Manager может создать восстановление на определенный момент времени, сохраняя данные журнала операций, чтобы в любой момент можно было создать восстановление для определенного набора реплик или сегментированного кластера.

Монгодб Мониторинг

Мониторинг является одним из наиболее важных административных мероприятий в MongoDB. Это потому, что вы можете быть более активными, отслеживая среду на предмет возможных проблем, которые могут возникнуть.

Ниже приведены некоторые примеры реализации мониторинга.

  1. mongostat сообщит вам, сколько операций с базами данных времени, таких как вставка, запрос, обновление, удаление и т. д., действительно выполняются на сервере. Это даст хорошее представление о том, какую нагрузку обрабатывает сервер, и покажет, нужны ли вам дополнительные ресурсы на сервере или, возможно, дополнительные серверы для распределения нагрузки.
  2. mongotop отслеживает и сообщает о текущих операциях чтения и записи экземпляра MongoDB и сообщает эти статистические данные для каждой коллекции.
  3. MongoDB предоставляет веб-интерфейс, который предоставляет диагностическую и контрольную информацию на простой веб-странице. Можно перейти по ссылке ниже на вашем локальном сервере, чтобы открыть утилиту веб-администрирования http: // localhost: 28017
  4. Команда serverStatus или db.serverStatus () из оболочки возвращает обзор состояния базы данных с подробными сведениями об использовании диска, использовании памяти, установленных соединениях со средой MongoDB и т. Д.

Вопросы индексации и производительности MongoDB

  1. Индексы очень важны в любой базе данных и могут быть использованы для повышения эффективности поисковых запросов в MongoDB. Если вы постоянно выполняете поиск в своем документе, то лучше добавить индексы в те поля документа, которые используются в критериях поиска.
  2. Старайтесь всегда ограничивать количество возвращаемых результатов запроса. Предположим, у вас есть 2 имени поля в документе, но вы просто хотите увидеть 2 поля из документа. Затем убедитесь, что ваш запрос предназначен только для отображения 2 обязательных полей, а не всех полей.
  3. Если вы хотите просмотреть определенные значения полей, используйте только эти поля в запросе. Не запрашивайте все поля в коллекции, если они не обязательны.

Резюме:

  • Очень важно реализовать безопасность в базах данных, чтобы обеспечить безопасность данных в базе данных.
  • Пользователи могут быть созданы в базе данных с помощью команды createUser. Конкретные роли могут быть назначены пользователям для предоставления им определенных разрешений для самой базы данных.
  • Администраторы могут быть добавлены для всех баз данных только для конкретных баз данных. Это достигается путем предоставления роли userAdmin или userAdminAnyDatabase.
  • Всегда делайте резервную копию среды MongoDB, чтобы в случае любой аварии данные можно было легко восстановить.
  • Всегда следите за тем, чтобы ваша среда MongoDB была более активной, и просмотрите проблемы до их возникновения.