Plan Szkolenia
Moduł 1: Wprowadzenie i architektura MongoDB (4h)
Treść:
- Historia i ekosystem MongoDB
- Typowe przypadki użycia, zalety i wady
- Ogólna architektura: instancje, procesy i konfiguracja
Praktyka:
- Interaktywne zapoznanie: łączenie się za pomocą Mongo Shell/CLI
- Tworzenie przykładowej bazy danych i kolekcji
Moduł 2: Instalacja i konfiguracja początkowa (6h)
Treść:
- Wymagania sprzętowe i dotyczące zasobów
- Instalacja na systemach Linux (deb/rpm), Windows i macOS
- Pliki konfiguracyjne YAML (mongod.conf): dataDir, logDir, bindIp, port
- Opcje uruchamiania i zarządzanie systemd/usługami
Praktyka:
- Wdrażanie instancji na lokalnych maszynach wirtualnych lub kontenerach Docker
- Dostosowywanie konfiguracji dla środowisk deweloperskich i produkcyjnych
- Weryfikacja bezpiecznej zdalnej łączności
Moduł 3: Modelowanie danych i podstawowe operacje (5h)
Treść:
- Dokumenty BSON, kolekcje, bazy danych
- Modelowanie: osadzanie a odwołania; wzorce projektowania danych
- Podstawowe indeksy (wprowadzone wcześniej)
- Operacje w Mongo Shell i przykłady skryptów z użyciem sterowników
Praktyka:
- Modelowanie przypadku użycia: system magazynowy lub rozliczeniowy
- Implementowanie operacji CRUD
- Walidacja schematu przy użyciu JSON Schema w MongoDB
Moduł 4: Indeksy i wydajność (4h)
Treść:
- Indeksy proste, złożone, wielokluczowe, tekstowe i geoprzestrzenne
- Korzystanie z explain() i analizowanie metryk
- Wpływ indeksów na wydajność zapisu i pamięć
Praktyka:
- Tworzenie kolekcji z danymi testowymi
- Testowanie zapytań z indeksami i bez nich; interpretowanie explain()
- Dostosowywanie indeksów na podstawie wzorców dostępu
Moduł 5: Bezpieczeństwo (5h)
Treść:
- Mechanizmy uwierzytelniania: SCRAM, LDAP/Kerberos (wstęp)
- Definiowanie użytkowników i niestandardowych ról
- TLS/SSL między klientami a serwerami
- Szyfrowanie danych spoczynkowych: konfiguracja kluczy
- Podstawowe logowanie audytowe
Praktyka:
- Tworzenie użytkowników z minimalnymi uprawnieniami
- Konfigurowanie TLS w lokalnych instancjach
- Weryfikacja nieautoryzowanego dostępu i przeglądanie dzienników audytu
Moduł 6: Replikacja i wysoka dostępność (6h)
Treść:
- Koncepcje replikacji: Primary, Secondary, oplog
- Konfiguracja zestawu replik: inicjalizacja, członkostwo, arbitraż
- Monitorowanie stanu i wyborów
- Konserwacja: dodawanie/usuwanie członków, ponowne przypisywanie priorytetów
Praktyka:
- Wdrażanie trójwęzłowego zestawu replik (lokalnie lub na maszynach wirtualnych)
- Symulowanie awarii węzła primary i obserwowanie przełączenia awaryjnego
- Odbudowywanie węzłów secondary i odzyskiwanie replik
Moduł 7: Sharding i skalowalność pozioma (6h)
Treść:
- Koncepcje shardingu: klucz shardingu, serwery konfiguracyjne, router mongos
- Wybór klucza shardingu i związane z tym ryzyka
- Wdrażanie serwerów konfiguracyjnych, shardów i mongos
- Równoważenie i migracja chunków
Praktyka:
- Konfigurowanie prostego klastra shardingowego
- Wstawianie danych na dużą skalę i obserwowanie dystrybucji
- Wprowadzanie zmian klucza shardingu i zrozumienie ograniczeń
Moduł 8: Kopie zapasowe, przywracanie i odzyskiwanie po awarii (4h)
Treść:
- Natywne narzędzia: mongodump/mongorestore, migawki systemu plików
- Kopie zapasowe w zestawach replik i klastrach shardingowych
- Podstawowe użycie Cloud Manager/Ops Manager do tworzenia kopii zapasowych
- Planowanie odzyskiwania po awarii (DR): RTO, RPO
Praktyka:
- Wykonywanie kopii zapasowej i przywracanie testowej bazy danych
- Symulowanie awarii i odzyskiwanie z kopii zapasowej
- Projektowanie planu DR dla hipotetycznego przypadku
Moduł 9: Monitorowanie i alerty (4h)
Treść:
- Narzędzia: mongostat, mongotop, Cloud Manager/Atlas Monitoring
- Integracja z Prometheus + Grafana (koncepcje i przykłady)
- Kluczowe metryki: CPU, pamięć, I/O, rozmiar oplogu, opóźnienia
- Alerty: definiowanie progów i powiadomień
Praktyka:
- Wdrażanie lokalnego lub kontenerowego agenta monitorującego
- Konfigurowanie podstawowych pulpitów nawigacyjnych z przykładowymi metrykami
- Symulowanie obciążenia i obserwowanie alertów
Moduł 10: Konserwacja, aktualizacje i najlepsze praktyki (4h)
Treść:
- Strategie aktualizacji dla zestawów replik i klastrów shardingowych
- Czyszczenie danych, kompaktowanie, kontrole integralności
- Przeglądanie dzienników i regularne audyty
- Automatyzacja rutynowych zadań (skrypty, cronjobs, Ansible, Terraform)
- Zasady przechowywania i archiwizacji danych
Praktyka:
- Symulowanie aktualizacji mniejszych i większych w kontrolowanym środowisku
- Tworzenie skryptów automatyzujących kopie zapasowe i monitorowanie
- Opracowywanie okresowej listy kontrolnej konserwacji
Podsumowanie i kolejne kroki
Wymagania
- Zrozumienie ogólnych pojęć dotyczących baz danych i struktur danych
- Znajomość korzystania z wiersza poleceń systemu Linux
- Podstawowa wiedza na temat sieci i administrowania systemami
Grupa docelowa
- Administratorzy baz danych i inżynierowie systemowi pracujący z MongoDB
- Zespoły DevOps i infrastruktury wdrażające oraz utrzymujące środowiska MongoDB
- Programiści zainteresowani wewnętrznymi mechanizmami MongoDB i najlepszymi praktykami wdrożeniowymi
Opinie uczestników (2)
Tempo mówienia i wyjaśniania.
Marko Skokovic - PWO by Lottomatica Serbia
Szkolenie - MongoDB for Administrators
Przetłumaczone przez sztuczną inteligencję
Sir Jose jest fajny i wyjaśnia każdą szczegółowość poleceń. Cenię sobie czas, który poświęca na dzielenie się swoją wiedzą z nami, a to naprawdę świadczy o tym, że jest ekspertem w tej dziedzinie.
Almer Laureta - Asialink Finance Corporation
Szkolenie - MongoDB for Developers
Przetłumaczone przez sztuczną inteligencję