Разработка курса «NoSQL» | OTUS
👋 Канал OTUS в Telegram!
Посты от приглашенных гостей из IT-тусовки, полезные статьи, подборки вакансий от партнеров ➞
Подробнее

Курсы

Программирование
Разработчик игр на Unity
-40%
Vue.js разработчик
-40%
React.js разработчик
-40%
Архитектор программного обеспечения
-40%
Архитектура и шаблоны проектирования
-40%
Разработчик C++
-40%
Разработчик Node.js
-40%
Scala-разработчик
-30%
Backend-разработка на Kotlin
-30%
Программист 1С
-30%
Symfony Framework
-30%
Разработчик на Spring Framework
-20%
Разработчик Golang
-25%
C# ASP.NET Core разработчик
-25%
iOS-разработчик. Базовый курс
-25%
VOIP инженер Базы данных AWS для разработчиков Cloud Solution Architecture Agile Project Manager в IT Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

NoSQL

Что даст вам этот курс
7
0
Полный курс по работе с нереляционными базами данных!

Курс включает в себя все основные и популярные NoSQL БД, которые могут пригодиться как архитектору, так и администратору и разработчику: MongoDB, Cassandra, Redis, Clickhouse и т.д.

Курс обеспечивает глубокое погружение в область NoSQL, чтобы вы смогли оптимально перестроить свои решения на основе классических СУБД для увеличения производительности.

Цель курса — научить слушателя правильно выбрать NoSQL БД в зависимости от поставленных задач и эффективно работать с ней с использованием всех ее преимуществ.

В результате обучения выпускники смогут уверенно работать с любой NoSQL БД, проектировать систему хранения, индексы, профилировать запросы и обеспечивать оптимальную надежность и производительность.

Этот курс подойдет:

- для разработчиков, которые сталкиваются в своей работе с NoSQL базами данных;
- для администраторов NoSQL БД, которым требуется глубокое понимание внутренних процессов БД;
- для тех, кто имеет опыт работы с реляционными СУБД от полугода и ищет как улучшить производительность.

На курсе вы:

- научитесь устанавливать и эксплуатировать все популярные NoSQL решения от выделенных виртуальных серверов, до больших шардированных кластеров и облачных провайдеров;
- будете различать основные типы NoSQL БД (документо-ориентированные, колоночные, ключ-значение, графовые) и выбарать оптимальное решение в зависимости от вашей задачи и предметной области;
- освоите синтаксис и особенности работы встроенного языка каждой NoSQL БД;
- сможете оптимизировать медленные запросы.
Преподаватели
Павел Стрекалов
Алексей Цыкунов
Lead System Engineer в EPAM
Иван Ремень
Валерий Безруков
Олег Филиппов
Владислав Родин
Евгений Аристов
Александр Суханов
Кирилл Султанов
Ведущий специалист в АО «Гринатом».
Более 10 лет опыта профессиональной разработки.
Основной стек: .NET / C#, Java, MS SQL Server.

Full stack разработка систем для внутренних и внешних заказчиков от анализа требований до реализации, эксплуатации и технической поддержки.

Закончил в 2006 году Московский институт электронной техники (МИЭТ) по специальности «Вычислительные машины комплексы системы и сети».

Системный архитектор, Oracle DBA, разработчик perl/python, опыт в отрасли - 20 лет
Работал в интернет-провайдерах и телекоме. Имел опыт внедрения и разработки продуктов в гос. структурах, таких как минздрав и соцфонд. Был главным разработчиком стартап проекта Ipstudio AMBS (биллинг для VoIP). Участвовал в проектировании и разработке OLTP систем. Проектировал и развертывал серверные системы в датацентрах.

Закончил Кыргызско-Российский Государственный Университет, 2001, Инженер автоматизированных систем. Собственный технический блог на dbadmins.ru

Автор курса "Архитектор высоких нагрузок".

Учился в технопарке Mail.Ru. В 2013 году начал работать стажером в проекте "Почта" компании Mail.Ru. С 2015 года преподавал различные (в том числе и авторские) курсы в образовательных проектах Mail.Ru. С 2016 года занимал должность руководителя группы в Почте. В том же году получил диплом магистра по специальности "Программная инженерия" в МГТУ им. Н.Э. Баумана.

С 2018 года начал работать в Ситимобил на должности руководителя группы. С апреля 2019 года был назначен руководителем направления серверной разработки. Занимается развитием технических навыков людей, поддержкой их мотивации, развитием отказоустойчивых архитектур, внедрением новых технологий в процесс разработки (golang, tarantool).

