Метод доступа к виртуальному хранилищу - Virtual Storage Access Method

Метод доступа к виртуальному хранилищу (VSAM)[1] является IBM DASD файловое хранилище метод доступа, впервые использованный в OS / VS1, OS / VS2 Выпуск 1 (SVS) и Выпуск 2 (MVS), которые позже использовались в Множественное виртуальное хранилище (MVS) и теперь в z / OS. Первоначально файловая система, ориентированная на записи,[NB 2] VSAM состоит из четырех[NB 2] набор данных организации: Набор данных с последовательностью ключей (KSDS), Относительный набор данных записи (RRDS), Последовательный набор данных ввода (ESDS) и Набор линейных данных (СПД). Организации KSDS, RRDS и ESDS содержат записи, в то время как организация LDS (добавленная позже в VSAM) просто содержит последовательность страниц без внутренней структуры записи для использования в качестве файл с отображением памяти.

Обзор

IBM Красная книга с именем «VSAM PRIMER» (особенно при использовании с руководством «Параметры метода доступа к виртуальному хранилищу (VSAM) для расширенных приложений») объясняет концепции, необходимые для использования VSAM.[2] IBM использует термин набор данных в официальной документации как синоним файл, и устройство хранения с прямым доступом (DASD), потому что он поддерживает другие устройства, похожие на Дисковый привод.

Записи VSAM могут быть фиксированной или переменной длины. Они организованы в блоки фиксированного размера, называемые Контрольные интервалы (CI),[3][4] а затем в более крупные подразделения, называемые Control Areas (CA). Размер контрольного интервала измеряется в байтах - например, 4 килобайты - в то время как размеры Control Area измеряются в дисковых дорожках или цилиндрах. Интервалы управления - это единицы передачи данных между диском и компьютером, поэтому запрос на чтение будет считывать один полный интервал управления. Контрольные области - это единицы распределения, поэтому при определении набора данных VSAM будет выделено целое количество контрольных областей.

Утилита Access Method Services IDCAMS обычно используется для управления («удаления и определения») наборов данных VSAM. Пользовательские программы могут получить доступ к наборам данных VSAM через операторы определения данных (DD) в Язык управления заданиями (JCL), через динамическое размещение или в онлайн-регионах, например в Система управления информацией о клиентах (CICS).

Обе IMS / DB и DB2 реализованы поверх VSAM и используют лежащий в его основе структуры данных.[5][6][7]

Файлы VSAM

Физическая организация наборов данных VSAM значительно отличается от организаций, использующих другие методы доступа, а именно:

Файл VSAM определяется как кластер компонентов VSAM, например, для KSDS компонент DATA и компонент INDEX.

Интервалы контроля и области контроля

Компоненты VSAM состоят из физических блоков фиксированной длины, сгруппированных в контрольные интервалы фиксированной длины.[3][4] (CI) и зоны контроля (CA). Размер CI и CA определяется Услуги метода доступа (AMS), и способ их использования обычно не виден пользователю. В каждой зоне управления будет фиксированное количество контрольных интервалов.

Контрольный интервал обычно содержит несколько записей. Записи хранятся в пределах контрольного интервала, начиная с младшего адреса и выше. Управляющая информация сохраняется на другом конце контрольного интервала, начиная с высокого адреса и двигаясь вниз. Пространство между записями и управляющей информацией - это свободное пространство. Управляющая информация включает два типа записей: поле дескриптора контрольного интервала (CIDF), которое всегда присутствует, и поля дескриптора записи (RDF), которые присутствуют, когда есть записи в пределах контрольного интервала, и описывают длину связанной записи. Свободное пространство внутри CI всегда непрерывно.

Когда записи вставляются в контрольный интервал, они размещаются в правильном порядке относительно других записей. Это может потребовать перемещения записей в пределах контрольного интервала. И наоборот, когда запись удаляется, более поздние записи перемещаются вниз, так что свободное пространство остается непрерывным. Если в контрольном интервале недостаточно свободного места для вставки записи, контрольный интервал разделяется. Примерно половина записей хранится в исходном контрольном интервале, а остальные записи перемещаются в новый контрольный интервал. Новый контрольный интервал берется из пула свободных контрольных интервалов в той же контрольной области, что и исходный контрольный интервал. Если в этой области управления не осталось свободного контрольного интервала, сама контрольная область разделяется, и контрольные интервалы распределяются поровну между старой и новой контрольными областями.

С VSAM можно использовать три типа организации файлов, ориентированных на записи (содержимое линейных наборов данных не имеет структуры записи):

Последовательная организация VSAM

ESDS может иметь индекс, определенный для него, чтобы разрешить доступ через ключи, путем определения альтернативного индекса. Записи в ESDS хранятся в порядке их записи по адресному доступу.[8][9][10] Записи загружаются независимо от их содержимого, и их байтовые адреса не могут быть изменены.

Индексированная организация VSAM

KSDS состоит из двух частей: компонента индекса и компонента данных. Они могут храниться на отдельных дисковых томах.

