Безпека, моніторинг та підсилювач MongoDB; Резервне копіювання (Mongodump)

Зміст:

Anonim

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

У цьому підручнику ви дізнаєтесь -

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

Огляд безпеки MongoDB

MongoDB має можливість визначати механізми захисту баз даних. За замовчуванням не хотілося б, щоб усі мали відкритий доступ до кожної бази даних у MongoDB, тому вимога про наявність певного механізму безпеки в MongoDB є важливою.

Нижче наведено найкращі практики впровадження безпеки в бази даних

  1. Увімкнути контроль доступу - Створіть користувачів, щоб усі програми та користувачі мали примусово мати якийсь механізм автентифікації під час доступу до баз даних на MongoDB.

  2. Налаштування контролю доступу на основі ролей - Іноді може існувати логічна групування дозволів, які можуть знадобитися, і які можна об’єднати в ролі. Потім користувачам можна призначити ці ролі.

  3. Спробуйте налаштувати MongoDB на використання якогось протоколу шифрування, такого як TLS або SSL. Ці протоколи можна використовувати для шифрування трафіку, що протікає між клієнтом та середовищем DB 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 та кластерних кластерів, зчитуючи дані oplog із середовища MongoDB. MongoDB Cloud Manager може створити момент відновлення часу, зберігаючи дані oplog, щоб він міг у будь-який момент часу створити відновлення для певного набору реплік або шардованого кластера.

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

Моніторинг є однією з найбільш важливих адміністративних видів діяльності в 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 було більш активним, і переглядайте проблеми до їх виникнення.