Основные технические навыки:
Golang
C
MySQL
Tarantool
Highload architecture
Linux API

Google Cloud Practice Delivery Manager в EPAM Systems
В прошлом SRE & DevOps team lead в Intelligent Blockchain Labs.

Разрабатывал и поддерживал гибридные облачные и высоконагруженные системы (Google Cloud Platform, OpenStack, Hashicorp Terraform)

Занимался развертыванием, эксплуатацией и поддержкой CI/CD (GitLab CI, Hashicorp Nomad, Kubernetes).

Опыт со следующим стеком технологий : Kubernetes/Docker
, Unix/Solaris/Linux, OpenStack, Oracle/PostgreSQL/Hadoop, Google Cloud Platform

- Более 12 лет опыта руководства разработкой и эксплуатацией.
- Большое число реализованных проектов (в т.ч. высоконагруженных) в основном, в Enterprise-секторе.
- Опыт проектирования и эксплуатации как RDBMS так и NoSQL решений в одном проекте для разных задач.
- Автор многочисленных статей в журналы и профессиональные сообщества, участник и докладчик профессиональных конференций.
- Два высших образования, степень MBA.

Выпускник МФТИ, начал программировать на С++, работал инженером-исследователем на проекте вычислительного программного комплекса МФТИ.

С 2017 года занимается Java Enterprise разработкой.

Работал Java-разработчиком в таких компаниях как НСПК и Яндекс. Занимался проблемами высокой нагрузки, работая как на Spring'овом стеке (Spring Boot, Spring Core, Spring Data, Spring Batch и т.д.) так и на Java EE'шном стеках. Улучшал инфраструктуру проектов, внедряя CI/CD и отлаживая процесс миграции БД. Строил С4- архитектурные схемы для проектов, в которых принимал участие.

В настоящее время занимает должность руководителя группы разработки, преподает в Московском Физико-Техническом Институте и на портале foxminded.

Является автором статей по backend-разработке на habr.com; спикер Рит++ 2020; обладатель сертификата Oracle Certified Assotiate Java SE 8 Programmer.

Более 20 лет разработки ПО на C#, Delphi, PHP, Perl, в т.ч. с базами данных MSSQL, Oracle, MySQL, MariaDB, MongoDB, PostgreSQL.

Спроектировал и написал ПО для сетей магазинов, фитнес-центров, отелей.

Последние 4 года разрабатываю на Java/Spring с деплоем в Kubernetes/Docker, Google Cloud Platform

Большой опыт администрирования серверов, построения и эксплуатации систем виртуализации VmWare ESXi, Hyper-V.

C 2017 года работает в Кремниевой долине.
Преподавал курс по Decentralized Applications (CS359B) в Стэнфорде.
Побеждал на хакатоне SpaceHack и всероссийском конкурсе проектов «IT-Прорыв».
Участвовал в чемпионате мира по программированию ACM ICPC.

Закончил МГТУ им. Баумана с отличием.
Разрабатывает Machine Reasoning Engine в Cisco Systems.
До этого занимался legal tech, блокчейн-проектами, HL/HA проектами, разработкой беттинг-платформы, сбором и аналитикой персональных данных из социальных сетей, внедрением CI/CD.

Технический руководитель / архитектор в области BigData с более чем 11-летним опытом работы в сфере информационных технологий. Имею опыт работы с различными платформами с акцентом на бэкэндах / больших данных / IoT / облаках (в настоящее время специализируюсь на Azure). Непрерывный стаж работы с BigData 9+ лет. Опыт создания традиционных облачных хранилищ данных, Data Lakes, Lake Houses. На предыдущих проектах плотно работал с системами управления контейнерами и ресурсами: Kubernetes, Docker, Yarn.
Основной стек технологий и фреймворков:
- Programming Languages: Java, Scala, SQL, Bash, Python;
- BigData: Spark, Kafka, Hadoop, Yarn, HDFS, MapReduce, Hive, Spark, Tez, Flume, Sqoop, Zookeeper;
- NoSQL: Cassandra, HBase (Phoenix/Tephra, Kylin);
- Streaming and ETL: Spark, Kafka/Streams, Storm, Flume, StreamSets, NiFi;
- Search: Elasticsearch/ELK;
- Frameworks and Libraries: Netty, Play Framework, Akka, KAA, Tensorflow, Mahout, Sparkling Water (H2O), Mondrian;
- RDBMS: MySQL/MariaDB, Infobright, Microsoft SQL.

