Scientific journal
Modern high technologies
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

Voronov M.P. Chasovskykh V.P.
В настоящее время в условиях проектирования корпоративных систем одним из необходимых условий является обеспечение функционирования систем в условиях распределенной среды. Это обеспечивает конечных пользователей возможностями осуществления трансакций к БД, расположенным на различных физических и логических узлах, которые могут находиться в различных городах и даже в различных странах. При осуществлении трансакций большим количеством пользователей в данных условиях является актуальным оптимизация структуры расположения данных в БД и программных приложений, обеспечивающих передачу данных.

При проектировании автоматизированной системы в среде ADABAS и Natural в данном ключе можно выделить два основных направления оптимизации:

  • Создание оптимальной структуры хранения данных.
  • Оптимизация процедур обработки данных.
  • Оптимизация процедур передачи данных.

При задании оптимальной структуры хранения данных предлагается использовать следующие инструменты:

1. Распределение данных, хранящихся в логических таблицах на различных узлах:

  • Размещение записей одной логической таблицы на разных узлах (горизонтальная фрагментация).
  • Размещение элементов записей одной логической таблицы (столбцов) на разных узлах (вертикальная фрагментация).

2. Задание оптимальной структуры логических таблиц (таблиц FDT). Средства ADABAS позволяют задавать многоуровневые структуры хранения данных в рамках одной логической таблицы (таблицы FDT):

  • Задание групп значений в рамках логической таблицы.
  • Задание множественных полей в рамках логической таблицы. Опция множественного поля указывает, что поле может содержать больше одного значения в отдельной записи. Фактическое количество значений, присутствующих в каждой записи, может меняться от 0 до 191, но, по крайней мере, одно значение (даже пустое) должно присутствовать в каждой входной записи.
  • Задание периодических групп в рамках логической таблицы. Периодическая группа может состоять из одного или более полей и в пределах данной записи могут встречаться от 0 до 99 реализаций (или 191, если определен параметр утилиты ADACMP MAXPE191), но, по крайней мере, одна реализация (даже, если она содержит все нулевые значения) должна присутствовать в каждой входной записи.

3. Централизация и децентрализация хранения данных (в зависимости от свойств хранимых данных и количества пользователей, обладающих правами доступа к хранимым данным).

4. Использование функций подавления пустых значений (таблица FDT). Параметры данной опции определяют системные функции подавления нулевых и прочих значений при вводе записи в созданную БД. Предлагаются следующие значения параметров данной опции:

  • Фиксированная длина пространства памяти. Опция фиксированной длины указывает, что значения в поле хранятся без внутреннего байта длины и не могут быть длиннее, чем заданная длина поля. Данная опция рекомендуется для полей длиной в один или два байта, которые имеют низкую вероятность содержания пустого значения.
  • Подавление нулевого значения. Данная опция подавляет нулевые значения, встречающиеся в поле. Применение опции приводит к внутреннему представлению нулевой величины индикатором однобайтного "нулевого поля". Само нулевое значение не хранится.
  • SQL опция нулевого значения. В поле, которое определено с данной опцией, нули или пробелы, определенные в буфере записи, интерпретируется по-разному в зависимости от значения "нулевого индикатора": или как истинные нули или пробелы (то есть, как "значащие" нули) или как неопределенные значения (то есть, как истинный SQL или "незначащие" нули).

Оптимизация процедур обработки данных подразумевает:

1. Задание оптимального способа обработки данных при помощи дескрипторов (таблица FDT). Для поля, определенного в рамках таблицы FDT дескриптором будет сделан вход в инвертированном списке ассоциатора, который позволит этому полю использоваться в выражении поиска и в качестве ключа сортировки, а также управлять последовательным логическим чтением или использоваться для связи файла. Средства ADABAS включают следующие разновидности дескрипторов:

  • Простой дескриптор.
  • Субдескриптор - это дескриптор, созданный из части элементарного поля. Субдескриптор может также использоваться, как субполе; то есть, он может быть определен в форматном буфере для определения формата выходных записей.
  • Супердескриптор - это дескриптор, созданный из нескольких полей, частей полей или их комбинации. Каждое поле-первоисточник (или часть поля) используемое для определения супердескриптора, называется исходным. Супердескриптор может быть определен с использованием от 2 до 20 исходных полей или частей поля. Супердескриптор может также быть определен, как уникальный дескриптор. Супердескриптор может также использоваться, как суперполе; то есть, он может быть определен в форматном буфере для определения формата выходной записи.
  • Гипердескриптор. Опция гипердескриптора позволяет сгенерировать значения дескриптора на основании алгоритма, обеспеченного пользователем.
  • Фонетический дескриптор. В результате выполнения команды поиска с использованием фонетического дескриптора, все возвращенные записи будут содержать подобные фонетические значения (иметь аналогичное произношение).

