Семинарист курса «Системы управления базами данных»
Summary
Leads in-person 1.5-hour seminars for a university course on database management systems in Moscow: prepares examples, explains topics, and helps students with hands-on tasks. Covers Redis, MongoDB, Cassandra, Elasticsearch, ClickHouse, Kafka, S3/MinIO and vector databases in a Docker-based environment.
Задачи
Проведение очных семинаров (1,5 часа каждое занятие) по темам курса.
Подготовка к занятиям: изучение материалов, подготовка дополнительных примеров и пояснений.
Помощь студентам в выполнении практических заданий на семинарах.
Предоставление обратной связи лиду курса о сложных темах, проблемных заданиях и необходимости усиления объяснений.
Темы семинаров
Семинарист может взять как все темы, так и отдельные блоки (согласовывается индивидуально):
- Введение. Расширенная таксономия хранилищ. CAP, PACELC.
Семинар: кейсы, выбор СУБД, первые запросы.
- Redis. Архитектура, структуры данных, персистентность.
Семинар: Redis CLI, типы данных, TTL, персистентность, транзакции, Lua-скрипты.
- Redis. Кластеризация, отказоустойчивость, оптимизация памяти.
Семинар: репликация, Sentinel, Cluster, политики вытеснения, Redlock.
- MongoDB. Модель данных, движок хранения, индексы.
Семинар: проектирование схем, агрегации, explain, индексы.
- MongoDB. Репликация, шардирование, эволюция схем.
Семинар: шардирование, change streams, lazy migration.
- Cassandra. LSM-архитектура, модель данных, запись и чтение.
Семинар: CQL, создание keyspace/таблиц, bloom-фильтры.
- Cassandra. Консистентность, отказоустойчивость, compaction, эволюция схем.
Семинар: эксперименты с consistency, nodetool, compaction, repair.
- Elasticsearch. Инвертированный индекс, поиск и агрегации, распределённая архитектура.
Семинар: индексация, поиск, агрегации, анализаторы.
- ClickHouse. Колоночная аналитика, внутреннее устройство, оптимизация.
Семинар: импорт данных, агрегации, материализованные представления.
- Объектные хранилища (S3, MinIO).
Семинар: работа с MinIO, presigned URL, версионирование.
- Kafka. Log-structured архитектура, продюсеры, консьюмеры.
Семинар: запуск кластера, продюсеры, консьюмеры, репликации.
- Kafka. Exactly-once, Kafka Streams, отказоустойчивость, мониторинг.
Семинар: exactly-once, consumer lag, отказ брокера.
- Векторные базы данных (pgvector, Milvus).
Семинар: pgvector, поиск ближайших соседей, индексы HNSW/IVF.
Требования
- Знание хотя бы одной из перечисленных технологий на уровне, достаточном для ведения семинара.
- Базовое знакомство с Docker и командной строкой (семинары проходят в Docker-окружении).
- Умение понятно объяснять технические концепции.
- Навыки работы с аудиторией, способность отвечать на вопросы и помогать студентам с кодом/командами.
Будет плюсом
- Опыт преподавания, менторинга или ведения воркшопов.
- Опыт работы с несколькими СУБД из списка.
- Опыт работы с Python/Java/Go (студенты пишут на этих языках).
Условия и бенефиты
- График: занятия проходят по расписанию курса (суббота, днем).
- Законченное высшее образование.
- Нагрузка: от 1 семинара в неделю (1,5 часа) до полной загрузки (зависит от количества взятых тем).
- Формат: очные занятия в аудитории.
- Материалы: все презентации и методические материалы предоставляются.