Павел
Стрекалов
Алексей
Цыкунов
Иван
Ремень
Валерий
Безруков
Олег
Филиппов
Владислав
Родин
Евгений
Аристов
Александр
Суханов
Кирилл
Султанов
Преподаватели
Павел Стрекалов
Ведущий специалист в АО «Гринатом».
Более 10 лет опыта профессиональной разработки.
Основной стек: .NET / C#, Java, MS SQL Server.

Full stack разработка систем для внутренних и внешних заказчиков от анализа требований до реализации, эксплуатации и технической поддержки.

Закончил в 2006 году Московский институт электронной техники (МИЭТ) по специальности «Вычислительные машины комплексы системы и сети».

Алексей Цыкунов
Lead System Engineer в EPAM
Системный архитектор, Oracle DBA, разработчик perl/python, опыт в отрасли - 20 лет
Работал в интернет-провайдерах и телекоме. Имел опыт внедрения и разработки продуктов в гос. структурах, таких как минздрав и соцфонд. Был главным разработчиком стартап проекта Ipstudio AMBS (биллинг для VoIP). Участвовал в проектировании и разработке OLTP систем. Проектировал и развертывал серверные системы в датацентрах.

Закончил Кыргызско-Российский Государственный Университет, 2001, Инженер автоматизированных систем. Собственный технический блог на dbadmins.ru

Иван Ремень
Автор курса "Архитектор высоких нагрузок".

Учился в технопарке Mail.Ru. В 2013 году начал работать стажером в проекте "Почта" компании Mail.Ru. С 2015 года преподавал различные (в том числе и авторские) курсы в образовательных проектах Mail.Ru. С 2016 года занимал должность руководителя группы в Почте. В том же году получил диплом магистра по специальности "Программная инженерия" в МГТУ им. Н.Э. Баумана.

С 2018 года начал работать в Ситимобил на должности руководителя группы. С апреля 2019 года был назначен руководителем направления серверной разработки. Занимается развитием технических навыков людей, поддержкой их мотивации, развитием отказоустойчивых архитектур, внедрением новых технологий в процесс разработки (golang, tarantool).

Основные технические навыки:
Golang
C
MySQL
Tarantool
Highload architecture
Linux API

Валерий Безруков
Google Cloud Practice Delivery Manager в EPAM Systems
В прошлом SRE & DevOps team lead в Intelligent Blockchain Labs.

Разрабатывал и поддерживал гибридные облачные и высоконагруженные системы (Google Cloud Platform, OpenStack, Hashicorp Terraform)

Занимался развертыванием, эксплуатацией и поддержкой CI/CD (GitLab CI, Hashicorp Nomad, Kubernetes).

Опыт со следующим стеком технологий : Kubernetes/Docker
, Unix/Solaris/Linux, OpenStack, Oracle/PostgreSQL/Hadoop, Google Cloud Platform

Олег Филиппов
- Более 12 лет опыта руководства разработкой и эксплуатацией.
- Большое число реализованных проектов (в т.ч. высоконагруженных) в основном, в Enterprise-секторе.
- Опыт проектирования и эксплуатации как RDBMS так и NoSQL решений в одном проекте для разных задач.
- Автор многочисленных статей в журналы и профессиональные сообщества, участник и докладчик профессиональных конференций.
- Два высших образования, степень MBA.

Владислав Родин
Выпускник МФТИ, начал программировать на С++, работал инженером-исследователем на проекте вычислительного программного комплекса МФТИ.

С 2017 года занимается Java Enterprise разработкой.

Работал Java-разработчиком в таких компаниях как НСПК и Яндекс. Занимался проблемами высокой нагрузки, работая как на Spring'овом стеке (Spring Boot, Spring Core, Spring Data, Spring Batch и т.д.) так и на Java EE'шном стеках. Улучшал инфраструктуру проектов, внедряя CI/CD и отлаживая процесс миграции БД. Строил С4- архитектурные схемы для проектов, в которых принимал участие.

В настоящее время занимает должность руководителя группы разработки, преподает в Московском Физико-Техническом Институте и на портале foxminded.

Является автором статей по backend-разработке на habr.com; спикер Рит++ 2020; обладатель сертификата Oracle Certified Assotiate Java SE 8 Programmer.

Евгений Аристов
Более 20 лет разработки ПО на C#, Delphi, PHP, Perl, в т.ч. с базами данных MSSQL, Oracle, MySQL, MariaDB, MongoDB, PostgreSQL.

