Базы данных 2/Вопросы

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск

Форма для сдачи задания: https://goo.gl/forms/qU2OcmBRvtfze5yC2

Срок заполнения до конца 3 апреля 2017 года

Список вопросов для удобства:

  1. Перечислите основные функции СУБД.
  2. Как организовать хранение BLOB на страницах памяти? Опишите процесс чтения BLOB во время выполнения запроса, указав возможные трудности и варианты их решения.
  3. Опишите алгоритм выполнения запроса с диапазоном для kd-дерева. Когда и какие блоки с диска будут считаны?
  4. Возможно ли поместить B-дерево в один блок на диске? Какие существуют варианты его структуры и размещения?
  5. Опишите двухпроходный алгоритм соединения с хешированием? Покажите на примере: сколько операций чтения/записи блоков с диска будет совершено при произвольном объеме доступной памяти и размерами отношений для выполнения такой операции.
  6. Какие этапы разбора запроса следует сделать СУБД, прежде чем она начнет выполнять в памяти операции, связанные с этим запросом? В чем задача каждого этапа, что подается на вход и что получается на выходе?
  7. Что такое контрольная точка в контексте транзакций? Приведите пример динамического создания контрольных точек.
  8. Опишите пример алгоритма восстановления по журналу транзакций, построенный методом undo/redo. В примере должны быть описаны не менее 3 транзакций с различным исходом на момент сбоя.
  9. Какие проблемы решает планировщик расписаний?
  10. Каковы функции графа предшествования? Предложите алгоритм проверки эквивалентности расписаний с помощью работы с графом предшествования.
  11. Перечислите варианты архитектуры СУБД, в которых возможно параллельное выполнение нескольких транзакций (на менее 3). Для каждой укажите основное преимущество и за счет чего оно достигается.