Návrh Školení
Modul 1: Úvod a architektura MongoDB (4h)
Obsah:
- Dějiny a ekosystém MongoDB
- Běžné případy použití, výhody a nevýhody
- Obecná architektura: instance, procesy a konfigurace
Cvičení:
- Interaktivní prozkoumání: připojení s Mongo Shell/CLI
- Vytvoření ukázkové databáze a kolekce
Modul 2: Instalace a počáteční konfigurace (6h)
Obsah:
- Požadavky na hardware a prostředky
- Instalace na Linux (deb/rpm), Windows a macOS
- YAML konfigurační soubory (mongod.conf): dataDir, logDir, bindIp, port
- Spouštěcí možnosti a správa systému systemd/service
Cvičení:
- Nasazení instancí na místních virtuálních strojích nebo Docker kontejnerech
- Přizpůsobování konfigurací pro vývoj a produkci
- Ověřování zabezpečeného vzdáleného připojení
Modul 3: Modelování dat a základní operace (5h)
Obsah:
- BSON dokumenty, kolekce, databáze
- Modelování: vestavěný vs. odkaz; vzory návrhu dat
- Základní indexy (zavedené dříve)
- Operace s Mongo Shell a příklady skriptů pomocí ovladačů
Cvičení:
- Modelování případu použití: inventáře nebo fakturačního systému
- Implementace operací CRUD
- Schéma validace pomocí JSON Schema v MongoDB
Modul 4: Indexy a výkon (4h)
Obsah:
- Jednoduché, složené, multikey, textové a geoprostorové indexy
- Použití explain() a analýza metrik
- Vliv indexů na výkon zápisu a paměť
Cvičení:
- Vytváření kolekcí s testovacími daty
- Testování dotazů s a bez indexů; interpretace explain()
- Přizpůsobování indexů na základě vzorů přístupu
Modul 5: Zabezpečení (5h)
Obsah:
- Přihlašovací mechanismy: SCRAM, LDAP/Kerberos (úvod)
- Vytváření uživatelů a vlastních rolí
- TLS/SSL mezi klienty a servery
- Zašifrované data v klidovém stavu: konfigurace klíčů
- Základní auditování přihlášek
Cvičení:
- Vytváření uživatelů s minimálními právy
- Konfigurace TLS v místních instancích
- Ověřování neautorizovaného přístupu a kontrola auditovacích protokolů
Modul 6: Replikace a dostupnost vysoké kvality (6h)
Obsah:
- Koncepce replikace: Primární, sekundární, oplog
- Konfigurace replikovací sady: inicializace, členství, arbitráž
- Sledování stavu a voleb primárního serveru
- Údržba: přidávání/odstraňování členů, přiřazování priorit
Cvičení:
- Nasazení replikovací sady třech uzlů (místní nebo virtuální stroje)
- Simulace selhání primárního serveru a pozorování převzetí funkcí
- Vytváření sekundárních uzel a obnovení replik
Modul 7: Sharding a horizontální škálovatelnost (6h)
Obsah:
- Koncepce shardingu: klíč shard, config servery, mongos router
- Výběr klíče shard a spojené rizika
- Nasazení config serverů, shardů a mongos
- Přebalancování a migrace bloků dat
Cvičení:
- Konfigurace jednoduchého sharding clusteru
- Vkládání velkých množství dat a pozorování distribuce
- Úprava klíče shard a pochopení omezení
Modul 8: Záloha, obnovení a obnova po poruchách (4h)
Obsah:
- Přirozené nástroje: mongodump/mongorestore, snímky souborového systému
- Zálohy v replikovacích sadách a sharding clusterch
- Základní použití Cloud Manager/Ops Manager pro zálohování
- Plánování obnovení po poruchách (DR): RTO, RPO
Cvičení:
- Vykonávání záloh a obnovy na testovací databázi
- Simulace selhání a obnovení zálohy
- Návrh plánu DR pro hypotetický případ
Modul 9: Monitorování a upozornění (4h)
Obsah:
- Nástroje: mongostat, mongotop, Cloud Manager/Atlas Monitoring
- Integrace s Prometheus + Grafana (koncepty a příklady)
- Klíčové metriky: CPU, paměť, I/O, velikost oplogu, latence
- Upozornění: definování prahů a oznámení
Cvičení:
- Nasazení místního nebo kontejnerizovaného monitorovacího agenta
- Nastavení základních řídicích panelů s ukázkovými metrikami
- Simulace zátěže a pozorování upozornění
Modul 10: Údržba, aktualizace a osvědčené postupy (4h)
Obsah:
- Strategie aktualizací pro replikovací sady a sharding clusterch
- Clenění dat, komprese, kontrola integrity
- Kontrola protokolů a pravidelná auditace
- Automatizace běžných úkolů (skripty, cronjobs, Ansible, Terraform)
- Zásady zadržování a archivace dat
Cvičení:
- Simulace menších a větších aktualizací v kontrolovaném prostředí
- Vytváření automatizačních skriptů pro zálohování a monitorování
- Vývoj pravidelného seznamu úkolů pro údržbu
Závěr a další kroky
Požadavky
- Pochopení obecných konceptů databází a datových struktur
- Obratnost s používáním příkazového řádku Linuxu
- Základní znalosti sítě a systémové správy
Cílová skupina
- Správci databází a systémoví inženýři pracující s MongoDB
- Týmy DevOps a infrastruktury nasazující a udržující prostředí MongoDB
- Vývojáři zajímající se o interní funkce MongoDB a osvědčené postupy nasazení
Reference (5)
Kamil odvedl skvělou práci. Kladl otázky, aby zjistil, co už umíme a na co se musíme zaměřit, a snadno přizpůsobil školení našim potřebám.
Susanna - USAF
Kurz - MongoDB Advanced Administrator
Přeloženo strojem
Situace byla atypická, protože mělo probíhat intenzivní školení pro vývojáře s nevývojáři. Lukasz se této výzvy ujal s empatií a spoustou humoru. Svým inteligentním a flexibilním způsobem byl schopen zajistit, aby bylo dosaženo konkrétního studijního přínosu pro každého. Moc se mi to líbilo a rád bych se znovu zúčastnil semináře s Lukaszem.
Christoph - Honda Bank GmbH
Kurz - MERN Fullstack Development
Přeloženo strojem
The lab environment
Samer Roshdi - epic ltd
Kurz - MongoDB for Analysts
It was very flexible and adapted to our expectations and skill level.
Raul Alberto Canales Requena - Kiloo
Kurz - MongoDB for Advanced Users
I generally was benefit from the open mind and communication.