Спроектировал и написал ПО для сетей магазинов, фитнес-центров, отелей.

Последние 4 года разрабатываю на Java/Spring с деплоем в Kubernetes/Docker, Google Cloud Platform

Большой опыт администрирования серверов, построения и эксплуатации систем виртуализации VmWare ESXi, Hyper-V.

Александр Суханов
C 2017 года работает в Кремниевой долине.
Преподавал курс по Decentralized Applications (CS359B) в Стэнфорде.
Побеждал на хакатоне SpaceHack и всероссийском конкурсе проектов «IT-Прорыв».
Участвовал в чемпионате мира по программированию ACM ICPC.

Закончил МГТУ им. Баумана с отличием.
Разрабатывает Machine Reasoning Engine в Cisco Systems.
До этого занимался legal tech, блокчейн-проектами, HL/HA проектами, разработкой беттинг-платформы, сбором и аналитикой персональных данных из социальных сетей, внедрением CI/CD.

Кирилл Султанов
Технический руководитель / архитектор в области BigData с более чем 11-летним опытом работы в сфере информационных технологий. Имею опыт работы с различными платформами с акцентом на бэкэндах / больших данных / IoT / облаках (в настоящее время специализируюсь на Azure). Непрерывный стаж работы с BigData 9+ лет. Опыт создания традиционных облачных хранилищ данных, Data Lakes, Lake Houses. На предыдущих проектах плотно работал с системами управления контейнерами и ресурсами: Kubernetes, Docker, Yarn.
Основной стек технологий и фреймворков:
- Programming Languages: Java, Scala, SQL, Bash, Python;
- BigData: Spark, Kafka, Hadoop, Yarn, HDFS, MapReduce, Hive, Spark, Tez, Flume, Sqoop, Zookeeper;
- NoSQL: Cassandra, HBase (Phoenix/Tephra, Kylin);
- Streaming and ETL: Spark, Kafka/Streams, Storm, Flume, StreamSets, NiFi;
- Search: Elasticsearch/ELK;
- Frameworks and Libraries: Netty, Play Framework, Akka, KAA, Tensorflow, Mahout, Sparkling Water (H2O), Mondrian;
- RDBMS: MySQL/MariaDB, Infobright, Microsoft SQL.

