План на курса
Модул 1: Въведение и архитектура на MongoDB (4ч)
Съдържание:
- История и екосистема на MongoDB
- Типични използвания, предимства и недостатъци
- Обща архитектура: екземпляри, процеси и конфигурация
Практика:
- Интерактивно разследване: свързване с Mongo Shell/CLI
- Създаване на примерна база данни и колекция
Модул 2: Инсталиране и начална конфигурация (6ч)
Съдържание:
- Изисквания за хардуер и ресурси
- Инсталиране на Linux (deb/rpm), Windows и macOS
- Конфигурационни файли YAML (mongod.conf): dataDir, logDir, bindIp, port
- Опции за стартиране и управление на systemd/услуги
Практика:
- Развертяване на екземпляри на локални VMs или 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
- Конфигурация на репликации: инициация, членство, арбитраж
- Мониторинг на статус и избори
- Поддръжка: добавяне/премахване на членове, преразпределение на приоритети
Практика:
- Развертяване на репликационен набор от три възла (местен или VMs)
- Симулиране на отказ на основния възел и наблюдение на превключване
- Възстановяване на вторичните възли и възстановяване на репликите
Модул 7: Шардиране и хоризонтално масштабиране (6ч)
Съдържание:
- Концепции за шардиране: шарден ключ, конфигурационни сървъри, mongos маршрутизатор
- Избор на шарден ключ и свързани рискове
- Развертяване на конфигурационни сървъри, шардове и mongos
- Разпределяне и миграция на чънкове
Практика:
- Конфигуриране на прост шардиран кластер
- Въвеждане на големи данни и наблюдение на разпределянето
- Въвеждане на промени в шарден ключ и разбиране на ограниченията
Модул 8: Резервно копиране, възстановяване и възстановяване след бедствие (4ч)
Съдържание:
- Най-често използвани инструменти: mongodump/mongorestore, снимки на файловата система
- Резервно копиране в репликационни набори и шардирани кластери
- Основно използване на Cloud Manager/Ops Manager за резервно копиране
- Планиране за възстановяване след бедствие (DR): RTO, RPO
Практика:
- Извършване на резервно копиране и възстановяване на тестова база данни
- Симулиране на отказ и възстановяване от резервно копиране
- Проектиране на план за възстановяване след бедствие за хипотетичен случай
Модул 9: Мониторинг и уведомления (4ч)
Съдържание:
- Инструменти: mongostat, mongotop, Cloud Manager/Atlas Monitoring
- Интеграция с Prometheus + Grafana (концепции и примерни случаи)
- Основни метрики: CPU, памет, I/O, размер на oplog, забавяния
- Уведомления: определяне на прагове и известия
Практика:
- Развертяване на локален или базиран на контейнери мониторингов агент
- Настройка на основни табло с примерни метрики
- Симулиране на натоварване и наблюдение на уведомления
Модул 10: Поддръжка, обновления и добри практики (4ч)
Съдържание:
- Стратегии за обновление на репликационни набори и шардирани кластери
- Чистене на данни, компресия, проверка на целостта
- Преглед на логи и редовни аудити
- Автоматизация на рутинни задачи (скриптове, cronjobs, Ansible, Terraform)
- Политики за съхранение и архивиране на данни
Практика:
- Симулиране на малки и големи обновления в контролирана среда
- Създаване на автоматизационни скриптове за резервно копиране и мониторинг
- Развитие на периодичен списък за поддръжка
Резюме и следващи стъпки
Изисквания
- Разбиране на общ принцип на база данни и структура на данни
- Знакомство с Linux командата на командния ред
- Основни знания за мрежи и системно управление
Целева аудитория
- Database администратори и системни инженери, работащи с MongoDB
- DevOps и инфраструктурни екипи, разгръщащи и поддържащи MongoDB среди
- Разработчици, интересуващи се от MongoDB интернали и най-добри практики за разгръщане
Oтзиви от потребители (5)
Камил свърши страхотна работа. Той задаваше въпроси, за да разбере какво вече знаем и върху какво трябва да се съсредоточим, и лесно адаптира обучението към нашите нужди.
Susanna - USAF
Курс - MongoDB Advanced Administrator
Машинен превод
Ситуацията беше нетипична, защото трябваше да се проведе интензивно обучение за разработчици с неразработчици. Лукаш прие това предизвикателство с емпатия и много хумор. Чрез неговия интелигентен и гъвкав начин той успя да гарантира, че за всеки ще бъде постигната конкретна печалба от учене. Това много ми хареса и с удоволствие бих посетил отново семинар с Лукаш.
Christoph - Honda Bank GmbH
Курс - MERN Fullstack Development
Машинен превод
Лабораторната среда
Samer Roshdi - epic ltd
Курс - MongoDB for Analysts
Машинен превод
It was very flexible and adapted to our expectations and skill level.
Raul Alberto Canales Requena - Kiloo
Курс - MongoDB for Advanced Users
Машинен превод
I generally was benefit from the open mind and communication.
Oleksiy Deliyev
Курс - MongoDB for Developers
Машинен превод