Съдържание и теми, включени в курса
Модул 1: Въведение и архитектура на MongoDB (4ч.)
Съдържание:
- История и екосистема на MongoDB
- Типични случаи на употреба, предимства и недостатъци
- Обща архитектура: инстанции, процеси и конфигурация
Практика:
- Интерактивно изследване: свързване с Mongo Shell/CLI
- Създаване на примерна база данни и колекция
Модул 2: Инсталиране и първоначална конфигурация (6ч.)
Съдържание:
- Изисквания към хардуера и ресурсите
- Инсталиране на Linux (deb/rpm), Windows и macOS
- YAML конфигурационни файлове (mongod.conf): dataDir, logDir, bindIp, port
- Опции за стартиране и управление чрез systemd/услуги
Практика:
- Внедряване на инстанции върху локални виртуални машини или Docker контейнери
- Настройка на конфигурациите за разработка спрямо продукция
- Проверка на сигурната отдалечена свързаност
Модул 3: Моделиране на данни и основни операции (5ч.)
Съдържание:
- BSON документи, колекции, бази данни
- Моделиране: вграждане спрямо рефериране; шаблони за проектиране на данни
- Основни индекси (въведени по-рано)
- Операции с Mongo Shell и примери за скриптове с драйвери
Практика:
- Моделиране на случай на употреба: система за инвентар или фактуриране
- Изпълнение на CRUD операции
- Валидиране на схема с JSON Schema в MongoDB
Модул 4: Индекси и производителност (4ч.)
Съдържание:
- Прости, съставни, многоключови, текстови и геопространствени индекси
- Използване на explain() и анализ на показателите
- Влияние на индексите върху производителността при запис и паметта
Практика:
- Създаване на колекции с тестови данни
- Тестване на заявки с и без индекси; интерпретиране на explain()
- Коригиране на индексите според моделите на достъп
Модул 5: Сигурност (5ч.)
Съдържание:
- Механизми за удостоверяване: SCRAM, LDAP/Kerberos (въведение)
- Дефиниране на потребители и персонализирани роли
- TLS/SSL между клиенти и сървъри
- Криптиране в покой: конфигурация на ключове
- Основно одитно регистриране
Практика:
- Създаване на потребители с минимални привилегии
- Конфигуриране на TLS в локални инстанции
- Проверка на неоторизиран достъп и преглед на одитни записи
Модул 6: Репликация и висока достъпност (6ч.)
Съдържание:
- Концепции за репликация: Primary, Secondary, oplog
- Конфигурация на реплика сет: иницииране, членство, арбитраж
- Мониторинг на състоянието и избори
- Поддръжка: добавяне/премахване на членове, преназначаване на приоритети
Практика:
- Внедряване на тринодов реплика сет (локално или чрез виртуални машини)
- Симулиране на отказ на primary и наблюдение на превключването
- Възстановяване на secondary възли и възстановяване на реплики
Модул 7: Шардиране и хоризонтална мащабируемост (6ч.)
Съдържание:
- Концепции за шардиране: shard key, config сървъри, mongos рутер
- Избор на shard key и свързаните рискове
- Внедряване на config сървъри, шардове и mongos
- Ребалансиране и миграция на части
Практика:
- Конфигуриране на прост шардиран клъстер
- Вмъкване на мащабни данни и наблюдение на разпределението
- Промени в shard key и разбиране на ограниченията
Модул 8: Архивиране, възстановяване и планиране при бедствия (4ч.)
Съдържание:
- Вградени инструменти: mongodump/mongorestore, снимки на файловата система
- Архивиране в реплика сетове и шардирани клъстери
- Основно използване на Cloud Manager/Ops Manager за архивиране
- Планиране при бедствия (DR): RTO, RPO
Практика:
- Извършване на архивиране и възстановяване на тестова база данни
- Симулиране на отказ и възстановяване от архив
- Проектиране на DR план за хипотетичен случай
Модул 9: Мониторинг и предупреждения (4ч.)
Съдържание:
- Инструменти: mongostat, mongotop, Cloud Manager/Atlas Monitoring
- Интеграция с Prometheus + Grafana (концепции и примери)
- Ключови показатели: CPU, памет, I/O, размер на oplog, латентност
- Предупреждения: дефиниране на прагове и известия
Практика:
- Внедряване на локален или базиран на контейнери агент за мониторинг
- Настройка на основни табла с примерни показатели
- Симулиране на натоварване и наблюдение на предупреждения
Модул 10: Поддръжка, ъпгрейди и най-добри практики (4ч.)
Съдържание:
- Стратегии за ъпгрейд на реплика сетове и шардирани клъстери
- Почистване на данни, компактиране, проверки за цялост
- Преглед на логове и редовни одити
- Автоматизиране на рутинни задачи (скриптове, cronjobs, Ansible, Terraform)
- Политики за съхранение и архивиране на данни
Практика:
- Симулиране на малки и големи ъпгрейди в контролирана среда
- Създаване на скриптове за автоматизация на архивиране и мониторинг
- Разработване на периодичен контролен списък за поддръжка
Обобщение и следващи стъпки
Изисквания
- Разбиране на общите концепции за бази данни и структури от данни
- Познаване на работата с команден ред в Linux
- Основни познания за мрежи и системно администриране
Аудитория
- Администратори на бази данни и системни инженери, работещи с MongoDB
- DevOps и инфраструктурни екипи, които внедряват и поддържат среди с MongoDB
- Разработчици, интересуващи се от вътрешната архитектура на MongoDB и най-добрите практики за внедряване
Отзиви от участници (2)
Тempoто на говоренето и обясненията.
Marko Skokovic - PWO by Lottomatica Serbia
Курс - MongoDB for Administrators
Машинен превод
Сър Йосе е прекрасен и обяснява всяка детайла на командите. Ценим времето, което посвещава за споделяне на знанията си с нас, и това ясно показва, че той е експерт в тази област.
Almer Laureta - Asialink Finance Corporation
Курс - MongoDB for Developers
Машинен превод