В то время как базовый KSDS имеет только один ключ (первичный ключ), могут быть определены альтернативные индексы, чтобы разрешить использование дополнительных полей в качестве вторичных ключей. Альтернативный индекс (AIX) сам по себе является KSDS.

Структура данных, используемая KSDS, в настоящее время известна как B + дерево.[11][12]

Относительная организация VSAM

RRDS может иметь индекс, определенный для него, чтобы разрешить доступ через ключи, путем определения альтернативного индекса.

Линейная организация VSAM

LDS - это неструктурированный набор данных VSAM с размером контрольного интервала, кратным 4 КБ. Он используется некоторыми системными службами.

Методы доступа к данным VSAM

Существует четыре типа методов доступа к данным VSAM:

  • Локальные общие ресурсы (LSR) оптимизированы для «произвольного» или прямого доступа. Доступ к LSR легко получить из CICS.[13]
  • Глобальные общие ресурсы (GSR)[14]
  • Non-Shared Resources (NSR), который оптимизирован для последовательного доступа. Доступ к NSR исторически был проще использовать, чем LSR для пакетных программ.[13]
  • Распределенное управление файлами (DFM), реализация Распределенная архитектура управления данными server, позволяет программам на удаленных компьютерах создавать файлы VSAM, управлять ими и получать к ним доступ.

Совместное использование данных VSAM

Совместное использование данных VSAM между регионами CICS может быть выполнено с помощью общего доступа на уровне записи VSAM (RLS). Это добавляет кэширование записей и, что более важно, блокировку записей. Ведение журнала и обработка фиксации остаются обязанностью CICS, что означает, что совместное использование данных VSAM за пределами среды CICS строго ограничено.

Совместное использование регионов CICS и пакетных заданий требует Транзакционный VSAM, DFSMStvs. Это дополнительная программа, основанная на VSAM RLS путем добавления ведения журнала и двухфазной фиксации с использованием базовых системных служб z / OS. Это разрешает общий обмен данными VSAM.

История

VSAM был представлен как замена старых методов доступа[15] и был предназначен для добавления функций, упрощения использования и решения проблем производительности и зависимости от устройства. VSAM был представлен в 1970-х годах, когда IBM объявила виртуальное хранилище операционных систем (DOS / VS, OS / VS1 и OS / VS2) для своей новой серии System / 370 в качестве преемников DOS / 360 и OS / 360 операционные системы, работающие на компьютерах серии System / 360. Хотя обратная совместимость сохранялась, старые методы доступа страдали от проблем с производительностью из-за преобразования адресов, необходимого для виртуальной памяти.

Организация KSDS была призвана заменить ISAM, индексированный метод последовательного доступа. Изменения в дисковой технологии привели к тому, что поиск данных в наборах данных ISAM стал очень неэффективным. Также было трудно перемещать наборы данных ISAM, поскольку были встроенные указатели на места на физических дисках, которые становились недействительными при перемещении набора данных. IBM также предоставила интерфейс совместимости, позволяющий программам, написанным для использования ISAM, вместо этого использовать KSDS.

Организация RRDS была призвана заменить BDAM, основной метод прямого доступа. В некоторых случаях наборы данных BDAM содержали встроенные указатели, которые препятствовали их перемещению. Однако для большинства наборов данных BDAM этого не произошло, и стимул для перехода с BDAM на VSAM RRDS был гораздо менее убедительным, чем для перехода с ISAM на VSAM KSDS.

Позже были добавлены линейные наборы данных, за которыми следовали VSAM RLS, а затем Transactional VSAM.

Смотрите также

Примечания

  1. ^ Больше не используется.
  2. ^ а б За исключением каталогов, страниц и подкачки[NB 1] пространства, доступ к которым неавторизованные приложения могут получить только через специализированные сервисы ОС. Не говоря уже о том, что он тоже всегда был в VSE и используется в z / VSE.

Рекомендации

  1. ^ «Новая жизнь устаревших систем в LaBarge». Датамация. 11 мая 2007 года.
  2. ^ «VSAM Primer».
  3. ^ а б «VSAM - Компоненты».
  4. ^ а б «Ограничения размера контрольного интервала».
  5. ^ "Базовый файл VSAM таблицы DB2".
  6. ^ "Руководство пользователя" (PDF).
  7. ^ "Демистификация VSAM" (PDF).
  8. ^ «VSAM: вводный».
  9. ^ «Функциональность сервера». Последовательный (VSAM ESDS - набор данных с последовательным вводом)
  10. ^ "Азбука системного программирования z / OS, том 3". Набор данных ESDS VSAM содержит записи в том порядке, в котором они были введены.
  11. ^ «Патент США на обеспечение блокировки обновления альтернативного индекса на уровне записи».
  12. ^ "Что такое VSAM?". Этот индекс называется B + деревом.
  13. ^ а б «Локальные общие ресурсы (LSR) или неразделенные ресурсы».
  14. ^ «Совместное использование наборов данных VSAM». IBM.com (Центр знаний IBM). описывает аспекты совместного использования наборов данных VSAM для NSR или LSR / GSR
  15. ^ Дополнение к функциям ОС / виртуального хранилища 1 (PDF) (Первое изд.). IBM. Август 1972 года. GC20-1752-0.