Návrh Školení
Modul 1: Úvod a architektura MongoDB (4 hodiny)
Témata:
- Historie vzniku a ekosystém MongoDB
- Běžné případy použití, výhody a nevýhody
- Obecná architektura: instance, procesy a konfigurace
Cvičení:
- Interaktivní průzkum: připojení pomocí nástroje Mongo Shell nebo CLI
- Vytvoření ukázkové databáze a kolekce
Modul 2: Instalace a počáteční konfigurace (6 hodin)
Témata:
- Požadavky na hardwarové prostředky a zdroje
- Instalace na Linuxu (deb/rpm), Windows i macOS
- Konfigurační soubory ve formátu YAML (mongod.conf): datDir, logDir, bindIp, port
- Možnosti spouštění a správa služeb pomocí nástroje systemd či jiných systémů
Cvičení:
- Nasazení instancí na lokálních virtuálních strojích nebo v kontejnerech Docker
- Přizpůsobení nastavení pro vývojové a produkční prostředí
- Ověření bezpečného vzdáleného přístupu k databázi
Modul 3: Modelování dat a základní operace (5 hodin)
Témata:
- BSON dokumenty, kolekce a databáze
- Modelování dat: vnořování vs. referencování; osvědčené postupy návrhu datových struktur
- Základní indexování (představeno dříve)
- Pracovní operace v prostředí Mongo Shell a skriptování s použitím ovladačů
Cvičení:
- Návrh datového modelu pro konkrétní scénář – například systém pro evidenci zboží nebo fakturaci
- Implementace operací typu CRUD
- Ověření platnosti dat pomocí formátu JSON Schema v rámci MongoDB
Modul 4: Indexy a výkonnost (4 hodiny)
Témata:
- Jednoduché, složené, víceklíčové, textové i geografické indexy
- Použití nástroje explain() a analýza výkonnostních metrik
- Vliv indexů na rychlost zápisu dat a využití paměti
Cvičení:
- Vytvoření kolekcí s testovacími daty
- Otestování dotazů s použitím i bez indexů; interpretace výstupu z explain()
- Přizpůsobení indexů na základě charakteristik přístupů k datům<\/ul>
Modul 5: Zabezpečení (5 hodin)
Témata:
- Mechanismy autentizace: SCRAM, LDAP/Kerberos (stručný přehled)
- Definování uživatelských účtů a vlastních rolí
- Šifrování komunikace mezi klientem a serverem pomocí TLS/SSL
- Šifrování dat uložených na disku: konfigurace klíčů
- Základní funkce pro auditování činností uživatelů
Cvičení:
- Vytvoření uživatelských účtů s minimálními potřebnými oprávněními
- Nastavení šifrování TLS na lokálních instancích databáze
- Ověření neoprávněného přístupu a kontrola auditních protokolů
Modul 6: Replikace a vysoká dostupnost (6 hodin)
Témata:
- Principy replikace: primární, sekundární uzly, oplog
- Konfigurace replikačního souboru: inicializace, přidávání členů, fungování arbitrážních uzlů
- Monitorování stavu replikace a procesů volby nového primárního uzlu
- Údržba systému: přidávání/odebírání uzlů, změna priorit jejich fungování
Cvičení:
- Nasazení trojuzlového replikačního souboru (v lokálním prostředí či na virtuálních strojích)
- Simulace výpadku primárního uzlu a pozorování procesů přepínání funkcí do jiných uzlů
- Znovuvytvoření sekundárních uzlů a obnova chybějících replikátorů
Modul 7: Sharding a horizontální škálování (6 hodin)
Témata:
- Principy shardingu: klíč pro rozdělení dat, konfigurační servery, směrovač mongos
- Výběr vhodného klíče pro rozdělování a s ním spojená rizika
- Nasazení konfiguračních serverů, shardů a směrovače mongos
- Principy přerozdělování datových fragmentů mezi uzly (chunk migration)
Cvičení:
- Nastavení jednoduchého shardovaného systému
- Vkládání velkého množství dat a sledování jejich distribuce mezi uzly
- Přizpůsobení vybraného klíče pro rozdělení dat a pochopení důsledků těchto změn
Modul 8: Zálohování, obnova a plánování havarijního stavu (4 hodiny)
Témata:
- Nativní nástroje: mongodump/mongorestore a využití snapshotů souborového systému pro zálohování
- Zálohy v prostředích s replikací i shardingem
- Použití nástrojů Cloud Manager či Ops Manager k zálohování dat
- Havarijní plánování: stanovení cílů RTO a RPO
Cvičení:
- Provedení zálohy a obnovy testovací databáze
- Simulace selhání systému a obnova z předchozí zálohy
- Návrh plánu obnovy po havárii pro imaginární scénář
Modul 9: Monitorování a upozornění (4 hodiny)
Témata:
- Nástroje k monitorování: mongostat, mongotop, možnosti sledování v rámci Cloud Manager nebo Atlas
- Integrace s nástroji typu Prometheus a Grafana (koncepty i praktické ukázky)
- Důležité metriky: využití procesoru, paměti, I/O provoz, velikost oplog a latence dotazů
- Definování limitů a konfigurace upozornění na odchylky v hodnotách
Cvičení:
- Nasazení lokálního či kontejnerizovaného monitorovacího agenta
- Vytvoření základních panelů s ukázkovými výkonnostními metrikami
- Simulace zátěže a sledování aktivace upozornění na překročení stanovených limitů
Modul 10: Údržba, aktualizace a osvědčené postupy (4 hodiny)
Témata:
- Aktualizační strategie pro replikační soubory i shardované systémy
- Údržba dat: jejich čištění, kompakce a kontroly integrity
- Pravidelný přehled logů a auditem záznamů systému
- Automatizace rutinních úkonů – skripty, plánované úlohy, nástroje Ansible či Terraform
- Nastavení pravidel pro archivaci a dlouhodobé uchovávání dat
Cvičení:
- Simulace postupů aktualizací – jak menších, tak i velkých verzí v kontrolovaném prostředí
- Návrh a implementace skriptů pro zálohování či monitorování systému
- Vytvoření seznamu běžných údržbových aktivit s doporučenými intervaly provádění
Závěr a další kroky
Požadavky
- Základní porozumění obecným konceptům databází a datovým strukturám
- Orientace v používání příkazového řádku Linuxu
- Základní znalosti o síťových technologiích a správě systémů
Cílové skupiny
- Správci databází a systémoví inženýři pracující s MongoDB
- Vývojářské a infrastrukturní týmy zajišťující nasazení a správu prostředí MongoDB
- Programátoři se zájmem o vnitřní fungování MongoDB a osvědčené postupy při jeho nasazování.
Reference (2)
Rychlost mluvy a vysvětlování.
Marko Skokovic - PWO by Lottomatica Serbia
Kurz - MongoDB for Administrators
Přeloženo strojem
Sir Jose je skvělý a vysvětluje každý detail příkazů. Oceňujeme čas, který si bere na to, aby s námi svou znalost sdílel, a opravdu dává najevo, že je odborníkem v této oblasti.
Almer Laureta - Asialink Finance Corporation
Kurz - MongoDB for Developers
Přeloženo strojem