Базы данных
Санкт-Петербург, осень 2013
Описание
Цели курса:
- Принципы построения систем хранения (и обработки) данных
- Проблемы и варианты их решения
- Промышленные примеры реализации подходов
- Навыки оценки решений
Общение с преподавателем: в блоге http://incubos.org/.
Видео всех лекций курса на канале CS центра на YouTube.
По ссылке можно найти версию курса в исполнении Ильи Игоревича Тетерина.
Преподаватели
Список лекций
- О лекторе
- Организация курса
- Содержание курса
- Определения и примеры
- Классификация БД
- Домашнее задание
Hash & Cache:
- Hash table
- Архитектуры Web-приложений
- Cache
- Distributed cache
- Memcached
- Consistent hashing
- Redis
Consistency, Availability and Partition Tolerance:
- Remembrance Inc.
- CAP Theorem
- Транзакции
- 2PC & 3PC
- Отношение happens-before: Lamport Timestamps & Vector Clocks
- Протокол Raft
- Альтернативное домашнее задание
Гостевая лекция Антона Волохова:
Введение: терминология
API: декларированные цели, особенности, запросы
Устройство хранилища: работа с ФС, сложные запросы, индексы
Репликация
Шардирование: выбор ключа
Секретный ингредиент
Заключение: выводы, материалы
Лекция Haystack
про хранение фоток в Facebook по статье Finding a Needle in Haystack: Facebook's Photo Storage
:
Введение: материалы, мотивация, цифры, характер запросов, основные цели
Background: типичная архитектура, предыдущее решение на NFS + NAS
Архитектура: новая версия, задача, подход, компоненты (Directory, Cache, Store)
Детали реализации: Store-файл, запросы, индекс, оптимизации
Заключение: нагрузка
Домашнее задание: промежуточные итоги, feature requests, общие замечания, тулзы