Базы данных 2/Вопросы
Материал из Wiki - Факультет компьютерных наук
Форма для сдачи задания: https://goo.gl/forms/qU2OcmBRvtfze5yC2
Срок заполнения до конца 3 апреля 2017 года
Список вопросов для удобства:
- Перечислите основные функции СУБД.
- Как организовать хранение BLOB на страницах памяти? Опишите процесс чтения BLOB во время выполнения запроса, указав возможные трудности и варианты их решения.
- Опишите алгоритм выполнения запроса с диапазоном для kd-дерева. Когда и какие блоки с диска будут считаны?
- Возможно ли поместить B-дерево в один блок на диске? Какие существуют варианты его структуры и размещения?
- Опишите двухпроходный алгоритм соединения с хешированием? Покажите на примере: сколько операций чтения/записи блоков с диска будет совершено при произвольном объеме доступной памяти и размерами отношений для выполнения такой операции.
- Какие этапы разбора запроса следует сделать СУБД, прежде чем она начнет выполнять в памяти операции, связанные с этим запросом? В чем задача каждого этапа, что подается на вход и что получается на выходе?
- Что такое контрольная точка в контексте транзакций? Приведите пример динамического создания контрольных точек.
- Опишите пример алгоритма восстановления по журналу транзакций, построенный методом undo/redo. В примере должны быть описаны не менее 3 транзакций с различным исходом на момент сбоя.
- Какие проблемы решает планировщик расписаний?
- Каковы функции графа предшествования? Предложите алгоритм проверки эквивалентности расписаний с помощью работы с графом предшествования.
- Перечислите варианты архитектуры СУБД, в которых возможно параллельное выполнение нескольких транзакций (на менее 3). Для каждой укажите основное преимущество и за счет чего оно достигается.