Описание
При проектировании приложений одним из важных решений является выбор способа хранения данных. Несколько десятилетий реляционные СУБД были первым и единственным вариантом, проекты отличались только степенью нормализации, местом размещения бизнес логики и т.д. Последние же десять-пятнадцать лет бурно расцвели альтернативные системы – от объектно-ориентированных и документно-ориентированных СУБД до распределенных файловых систем и систем обработки потоков данных. В курсе рассматривается спектр современных решений, позволяющих долгосрочно надежно хранить данные, причины возникновения решений разных классов, их достоинства, недостатки и предпочтительные способы использования.удостоверение о повышении квалификации государственного образца
Цели
- понимать, какие характеристики данных и запросов необходимо учитывать на этапе анализа требований и выбора систем управления данными;
- знать возможности и ограничения современных реляционных и нереляционных систем управления данными;
- уметь анализировать требования при выборе систем управления данными.
Целевая аудитория
Разбираемые темы
-
Тема 1. Эволюция подходов к хранению данных: базы данных, хранилища данных, машины баз данных, массово-параллельные архитектуры, гиперконвергенция (теория – 2 ч.)
-
Тема 2. Реляционная модель: какие проблемы решает, за счет чего; репликация, шардинг, распределенные транзакции (теория – 2 ч.)
-
Тема 3. Минимальная модель "Ключ-значение": варианты структуры ключа, варианты структуры значения, программные интерфейсы. Эффективность применения нереляционных баз данных: необходимые и достаточные условия [Cassandra, HBase] (теория – 1 ч., практика – 1 ч.)
-
Тема 4. Документно-ориентированная модель [MongoDB] (теория – 0,5 ч., практика – 0,5 ч.)
-
Тема 5. Распределенные файловые системы вместо моделей данных: архитектура кластера.[HDFS] (теория – 1 ч., практика – 1 ч.)
-
Тема 6. SQL поверх распределенных файловых систем: варианты архитектур, форматы файлов, ограничения, транзакции [Hive, Spark, Spark SQL, Parquet, ORC] (теория – 1 ч., практика – 2 ч.)
-
Тема 7. Распределенные системы хранения данных в оперативной памяти [Hazelcast, Ignite, Tarantool] (теория – 1 ч.)
-
Тема 8. Распределенные OLAP-системы [Clickhouse, Druid] (теория – 1 ч.)
-
Тема 9. Обработка потоков данных [Spark Streaming] (теория – 1 ч.)
-
Тема 10. Самонастраиваемые и автономные базы данных (теория – 1 ч.)
-
Теория – 11,5 ч. (72%), практика – 4,5 ч. (28%)
С 1994 г. преподает дисциплины, связанные с управлением данными, проектированием информационных систем и разработкой программного обеспечения.
С 2014 г. Александр является штатным экспертом Luxoft Training по направлению «Разработка и архитектура ПО, СУБД Oracle», где занимается проведением тренингов, разработкой тренинговых программ и развитием данного направления.
О проектах:
Александр занимается разработкой учебных программ, чтением лекций, проведением семинаров, практических и лабораторных работ. Под его руководством уже не один десяток специалистов успешно защитили выпускные квалификационные работы бакалавра и магистерские диссертации.
Среди его кейсов работа в ЗАО «ТИТАН МЕТА», Московском государственном университете приборостроения и информатики, Национальном исследовательском университете «Высшая школа экономики» и Luxoft Training.
Курсы, сертификаты, членство в профессиональных организациях:
2009 г. — повышение квалификации в Московском государственном университете приборостроения и информатики по программе «Информационная компетентность в профессиональной деятельности преподавателя вуза».
2011 г. — повышение квалификации в Информационно-Вычислительном Центре Московского энергетического института (технического университета) по программе «Современные технологии построения баз данных на примере Microsoft SQL Server 2008. Web-приложения и современные средства разработки. Современные технологии построения компьютерных сетей с использованием Microsoft Windows Server 2008 R2».
2024 г. — Сертифицированный тренер PostgreSQL по курсу DBA1 «Администрирование PostgreSQL 13. Базовый уровень».
Александр является членом организаций:
-
IEEE, IEEE Computer Society (Institute of Electrical and Electronics Engineers / Институт инженеров электротехники и электроники).
-
ACM, ACM SIGMOD (Association for Computing Machinery / Ассоциация вычислительной техники).