Базы данных 2 — различия между версиями
Ivsavin (обсуждение | вклад) |
Ivsavin (обсуждение | вклад) |
||
(не показано 11 промежуточных версии этого же участника) | |||
Строка 6: | Строка 6: | ||
* [https://docs.google.com/presentation/d/1kS8eyUqSXmVZ7_5AS0FdbAER94huceyGFv8UtoAvmyM/edit?usp=sharing Принципы хранения информации] | * [https://docs.google.com/presentation/d/1kS8eyUqSXmVZ7_5AS0FdbAER94huceyGFv8UtoAvmyM/edit?usp=sharing Принципы хранения информации] | ||
* [https://docs.google.com/presentation/d/1PxM-2U72a-VRo5x3kHU54o18jQ36tC0zggN-_XnzNDk/edit?usp=sharing Представление элементов данных] | * [https://docs.google.com/presentation/d/1PxM-2U72a-VRo5x3kHU54o18jQ36tC0zggN-_XnzNDk/edit?usp=sharing Представление элементов данных] | ||
+ | * [https://docs.google.com/presentation/d/1XkL6jWOBm3Ew1oHGJygNblYBTTgPDFjbs9CFWFFwzWo/edit?usp=sharing Структуры индексов] | ||
+ | * [https://docs.google.com/presentation/d/1yliSRkrgMGYMs7_5k26rriQIy4Vw0DFRJJeiMsNMqSg/edit?usp=sharing Структуры специализированных индексов] | ||
+ | * [https://docs.google.com/presentation/d/1_o6b-uSP7lrucN4e-k50QlDqQCkTILvU02bpYzLbINs/edit Выполнение запросов 1] | ||
+ | * [https://docs.google.com/presentation/d/1PDINXQol-bIQ9UcB3fvSM_s4ZqpA1Bgg-c1KjSJXYKw/edit Выполнение запросов 2] | ||
+ | * [https://docs.google.com/presentation/d/19jvzM4mzmw8TcC1rpldws-SDmzmK2I7zzyaxxBxme1k/edit?usp=sharing Оптимизация запросов] | ||
+ | * [https://docs.google.com/presentation/d/1rXA5gpz-fiTwklOooeFznk6_q9pN_1vaIOvy6i1c1o8/edit?usp=sharing Транзакции и бэкапы] | ||
+ | * [https://docs.google.com/presentation/d/1v8S-0VKJkJc--1CI8rfJc3D0qrL5hCP4FnfXNSyLD1I/edit?usp=sharing Параллельное исполнение запросов 1] | ||
+ | * [https://docs.google.com/presentation/d/1yRbtjBk_hQSBqUMDTia-quDZGn9T_K1hWkedoa3FfbE/edit?usp=sharing Параллельное исполнение запросов 2] | ||
+ | * [https://docs.google.com/presentation/d/1IDKoJFvSnJ0JJe_gRaLCSvIKW6hqrUhr1iSe7fGgS-E/edit?usp=sharing Дополнение к управлению транзакциями] | ||
+ | |||
+ | === Итоговый тест === | ||
+ | [[Базы данных 2/Вопросы]] | ||
=== Практические работы === | === Практические работы === | ||
+ | |||
+ | Стартовый код и описание: [[Базы данных 2/simpledb]] | ||
В рамках курса нужно написать свою СУБД, в которой реализовать несколько ключевых механизмов, рассматриваемых в курсе, и обеспечивающих стабильную работу системы. | В рамках курса нужно написать свою СУБД, в которой реализовать несколько ключевых механизмов, рассматриваемых в курсе, и обеспечивающих стабильную работу системы. | ||
Строка 24: | Строка 38: | ||
* http://stackoverflow.com/questions/22697/whats-the-best-mock-framework-for-java | * http://stackoverflow.com/questions/22697/whats-the-best-mock-framework-for-java | ||
+ | === Оценки === | ||
+ | * https://docs.google.com/spreadsheets/d/1qCqCfZ04Fa6rUCcqlbWJ51jaVC6erSFV3vPRNYOo2Ks/edit#gid=0 | ||
=== Расчет оценки === | === Расчет оценки === | ||
Вклад в оценку: | Вклад в оценку: | ||
− | * Практические задания ( | + | * Практические задания (4 штуки) - 60%, для зачета обязательно нужно выполнить все задания |
− | * Несколько тестов в конце второй пары - | + | * Несколько (три) тестов в конце второй пары - 20% |
− | * Итоговый тест ( | + | * [[Базы данных 2/Вопросы|Итоговый тест]] (как домашняя работа) - 20% |
* Дополнительные задания на разработку (если пропустили тесты) - 20% | * Дополнительные задания на разработку (если пропустили тесты) - 20% | ||
Текущая версия на 10:34, 21 марта 2017
Содержание
Базы данных
Продвинутый курс по БД для специальности РС.
Лекции
- Принципы хранения информации
- Представление элементов данных
- Структуры индексов
- Структуры специализированных индексов
- Выполнение запросов 1
- Выполнение запросов 2
- Оптимизация запросов
- Транзакции и бэкапы
- Параллельное исполнение запросов 1
- Параллельное исполнение запросов 2
- Дополнение к управлению транзакциями
Итоговый тест
Практические работы
Стартовый код и описание: Базы данных 2/simpledb
В рамках курса нужно написать свою СУБД, в которой реализовать несколько ключевых механизмов, рассматриваемых в курсе, и обеспечивающих стабильную работу системы.
- Задание 1: Взаимодействие с памятью
- Задание 2: Индексы
- Задание 3: Валидация и план запроса
- Задание 4: Транзакции
- Задание 5: Параллельное выполнение запросов
Для практических заданий используется Java 8, можно пользоваться преимуществами этой версии (lambda, stream, работа со временем и тд, подробнее http://www.journaldev.com/2389/java-8-features-with-examples и https://www.tutorialspoint.com/java8/java8_overview.htm) Может быть полезным: http://web.mit.edu/6.005/www/sp16/
Для тестирования:
- http://site.mockito.org/
- http://stackoverflow.com/questions/22697/whats-the-best-mock-framework-for-java
Оценки
Расчет оценки
Вклад в оценку:
- Практические задания (4 штуки) - 60%, для зачета обязательно нужно выполнить все задания
- Несколько (три) тестов в конце второй пары - 20%
- Итоговый тест (как домашняя работа) - 20%
- Дополнительные задания на разработку (если пропустили тесты) - 20%
У практических заданий есть дедлайны, каждый просроченный день после дедлайна дает -0.5 к оценке за задание, пока она не станет равна 4.
Литература
Основная литература:
- Системы баз данных. Полный курс. Г. Гарсиа-Молина, Д. Д. Ульман, Д. Уидом, 2004, Главы: 11-19 - частично устаревшее издание
- Database Systems. The Complete Book, H.García-Molina, J.Ullman, J.Widom 2nd Edition, 2009, Главы 13-20 - более новое издание, но только на английском
Дополнительная литература:
- "Architecture of a Database System" J.M.Hellerstein, M.Stonebraker, J.Hamilton, 2007
- https://en.wikibooks.org/wiki/Design_of_Main_Memory_Database_System
- http://codecapsule.com/tag/key-value-store/
Контакты
- Почта: acccko@gmail.com
- Tg: @acccko