Программа обучения
Модуль 1
Введение в NOSQL
Модуль 2
Document Store
Модуль 3
Key-Value
Модуль 4
Колоночные
Модуль 6
Графовые
Модуль 7
Другие NoSQL
Модуль 8
NoSQL в облаках
Модуль 9
Проект
Введение в NOSQL
Оценить модуль
1
0
Тема 1: Введение в NOSQL. NOSQL vs RDBMS
сравним NoSQL и RDBMS
история NoSQL
рассмотрим программу курса
Тема 2: CAP теорема
cAP теорема
CP системы. RAFT, PAXOS
PA системы. GOSSIP, CasPAXOS
Document Store
Оценить модуль
1
0
Тема 1: Базовые возможности mongodb
понятие коллекции, документов и полей.
CRUD-операции.
Филтрация по полям
sort, skip, limit
Запросы по поддокументам
Тема 2: Кластерные возможности mongodb
варианты репликации.
Replica set.
Концепция кворума.
Балансировка.
Подходы к шардированию в БД.
Шардирование в mongodb: mongos
Правильный выбор ключа шардирования
Тема 3: map-reduce framework
концепция map-reduce.
Зачем нужен map-reduce в mondodb
Концепция pipeline.
Структура и синтаксис агрегации.
$match
Стадия $group
Стадия $lookup
работа с геоданными
Тема 4: Утилиты mongodb
настройки mongodb
Мониторинг mongodb
Обеспечение безопасности кластера
Обеспечение бэкапа
Тема 5: оптимизация производительности mongodb
профилирование
Построение индексов.
Виды индексов в mongodb
Оптимизации CRUD.
Дисковые движки.
GridFS
Производительность кластеров
Тема 6: Couchdb + pouchdb
- Концепция OffilneFirst. Для чего появился тот самый CouchDB
- master-master репликация в два клика
- pouchdb - JavaScript версия CouchDB, когда Offline действительно важен
- Fauxton - краткий обзор визуального интерфейса
- CouchBase - если ваш проект очень сильно вырос
Тема 7: Elasticsearch
Оценить занятие
0
0
Key-Value
Оценить модуль
1
0
Тема 1: Redis. Часть 1
области применения
внутренние структуры
очереди, транзакции
Тема 2: Redis. Часть 2
кластеризация
redis sentinel
redis cluster
Тема 3: Riak
Оценить занятие
0
0
Тема 4: etcd
Оценить занятие
0
0
Колоночные
Оценить модуль
1
0
Тема 1: Архитектура и применение cassandra
-- DynamoDB-подобные базы
-- Column-family модель
-- LSM-деревья
-- Фильтр Блума
-- Работа Cassandra с диском
-- Уплотнение
-- Какие проекты работают с Cassandra
-- Зачем в этих проектах применяется Cassandra
Тема 2: Язык запросов cassandra
-- Язык CQL и его отличие от SQL
-- Типы данных в Cassandra
-- DDL: Keyspace, table
-- DML: Select, Insert, Update, Delete, Batch
-- Вторчиные индексы
-- Materialized Views
-- Скалярные и агрегирующие функции
-- Поддержка JSON
Тема 3: Масштабирование и отказоустойчивость cassandra. Часть 1
-- Уровни консистентности и Теорема CAP
-- Отказоустойчивость ЦОД
-- Репликация Cassandra и ее стратегии
-- Механизмы отказоустойчивости Cassandra
-- Автоматизация масштабирования Cassandra
Тема 4: Масштабирование и отказоустойчивость cassandra. Часть 2
- автоматизация масштабирования Cassandra
- чтение и компакшен в Cassandra
- механизмы восстановления Cassandra
- драйверы и политики Cassandra
Тема 5: Средства мониторинга cassandra
-- Безопасность cassandra
-- Обзор базовых метрик cassandra
-- Настройка grafana для мониторинга cassandra
-- Бэкапы
-- Инструменты cassandra: sstableverify, sstableutil, sstableupgrade, sstabledump, sstableexpiredblockers, sstablelevelreset, sstableloader
Тема 6: Clickhouse
когда Clickhouse полезен а когда не стоит его использовать
Установка и настройка
Интерфейсы (Cli, Tabix, плагин к Grafana)
Протоколы доступа (http, tcp и базовые библиотеки)
Основные движки таблиц Clickhouse и их особенности
Движок MergeTree и его специфика
Использование совместно с Kafka и PostgreSQL
Графовые
Оценить модуль
1
0
Тема 1: Neo4j
Оценить занятие
0
0
Другие NoSQL
Оценить модуль
1
0
Тема 1: Intersistems Cache
история ООП СУБД
Архитектура, особенности InterSystems Caché
Глобалы, модель данных
Пример разработки БД
Тема 2: Kafka
Оценить занятие
0
0
Тема 3: Работа с tarantool
основы работы с СУБД tarantool
Архитектура, возможности
научимся строить высоконапряженные решения на ее базе
Тема 4: RabbitMQ
Оценить занятие
0
0
Тема 5: s3
протокол S3
CEPH
фичи и ограничения s3: версионирование и другие
NoSQL в облаках
Оценить модуль
1
0
Тема 1: Google Datastore
Оценить занятие
0
0
Тема 2: AWS DynamoDB
Оценить занятие
0
0
Тема 3: Azure CosmosDB
Оценить занятие
0
0
Проект
Оценить модуль
2
0
Тема 1: Выбор проектной работы
Оценить занятие
0
0
Тема 2: Консультация по проектной работе
Оценить занятие
0
0
Тема 3: Защита проектной работы. Подведение итогов курса
Оценить занятие
0
0
Опрос по программе "NoSQL"

При запуске нового курса, нам очень важно оценивать качество и актуальность предлагаемой программы на этапе идеи и концепции модулей, поэтому мы будем очень рады и благодарны вашим ответам, экспертным оценкам и комментариям.

Вопрос №1 из 6
Выберите один вариант ответа
Вам понятно, о чем этот курс?
оцените от 1 (не понял) до 5 (да, все ясно)
Вопрос №2 из 6
А что из этого вы уже знаете?
Вопрос №3 из 6
Какие темы из программы вам уже сейчас пригодились бы в работе?
Вопрос №4 из 6
Выберите один вариант ответа
Оцените актуальность программы (в баллах от 1 "неактуально" до 10 "полностью актуальна")
Вопрос №5 из 6
И последнее: что вам необходимо в работе сейчас или понадобится в ближайшем будущем, но не представлено в программе?
Вопрос №6 из 6
Комментарии и предложения - мы всегда им рады!

Оставьте хотя бы один ответ для участия в опросе