Базы данных
Санкт-Петербург, осень 2011
Описание
Курс ставит перед собой следующие цели: - Познакомить слушателей с принципами построения систем хранения данны - Показать распространенные проблемы и варианты их решения - Дать навыки оценки готовых реализаций и работы с ними
Видеозаписи лекций находятся по ссылке.
Также можно смотреть записи лекций в версиях курса, прочитанных осенью 2012 года и осенью 2013 года.
Преподаватели
Список лекций
Бумажная телефонная книга. Организация информации в ней, хранение информации, операции над данными, CRUD, поиск, алгоритмы, скорость работы.
Архитектура распределенной базы данных, компоненты системы, партиционирование и шардирование данных. Master-slave репликация, журнал операций. Memcached, Redis.
Что такое транзакция. Зачем она нужна. Свойства ACID. Особенности распределенного состояния данных. CAP теорема. CAP сказка
. Понятие BASE.
Получение одной записи из базы: что происходит шаг за шагам. Оптимизации. Кеширование соединений, запросов. Форматы сериализации данных (json, xml, etc).
Получение нескольких записей из базы шаг за шагом. Пример на JDBC. Индексы. Понятия стоимость
запроса и план исполнения запроса. Пример.
Разбор сценария: хранение фотографий. Что это, зачем, эволюция решений с ростом количества изображений, Haystack от Facebook.
Разбор сценария: поисковая система. Компоненты поискового индекса. Словарь, постинг, обратный индекс. Lucene. HDFS - Hadoop File System: архитектура, элементы, форматы файлов.
Column Oriented базы данных. BigTable. Модель данных, особенности, архитектура, SSTable. Hadoop HBase, как доступная реализация.
Функция как элемент программирования. Функциональное программирование в Java. Плюсы подхода. Масштабируемость. MapReduce by Google. Использование. Hadoop MapReduce. Установка MongoDB. MapReduce в MongoDB.
HTML5: базы данных в браузере. WebStorage. Реакция на события. Пример использования. SessionStorage. Поддержка стандартов хранилищ в браузерах. Web SQL Database. IndexedDB. Оформление пояснительной записки. Язык разметки MarkDown.
GraphDB: Понятие граф. Применения. Типы графов. Хранение графов в разных типах баз. Что такое GraphDB. Neo4j. Установка. Пример использования: загружаем информацию о фильмах в базу, строим граф, делаем запросы в базу.
Ревизия курса: структуры данных, представление данных в памяти, на диске, в сети. Типы баз данных. NoSQL как часть MySQL. Архитектура хранения данных - на примере twitter. Ссылки на большие
архитектуры. Зачетное мероприятие.