Курс: Современные подходы к управлению данными
Продолжительность курса: 16 ак. ч.
Формат обучения:
• Очно - на территории нашего учебного центра или на территории Заказчика (для корпоративных клиентов)
• Онлайн обучение с помощью вебинаров в режиме "здесь и сейчас"
• Дистанционно с помощью системы СДО в любое удобное для вас время
Описание курса:
При проектировании приложений одним из важных решений является выбор способа хранения данных. Несколько десятилетий реляционные СУБД были первым и единственным вариантом, проекты отличались только степенью нормализации, местом размещения бизнес логики и т.д. Последние же десять-пятнадцать лет бурно расцвели альтернативные системы – от объектно-ориентированных и документно-ориентированных СУБД до распределенных файловых систем и систем обработки потоков данных. В курсе рассматривается спектр современных решений, позволяющих долгосрочно надежно хранить данные, причины возникновения решений разных классов, их достоинства, недостатки и предпочтительные способы использования.
Аудитория:
Архитекторы, разработчики приложений, аналитики, администраторы баз данных.
Результат обучения:
После изучения слушатель будет уметь:
• Понимать, какие характеристики данных и запросов необходимо учитывать на этапе анализа требований и выбора систем управления данными
• Знать возможности и ограничения современных реляционных и нереляционных систем управления данными
• Уметь анализировать требования при выборе систем управления данными
Программа курса:
Модуль 1. Эволюция подходов к хранению данных
• Базы данных, хранилища данных, машины баз данных, массово-параллельные архитектуры, гиперконвергенция
Модуль 2. Реляционная модель
• Какие проблемы решает, за счет чего
• Репликация, шардинг, распределенные транзакции
Модуль 3. Минимальная модель "Ключ-значение"
• Варианты структуры ключа, варианты структуры значения, программные интерфейсы
• Эффективность применения нереляционных баз данных: необходимые и достаточные условия [Cassandra, HBase]
Модуль 4. Документно-ориентированная модель [MongoDB]
Модуль 5. Распределенные файловые системы вместо моделей данных: архитектура кластера [HDFS]
Модуль 6. SQL поверх распределенных файловых систем
• Варианты архитектур, форматы файлов, ограничения, транзакции [Hive, Spark, Spark SQL, Parquet, ORC]
Модуль 7. Распределенные системы хранения данных в оперативной памяти [Hazelcast, Ignite, Tarantool]
Модуль 8. Распределенные OLAP-системы [Clickhouse, Druid]
Модуль 9. Обработка потоков данных [Spark Streaming]
Модуль 10. Самонастраиваемые и автономные базы данных
Окончательная цена указывается в договоре на обучение.