Классика баз данных - статьи

       

Исследовательская система хранения (Research Storage System)


Исследовательская система хранения (RSS) - это подсистема хранения System R. Она отвечает за поддержку физического хранения отношений, путей доступа к этим отношениям, блокировок (в многопользовательской среде), а также средств журнализации и восстановления. RSS представляет своим пользователям покортежный интерфейс (RSS). Хотя RSS может использоваться независимо от System R, здесь нас интересует использование этой подсистемы для выполнения кода, сгенерированного в System R при обработке операторов SQL, как это описано в предыдущем разделе. Полное описание RSS см. в [1].

Отношения хранятся в RSS как коллекции кортежей с физически смежными столбцами. Эти кортежи сохраняются в страницах по 4 Кб; каждый кортеж целиком размещается на одной странице. Станицы образуют логические единицы, называемые сегментами. Сегменты могут содержать более одного отношения, но каждое отношение целиком располагается в одном сегменте. Кортежи из двух или большего числа отношений могут размещаться в одной странице. Каждый кортеж помечается идентификатором отношения, которому он принадлежит.

Основным способом доступа к кортежам отношения является его сканирование через RSS. Сканирование возвращает по одному кортежу за одно обращение через заданный путь доступа. Основными командами сканирования являются OPEN, NEXT и CLOSE.

В настоящее время для операторов SQL доступны два типа сканирования. Первый тип - это сегментное сканирование для нахождения всех кортежей данного отношения. Последовательность команд NEXT при сегментном сканировании просто проверяет все страницы сегмента, содержащие кортежи любого отношения, и возвращает те кортежи, которые принадлежат данному отношению.

Вторым типом сканирования является индексное сканирование. Пользователем System R может быть создан индекс на одном или нескольких столбцах отношения, и для отношения может иметься любое (включая нулевое) число индексов. Эти индексы хранятся в страницах, отделенных от тех, в которых содержатся кортежи отношений. Индексы реализуются как B-деревья [], листьями которых являются страницы, содержащие наборы (ключ, идентификаторы кортежей, содержащих этот ключ).

Содержание  Назад  Вперед