Jedną z kluczowych koncepcji MongoDB jest zarządzanie bazami danych. Ważne aspekty, takie jak bezpieczeństwo, tworzenie kopii zapasowych, dostęp do baz danych, są ważnymi pojęciami, jeśli chodzi o administrowanie bazą danych.
W tym samouczku nauczysz się -
- Omówienie bezpieczeństwa bazy danych
- Procedury tworzenia kopii zapasowych - mongodump
- Monitorowanie Mongodb
- Zagadnienia dotyczące indeksowania i wydajności
Omówienie zabezpieczeń bazy danych MongoDB
MongoDB ma możliwość definiowania mechanizmów bezpieczeństwa do baz danych. Domyślnie nie chciałoby się, aby każdy miał otwarty dostęp do każdej bazy danych w MongoDB, stąd ważny jest wymóg posiadania pewnego rodzaju mechanizmu bezpieczeństwa w MongoDB.
Poniżej przedstawiono najważniejsze wskazówki dotyczące wdrażania zabezpieczeń w bazach danych
-
Włącz kontrolę dostępu - utwórz użytkowników tak, aby wszystkie aplikacje i użytkownicy musieli mieć pewien rodzaj mechanizmu uwierzytelniania podczas uzyskiwania dostępu do baz danych w MongoDB.
-
Skonfiguruj kontrolę dostępu opartą na rolach - czasami może istnieć logiczne zgrupowanie uprawnień, które mogą być wymagane, które można połączyć w role. Następnie można przypisać użytkowników do tych ról.
-
Spróbuj skonfigurować MongoDB, aby używał jakiegoś protokołu szyfrowania, takiego jak TLS lub SSL. Protokoły te mogą służyć do szyfrowania ruchu przepływającego między klientem a środowiskiem mongo DB.
-
Skonfiguruj inspekcję - administratorzy zwykle muszą wiedzieć, kto robi co, co pomaga w późniejszej analizie problemów. Najlepszym sposobem jest włączenie inspekcji w MongoDB.
-
Uruchom instancję serwera MongDB z oddzielnym identyfikatorem użytkownika, który ma dostęp do wymaganych zasobów w środowisku serwera.
Procedury tworzenia kopii zapasowych Mongodb - mongodump
Podczas pracy z MongDB ważne jest, aby zawsze zapewnić procedurę tworzenia kopii zapasowych na wypadek uszkodzenia danych w MongoDB z jakiegokolwiek powodu.
Poniżej znajdują się mechanizmy tworzenia kopii zapasowych dostępne w MongoDB
- Kopia zapasowa poprzez kopiowanie podstawowych plików danych - jest to prawdopodobnie najłatwiejszy mechanizm, wszystko, co należy zrobić, to skopiować pliki danych, na których znajduje się MongoDB, i skopiować je do innej lokalizacji, która najlepiej powinna być innym serwerem.
- Utwórz kopię zapasową bazy danych za pomocą mongodump - narzędzie mongodump odczytuje dane z bazy danych MongoDB i tworzy wysokiej jakości pliki BSON. Należy wziąć pod uwagę, że jeśli zestaw danych ma dużą objętość, wówczas mongodump może wymagać dużej ilości zasobów, więc aby złagodzić ten problem, narzędzie powinno być uruchomione na serwerze pomocniczym.
- Kopia zapasowa MongoDB Cloud Manager - MongoDB Cloud Manager stale tworzy kopie zapasowe zestawów replik MongoDB i podzielonych na fragmenty klastrów, odczytując dane oplog ze środowiska MongoDB. MongoDB Cloud Manager może utworzyć odzyskiwanie punktu w czasie, przechowując dane oplog, dzięki czemu może utworzyć przywracanie w dowolnym momencie dla określonego zestawu replik lub podzielonego na fragmenty klastra.
Monitorowanie Mongodb
Monitorowanie jest jedną z najważniejszych czynności administracyjnych w MongoDB. Dzieje się tak, ponieważ możesz być bardziej proaktywny, monitorując środowisko pod kątem możliwych problemów, które mogą się pojawić.
Poniżej znajduje się kilka przykładów realizacji monitoringu
- Mongostat poinformuje Cię, ile razy operacje na bazie danych, takie jak wstawianie, zapytania, aktualizacja, usuwanie itp., faktycznie występują na serwerze. Daje to dobry pogląd na to, jakie obciążenie obsługuje serwer i wskazuje, czy potrzebujesz dodatkowych zasobów na serwerze, czy może dodatkowych serwerów do rozłożenia obciążenia.
- mongotop śledzi i raportuje bieżącą aktywność odczytu i zapisu instancji MongoDB oraz raportuje te statystyki dla każdego zbioru.
- MongoDB zapewnia interfejs sieciowy, który udostępnia informacje diagnostyczne i monitorujące na prostej stronie internetowej. Można przejść do poniższego adresu URL na serwerze lokalnym, aby otworzyć narzędzie do administrowania siecią WWW http: // localhost: 28017
- Polecenie serverStatus lub db.serverStatus () z powłoki zwraca przegląd stanu bazy danych ze szczegółami dotyczącymi wykorzystania dysku, użycia pamięci, połączeń nawiązanych ze środowiskiem MongoDB itp.
Zagadnienia dotyczące indeksowania i wydajności bazy danych MongoDB
- Indeksy są bardzo ważne w każdej bazie danych i mogą być używane do poprawy wydajności zapytań wyszukiwania w MongoDB. Jeśli ciągle wyszukujesz w swoim dokumencie, lepiej jest dodać indeksy do pól dokumentu, które są używane w kryteriach wyszukiwania.
- Staraj się zawsze ograniczać liczbę zwracanych wyników zapytania. Załóżmy, że masz 2 nazwy pól w dokumencie, ale chcesz zobaczyć tylko 2 pola z dokumentu. Następnie upewnij się, że zapytanie ma na celu wyświetlenie tylko 2 wymaganych pól, a nie wszystkich pól.
- Jeśli chcesz wyświetlić określone wartości pól, użyj tylko tych pól w zapytaniu. Nie wykonuj zapytań dotyczących wszystkich pól w kolekcji, jeśli nie są one wymagane.
Podsumowanie:
- Bardzo ważne jest, aby zaimplementować zabezpieczenia w bazach danych, aby zapewnić bezpieczeństwo danych w bazie danych.
- Użytkowników można tworzyć w bazie danych za pomocą komendy createUser. Użytkownikom można przypisać określone role, aby nadać im określone uprawnienia do samej bazy danych.
- Administratorów można dodać do wszystkich baz danych tylko dla określonych baz danych. Osiąga się to poprzez nadanie roli userAdmin lub userAdminAnyDatabase.
- Zawsze twórz kopie zapasowe środowiska MongoDB, aby w przypadku jakiejkolwiek awarii dane można było łatwo odzyskać.
- Zawsze monitoruj swoje środowisko MongoDB, aby być bardziej proaktywnym i zobacz problemy, zanim się pojawią.