Безопасность, мониторинг и безопасность MongoDB; Резервное копирование (Mongodump)

Содержание:

Anonim

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

В этом руководстве вы узнаете -

  • Обзор безопасности базы данных
  • Процедуры резервного копирования - mongodump
  • Монгодб мониторинг
  • Вопросы индексирования и производительности

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

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

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

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

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

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

  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 предоставляет веб-интерфейс, который предоставляет диагностическую и мониторинговую информацию на простой веб-странице. Можно перейти по указанному ниже URL-адресу на локальном сервере, чтобы открыть утилиту веб-администрирования http: // localhost: 28017
  4. Команда serverStatus или db.serverStatus () из оболочки возвращает обзор состояния базы данных с подробностями об использовании диска, использовании памяти, установленных соединениях со средой MongoDB и т. Д.

Индексирование MongoDB и соображения производительности

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

Резюме:

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