Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ans.doc
Скачиваний:
6
Добавлен:
01.04.2025
Размер:
663.04 Кб
Скачать
  1. Первичные и вторичные индексы. Плотные и неплотные индексы.

Гарсиа-Молина 584 - первичные индексы

Гарсиа-Молина 599 - вторичные индексы

Плотный индекс — каждой записи из файла отвечает определённый элемент файла индекса.

Неплотный (разреженный) индекс — файл индекса содержит указатели только на некоторые записи файла данных (к примеру, по одному элементу на блок).

Первичный индекс — определяет местоположение индексированных записей в файле данных, отсортированном по ключу поиска.

Вторичный индекс — индекс по альтернативному ключу. Не оказывает воздействия на физическое расположение записей; лишь указывает позиции записей в файле данных. Вследствие этого всегда д.б. плотным.

  1. Структуры хранения, реализующие индексы.

Гарсиа-Молина 612. - B-деревья.

молина, стр. 624 - хэш-таблица

http://citforum.ru/programming/theory/sorting/sorting2.shtml#5_3_2 - битовые шкалы

упорядоченные файлы, хеширование.

  1. Выполнение запросов: реализация операций реляционной алгебры.

Гарсиа-Молина 683 (Глава 15)

конспект стр. 37-38

  1. Задача оптимизации. Компоненты и функции оптимизатора запросов.

конспект стр. 39

Гарсиа-Молина 753 (Глава 16)

  1. Оптимизация запросов по стоимости и на основе правил.

конспект, стр. 40

Гарсиа-Молина 753 (Глава 16)

Выбор планов с учётом их стоимости — ГМ, 797

  1. Определение и основные свойства транзакций.

Молина, стр. 393

Дейт, стр. 582

конспект, стр. 46

  1. Аномалии конкурентного выполнения транзакций.

Database Management Systems, Raghu Ramakrishnan, Johannes Gehrke, p. 528-530;2

конспект, стр. 47

  1. Истории, расписания и семантика Эрбрана.

Слайды: 4-consistency, стр. 6-9; transactions, стр. 28-34, консп 47

  1. Эквивалентность расписаний по конечному и по видимому состоянию.

4-consistency, слайд 10, 11

transactions, слайд 35

  1. Конфликты и эквивалентность расписаний по конфликтам.

Молина стр. 887

конспект, стр. 47-48

  1. Сериализуемость по конфликтам и граф сериализуемости.

Конспект стр. 48 п. 4.2.2

Молина, стр. 888

Планировщик поддерживает граф конфликтов, в котором вершины и дуги добавляются динамически в зависимости от операций, которые получает на вход планировщик. При этом конфликтующими называются любые две операции над одним и тем же элементом данных, если хотя бы одна из них является операцией модификации. Другими словами, для конфликтующих операций существенен порядок их выполнения. Таким образом, планирование конфликтующих операций накладывает ограничение на порядок сериализации транзакций. Эти ограничения и выражает граф конфликтов. Теперь рассмотрим, как происходит планирование очередной операции pi(x) с помощью SGT-планировщика.

  1. Если это первая операция транзакции ti, поступившая планировщику, то создается новый узел в графе сериализации.

  2. В граф добавляются дуги вида (tj, ti) для каждой запланированной ранее операции qj(x) (i ≠ j), конфликтующей с pi(x). Теперь возможны два варианта:

    1. Результирующий граф содержит циклы. В этом случае транзакция ti откатывается.

    2. Полученный граф ацикличен. В этом случае действие добавляется к списку запланированных.

  1. Функции Диспетчера транзакций. Типы диспетчеров.

Конспект стр. 49

  1. Использование замков: двухфазный протокол блокирования.

Молина стр. 895- замки, 897- двухфазный протокол

конспект стр. 49-50

4-consistency, слайд 18

  1. Корректность двухфазного протокола блокирования.

Молина стр. 898

transactions, слайд 60

4-consistency, слайд 21

  1. Тупики: обнаружение и разрешение.

(из конспекта, стр. 51) 4.3.4. Тупики

Также возможно возникновение тупиков. Для борьбы с ними применяются различные методы, однако сперва их необходимо обнаружить. Для этой цели мы будем строить граф ожидания (вершины — транзакции, дуги проводим из ожидающей транзакции в ту, которая удерживает замок).Наличие тупика равносильно наличию контура в графе. Для разрешения тупика нам нужно выбрать жертву, прервать и откатить транзакцию, у которой «не сложилась судьба».

Стратегии бывают разные (например, случайный выбор), но фактически нельзя указать самую эффективную (здесь под эффективностью подразумевается выбор жертвы таким образом, чтобы минимизировать количество обрывов в расписании). В некоторых БД применяется такой метод разрешения тупиков—обрыв по тайм-ауту.

4-consistency, слайд 21

transactions, слайд 62-65

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]