Технологии хранения и обработки больших объёмов данных
Санкт-Петербург, весна 2016
Описание
Что будем делать
Курс предназначен программистам, желающим познакомиться с теоретическими и практическими аспектам технологий, связанных с хранением, обработкой, анализом больших объёмов данных и использованием их в приложениях. В основном будут рассматриваться технологии, ставшие массовыми относительно недавно, такие как распределённые файловые системы и NoSQL СУБД, но будут также затронуты возможности, предоставляемые привычными реляционных СУБД.
Входные пожелания
В материалах курса и домашних заданиях используются языки Python и Java, поэтому от слушателей требуется понимание элементарных конструкций этих языков и способность писать несложные программы, а также знание алгоритмов вообще. Знание реляционных СУБД и языка SQL тоже существенно облегчит восприятие некоторых тем курса. Опыт в использовании системы контроля версий, а именно Git и GitHub, существенно облегчит проверку домашних заданий
Как будем оценивать
В процессе курса требуется выполнять домашние задания, а в конце курса будет письменный экзамен-тест. У каждого домашнего задания и каждого экзаменационного задания есть своя максимальная стоимость, и вы получаете за решение какую-то часть этой стоимости. Процентное отношение суммы заработанных вами баллов к сумме максимально возможных определяет какую оценку за курс вы получите:
- [0..25]% : курс не сдан
- (25..50]% : удовлетворительно
- (50..75]% : хорошо
- (75..100]% : отлично
Суммарные максимальные стоимости домашних работ и экзамена примерно равны, поэтому экстремальные случаи примерно такие (возможны вариации):
- сдал все домашние задания на максимально возможный результат и на экзамен не пришел -- получил удовлетворительно
- не делал ни одного домашнего задания, пришел на экзамен и набрал максимально возможный результат -- получил удовлетворительно
- делал домашние задания на хорошо/отлично, на экзамене решил 3/4 всех задач -- получил отлично.
Опыты предыдущих лет показывают, что получить оценку отлично
очень сложно.
Домашние задания
Домашние задания предполагают написание работоспособного читабельного кода на языках Python и/или Java. Условия появляются после лекции, решения должны быть присланы до установленного срока. Решение, присланное после срока, получает 50% от своей истинной оценки.
Видео
Видео лекций предыдущего прочтения курса можно смотреть на страницах лекций или на канале CS центра на YouTube.
Контакты
Вопросы задавайте, пожалуйста, по электронной почте bigdata@barashev.net
Преподаватели
Список лекций
Что такое Big Data и почему курс назван по-другому, что будет и чего не будет.
Как надежно хранить петабайты.
GlusterFS завершает разговор про распределённые файловые системы. Дальше развлекаемся с технологией Map-Reduce
Говорим о том, как искать в больших объёмах текста
Продолжаем разговор про информационный поиск
Эволюция алгоритмов map-reduce. Подсчет page rank с использованием графовой модели вычислений, продукт Apache Spark и его возможности
Денис Рысцов расскажет о реализации разного вида транзакций в распределённых системах
Закончим разговор об алгоритмах консенсуса
NoSQL базы данных вообще и Google Bigtable в частности.
Некоторые нерассмотренные еще нами технологии.