Базы данных

Санкт-Петербург, осень 2013

Описание

Цели курса:

  • Принципы построения систем хранения (и обработки) данных
  • Проблемы и варианты их решения
  • Промышленные примеры реализации подходов
  • Навыки оценки решений

Общение с преподавателем: в блоге http://incubos.org/.

Видео всех лекций курса на канале CS центра на YouTube.

По ссылке можно найти версию курса в исполнении Ильи Игоревича Тетерина.

Преподаватели

Список лекций

Введение
  • О лекторе
  • Организация курса
  • Содержание курса
  • Определения и примеры
  • Классификация БД
  • Домашнее задание
Hash & Cache. CAP

Hash & Cache:

  • Hash table
  • Архитектуры Web-приложений
  • Cache
  • Distributed cache
  • Memcached
  • Consistent hashing
  • Redis

Consistency, Availability and Partition Tolerance:

  • Remembrance Inc.
  • CAP Theorem
  • Транзакции
Distributed Commit
  • 2PC & 3PC
  • Отношение happens-before: Lamport Timestamps & Vector Clocks
  • Протокол Raft
  • Альтернативное домашнее задание
MongoDB is a web-scale

Гостевая лекция Антона Волохова:

  • Введение: терминология

  • API: декларированные цели, особенности, запросы

  • Устройство хранилища: работа с ФС, сложные запросы, индексы

  • Репликация

  • Шардирование: выбор ключа

  • Секретный ингредиент

  • Заключение: выводы, материалы

Haystack

Лекция Haystack про хранение фоток в Facebook по статье Finding a Needle in Haystack: Facebook's Photo Storage:

  • Введение: материалы, мотивация, цифры, характер запросов, основные цели

  • Background: типичная архитектура, предыдущее решение на NFS + NAS

  • Архитектура: новая версия, задача, подход, компоненты (Directory, Cache, Store)

  • Детали реализации: Store-файл, запросы, индекс, оптимизации

  • Заключение: нагрузка

  • Домашнее задание: промежуточные итоги, feature requests, общие замечания, тулзы