Россия |
Управление данными
Средства управления данными в z/OS (DFSMS)
Управление данными в z/OS заключается в организации идентификации, хранения, каталогизации, поиска данных различного назначения (в том числе и программ), которые применяются для системных и пользовательских нужд. Основной единицей управления является набор данных (data set), определяемый как именованная совокупность связанных элементов данных, размещаемых во внешней памяти или иных устройствах.
Функции управления данными в z/OS возложены на подсистему управления данными DFSMS (Data Facility Storage Management System), которая включает набор компонентов, представленных в виде пяти модулей [ 5.10 ] .
- DFSMSdfp (data facility product) - базовый элемент z/OS, реализующий основные функции управления данными и устройствами хранения данных, включая распределение внешней памяти, организацию доступа к данным, поддержку операций над наборами данных, ведение каталогов наборов данных.
- DFSMSdss (data set service) - средства администрирования данных и устройств внешней памяти на магнитных дисках (резервное копирование, восстановление, дефрагментация);
- DFSMShsm (hierarchical storage manager) - средства оптимизации хранения наборов данных на различных носителях в зависимости от интенсивности использования и обеспечения сохранности данных;
- DFSMSrmm (removable media manager) - средства управления сменными носителями (ленточные и оптические устройства);
- DFSMStvs (transactional VSAM service) - поддержка параллельной обработки наборов данных VSAM для пакетных заданий и транзакций CICS.
Последние четыре модуля являются опциональными.
В z/OS реализованы и параллельно существуют две различные технологии управления данными, условно называемые MVS и SMS. Технология MVS (иногда говорят non-SMS ) базируется на применении классических возможностей и методов управления данными, основы которых были заложены еще в OS/360. Главной особенностью данной технологии является непосредственный контроль пользователя над параметрами распределения наборов данных во внешней памяти при их создании. Технология SMS (от System Managed Storage) представляет собой программную надстройку, обеспечивающую комплексное автоматизированное управление наборами данных, включая их создание, размещение и администрирование на основе специально определяемых классов данных. Каждому такому классу приписывается фиксированный набор атрибутов, включая устройство размещения (том), объем выделяемой памяти, характеристики набора данных (тип, структура), параметры обслуживания и защиты и т.п. Использование технологии SMS требует особой системной настройки и специальным образом сконфигурированных томов внешней памяти.
В данном разделе вначале будут представлены базовые понятия и средства, реализованные в технологии MVS, а затем описаны особенности технологии SMS.
Характеристика наборов данных
Операционная система z/OS поддерживает работу с наборами данных, различающимися по типу логической организации: последовательными, индексно-последовательными, прямого доступа, библиотечными (PDS и PDSE), наборами данных, использующими метод доступа на основе виртуальной памяти (VSAM), а также наборами данных файловой системы UNIX (HFS, zFS) [ 5.11 ] . Для поддержки наборов данных различных типов в составе DFSMSdfp представлены компоненты, получившие название методы доступа и описанные в п. 5.1.3. Каждый метод доступа ориентирован на работу с наборами данных определенного типа и обеспечивает поддержку необходимых операций для организации ввода-вывода.
Операционная система z/OS обеспечивает обработку наборов данных на уровне логических записей и блоков. Это означает, что набор данных представляется в виде совокупности логических записей, а приложения получают доступ к логическим записям и обрабатывают их как единое целое. В то же время обмен данными между периферийными устройствами и основной памятью (ввод-вывод) осуществляется блоками (или физическими записями). В блоке объединяется некоторое количество логических записей. Таким образом, для каждого набора данных необходимо установить согласованные размеры логических записей и блоков.
В z/OS поддерживаются три формата логических записей: записи фиксированной длины, записи переменной длины, записи неопределенной длины. Записи фиксированной длины имеют постоянный размер и в языке управления заданиями идентифицируются символами F или FB в зависимости от выбранного способа блокирования записей:
- F - в каждом блоке содержится только одна логическая запись;
- FB - каждом блоке может содержаться более одной логической записи.
Записи переменной длины могут иметь различный размер внутри одного набора данных, поэтому помимо данных они включают в себя дополнительное поле (дескриптор), где указывается длина текущей записи. Используемый для обозначения записей переменной длины идентификатор V означает, что в каждом блоке содержится только одна логическая запись, включая дескриптор записи. Идентификатор VB применяется в тех случаях, если в каждом блоке может содержаться более одной логической записи, при этом для каждого блока дополнительно формируется дескриптор, содержащий длину блока.
Записи неопределенной длины (идентификатор U ) характеризуются только размером блока и не содержат никакой информации о делении на логические записи.
Каждый набор данных характеризуется уникальным именем. Имена бывают простые и составные. Простое имя может содержать не более 8 символов (латинские буквы A-Z, цифры 0-9, спецсимволы #,@,$,-), причем первым символом имени не может быть цифра. Например, РАRTS01, B1934-1, $$$$A.
Составное имя набора данных складывается из нескольких простых, разделенных символом "." ("точка"). Например, D.USER1.JCL, А.VERY.LONG.DATASET.NАМЕ, $PARTS.DАTА2.
Максимальная длина составного имени - 44 символа, включая разделительные точки.
Простые имена в составном имени принято называть квалификаторами.
Далее будут рассмотрены основные типы организации наборов данных, за исключением индексно-последовательных и наборов данных прямого доступа (не рекомендованы IBM к использованию как устаревшие) и HFS (будут рассмотрены в п. 5.1.6).
Последовательные наборы данных
Последовательные наборы данных (Physical Sequential, PS) рассматриваются как совокупность логических записей, которые обрабатываются в том порядке, в каком они были помещены в набор данных (т.е. последовательно). Корректировка последовательного набора данных возможна либо путем полной перезаписи всей информации, либо путем добавления новых логических записей в конец набора данных. Последовательные наборы данных используются чаще всего для хранения относительно больших объемов информации (отчетов о выполненных заданиях, журналов сеанса и т.д.) на любых типах устройств внешней памяти. Причем на ленточных накопителях могут использоваться исключительно последовательные наборы данных. Для обработки последовательных наборов данных в z/OS поддерживается два метода доступа: "базисный" BSAM и "с очередями" QSAM.
В зависимости от используемого типа логических записей и блокирования, поддерживается несколько форматов последовательных наборов данных (рис. 5.14). На рисунке использованы принятые в языке управления заданиями z/OS идентификаторы: RECFM - формат записи, LRECL - длина записи, BLKSIZE - длина блока.
При использовании записей фиксированной длины (форматы F и FB ) LRECL определяет размер каждой записи набора данных. Размер блока для формата FB выбирается кратным длине записи.
При использовании записей переменной длины (форматы V и VB ) каждая запись включает четырехбайтовый дескриптор RDW, содержащий длину записи. Параметр LRECL определяет максимальную по длине запись с учетом поля дескриптора. Блоки записей переменной длины (формат VB ) дополнительно включают четырехбайтовое поле дескриптора BDW, предназначенного для хранения длины блока. Параметр BLKSIZE в этом случае определяет максимальную длину блока.
При использовании записей неопределенной длины (формат U ) система не поддерживает деления набора данных на логические записи и производит его обработку блоками фиксированного размера ( BLKSIZE ).