Съдържание и теми, включени в курса
Модул 1: Въведение и архитектура на MongoDB (4ч)
Съдържание:
- История и екосистема на MongoDB
- Типични случаи на употреба, предимства и недостатъци
- Обща архитектура: инстанции, процеси и конфигурация
Практика:
- Интерактивно изследване: свързване с Mongo Shell/CLI
- Създаване на примерна база данни и колекция
Модул 2: Инсталиране и първоначална конфигурация (6ч)
Съдържание:
- Хардуерни и ресурсни изисквания
- Инсталиране на Linux (deb/rpm), Windows и macOS
- YAML конфигурационни файлове (mongod.conf): dataDir, logDir, bindIp, port
- Опции за стартиране и управление чрез systemd/service
Практика:
- Внедряване на инстанции на локални виртуални машини или 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
- Конфигурация на репликиращ сет: иницииране, членство, арбитраж
- Мониторинг на състоянието и избори
- Поддръжка: добавяне/премахване на членове, преназначаване на приоритети
Практика:
- Внедряване на репликиращ сет с три възела (локално или на виртуални машини)
- Симулиране на отказ на първичния възел и наблюдение на превключването при отказ
- Възстановяване на вторични възли и възстановяване на реплики
Модул 7: Шардиране и хоризонтална мащабируемост (6ч)
Съдържание:
- Концепции за шардиране: ключ за шардиране (shard key), конфигурационни сървъри (config servers), рутер mongos
- Избор на ключ за шардиране и свързаните с това рискове
- Внедряване на конфигурационни сървъри, шардове и mongos
- Ребалансиране и миграция на части (chunks)
Практика:
- Конфигуриране на обикновен шардиран клъстер
- Вмъкване на мащабни данни и наблюдение на разпределението
- Въвеждане на промени в ключа за шардиране и разбиране на ограниченията
Модул 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
Машинен превод