2. Оптимизация запросов к данным (приложения Natural). Подразумевает следующие аспекты:

  • Внутрипрограммная оптимизация запросов. Язык Natural предлагает проектировщику автоматизированных систем широкий перечень операторов чтения, поиска и извлечения данных. Таким образом, любой запрос к данным может быть задан различными способами. Задача оптимизации в данном случае сводится к построению наиболее рациональных запросов за счет использования операторов. В противном случае производительность системы будет резко падать.
  • Оптимизация использования программ-запросов приложениями Natural (формы ввода-вывода и пр.). Подразумевается хранение кода запросов в отдельных файлах (программах Natural), вставка результатов в формы (диалоги Natural) и их рационализация.
  • Объединение созданных программ и диалогов в отдельные классы Natural.

3. Рациональное размещение приложений (программ, диалогов и классов Natural) на физических и логических узлах. Предлагаются следующие способы размещения приложений:

  • Осуществление запросов приложениями Natural с централизованным формированием запросов.
  • Осуществление запросов приложениями Natural с вызовом на серверах БД.
  • Осуществления запросов приложениями Natural при помощи сервера формирования запросов.

Оптимизация процедур передачи данных подразумевает выбор способа построения сетевой структуры всей автоматизированной системы. Предлагаются следующие стандартные структуры (которые могут быть модифицированы в зависимости от потребностей корпорации):

1. Централизованная прикладная система. При данной структуре выполняемые программы, диалоги и пр., а также хранимые данные располагаются на одной вычислительной машине. При этом система не использует локальные вычислительные мощности.

2. Распределенная прикладная система. Программные приложения и хранимые данные расположены на разных вычислительных машинах. Данная структура обеспечивает выполнение программ на пользовательских машинах и централизованный доступ к данным всех пользователей. При распределенной прикладной системе имеют место следующие компоненты:

  • Избыточное хранение данных. На пользовательских машинах хранятся приложения обработки данных, а также копии данных, расположенных на сервере. Изменения данных могут быть произведены только с данными, хранящимися на сервере. Все изменения данных, хранящихся на сервере, немедленно автоматически тиражируются на пользовательские машины. Такая структура обеспечивает высокие показатели быстродействия при осуществлении процедур чтения данных.
  • Дискретное хранение данных. При данной структуре данные не дублируются на пользовательских машинах, а хранятся на узлах, в которых они используются чаще всего. Определение места наиболее рационального размещения данных может осуществляться при помощи системы сбора и обработки статистических данных, которая может быть создана на языке Natural.

СПИСОК ЛИТЕРАТУРЫ

  1. Воронов М.П., Часовских В.П. Система коммуникаций в условиях создания интегрированной системы управления организацией в среде ADABAS и Natural. Научные труды международной научно-практической конференции "CВЯЗЬ-ПРОМ 2005" в рамках 2-го Евро-Азиатского международного форума "СВЯЗЬПРОМЭКСПО 2005". Екатеринбург: ГОУ ВПО УГТУ-УПИ, 2005.
  2. Воронов М.П., Часовских В.П. Автоматизация деятельности ВУЗа при помощи средств ADABAS и Natural. Компьютерное моделирование 2005: Труды VI международной научно-технической конференции. СПб.: Изд-во Политехнического университета, 2005.
  3. Ладыженский Г.М. Распределенные информационные системы и базы данных. Материалы конференции "Корпоративные базы данных ´96".