Инструментарий оптимизации работы системы управления объектно-реляционной базы данных

2. Брагин Д.Г. Анализ IDEF3 диаграмм на основе автоматных графических грамматик // Сборник научных трудов «Информатика, моделирование, автоматизация проектирования». -Ульяновск: УлГТУ, 2011.- С. 67-74.

3. Шаров О.Г., Афанасьев А.Н. Синтаксически-ориентированная реализации графических языков на основе автоматных графических грамматик // Программирование. - 2005. - № 5. -С. 56-66.

УДК 004.04

ИНСТРУМЕНТАРИИ ОПТИМИЗАЦИИ РАБОТЫ СИСТЕМЫ УПРАВЛЕНИЯ ОБЪЕКТНО-РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ

Микляев Иван Александрович, к.ф.-м. н., доцент, Филиал «СЕВМАШВТУЗ», Санкт-Петербургский государственный морской технический университет, Россия, Северодвинск,

ivanmia1@rambler.ru

Черткова Ольга Владимировна, старший преподаватель, Филиал «СЕВМАШВТУЗ», Санкт-Петербургский государственный морской технический университет, Россия, Северодвинск,

chertkova-o@mail.ru

Введение

Испокон веков человечество занято познанием окружающего мира и себя как его части. Парадигмы сменяют друг друга в попытках смоделировать окружающую реальность. Однако идея о том, что мир пронизан синергией - энергией взаимодействия, нашла удивительный отклик во всех сферах современного мира. Феноменом этого отклика стало представление о нашей жизни в целом в виде бесконечной совокупности взаимосвязанных и взаимозависимых открытых и закрытых систем. Элементы систем носят голографический или фрактальный характер, обладая вместе с тем уникальными свойствами, приводящими сами элементы и системы в целом к процессу постоянных изменений [1] .

И вся эта "реальность, данная нам в ощущениях" требует создания соответствующего информационного пространства - синергетического. Описываемые базами данных (БД) предметные области и бизнес-процессы, как и все живые системы, обладают свойствами жизнестойкости, функциональности и адаптивности. Информационный образ каждого объекта, занесённого в базу, должен быть синергетическим - отражающим зависимость значений характеристик объекта от среды взаимодействия. Естественно, программные средства и структуры представления данных в БД должны обладать теми же свойствами, чтобы адекватно отображать многогранный окружающий мир.

Стандартный реляционный подход к организации данных делает ставку на максимально эффективное манипулирование данными, для этого применяет дезинтеграцию данных до их полной однородности. А поскольку реальные бизнес-среды практически никогда не обладают однородностью, это приводит к чрезмерному абстрагированию от предметной области [2], и сложностям с описанием синергетических характеристик [3].

Напротив, стандартный объектно-ориентированный подход к организации данных предполагает каждый объект реального мира описывать индивидуально, всей совокупностью его параметров, что является более естественным для сложных систем. Безусловно, это позволяет адекватно отобразить структуру и состав предметной области, многообразие синергитических характеристик и облегчает проектирование.

1. Примеры решения задач синергетической природы

Организовать объектно-ориентированный подход в условиях реляционной базы данных можно с помощью выявления фрагментов баз данных, содержащих объекты с варьируемым числом параметров, и вынесения самих объектов и параметров-атрибутов в отдельные справочники, что сделает информационную систему более функционально и

45

устойчивой к изменениями бизнес-среды. Отношение «объект - параметр объекта» позволяет корректировать список параметров даже на поздних стадиях проектирования.

Объект_________ Параметры_объекта

код_обьекга: NUMBER код_объекга: NUMBER код_объекта_параметра: CHARiS Параметры

код параметра: CHAR(18) |

наименование: СНМ тип параметра: СН> I

значение_параметра: СН

Рис. 1 - Отношение объект - параметр объекта.

Такие фрагменты можно выделить во многих задачах. Например, при разработке информационной системы учета лекарственного обеспечения пациентов с хроническими заболеваниями в [4], каждое заболевание характеризуется обширным перечнем параметров. Некоторые параметры уникальны и характерны только для одного заболевания, другие присущи нескольким заболеваниям. И у конкретного пациента эти параметры - симптомы -могут присутствовать, отсутствовать и быть выражены в различных степенях. Аналогичная ситуация возникает и при проектировании информационной системы учета компьютерной техники, так как компьютеры могут быть представлены как объекты с иерархической структурой, имеющие различное количество комплектующих. А также в риэлторских системах и системах учета наследственных дел, в системах расчета заработной платы [4].

2. Модель универсальной базы данных

Спектр подобных задач привёл к идее универсальной базы данных (УБД), которая способна без изменения структуры содержать в себе информацию любой предметной области [5].

являетсят i

Г

ПАРАМЕТР

J

является

имеет

ВОЗМОЖНОЕ ЗНАЧЕНИЕ

относится к

ПАРАМЕТРА

Рис. 2 - Логическая модель универсальной базы данных

3. Проблемы объектно-ориентированного подхода в базах данных

Недостатками объектно-ориентированного подхода являются отсутствие универсальных моделей данных и стандартов, отсутствие поддержки представлений, неудобство обработки данных и низкая скорость выполнения запросов [2]. То есть сложность оперирования данными в виде объектов сводит на нет неоспоримые преимущества их использования.

Центральными проблемами, вызывающими эту сложность, являются:

46

1. Значения параметров объектов одной и той же природы могут быть совершенно разнотипными;

2. Хаотичное расположение параметров затрудняет оперирование информацией.

4. Варианты решения проблемы разнотипности

В рамках реляционной БД предложено два решения первой проблемы. Одно из решений изложено в статье Банникова А.Н. [6] и заключается в методике создания справочников типов. Разложить данные в таблицы по типам, создать справочники типов и свойств, и в поле значений таблицы параметров объекта указывать ссылку на соответствующую таблицу справочника определённого типа и на нужное значение в ней. Параллельно оптимизировать структуру SQL запросов под такое строение справочников.

Другим решением может служить использование унифицированного и единого типа данных [7]. Логично выбрать единицей измерения унифицированного типа - массив байт, так как он является естественной размерностью для виртуального информационного пространства. Такой универсальный тип создан и применяется в матричной универсальной объектно-реляционной базе данных (МУОРБД).

5. МУОРБД

МУОРБД является матричным представлением УБД[8]. Матричная структура сохраняет все преимущества реляционных баз данных и позволяет работать с информацией, используя понятия наследования, агрегации, возможен полиморфизм и инкапсуляция. Структура ядра МУОРБД представляет собой семимерный массив, и имеет вид [8]:

ARRUDB : {массив УБД}

array of {БД}

array of {Сущность}

array of {Экземпляр сущности}

array of {Информационная единица -группа}

array of {№ п\п элемента группы - параметра экземпляра сущности}

array of {Атрибуты параметра - ссылка, значение, дата с, дата по,

родительский элемент }

array of byte {Массив параметра}

Первое измерение - для работы распределённой базы данных. Второе измерение «Сущность» - это таблицы объектов БД, в том числе таблицы метаданных МУОРБД. Третье измерение Экземпляр сущности - непосредственно сам объект, четвёртое измерение является измерением групп, в которые объединены значения параметров по смысловому содержанию (многострочная единица информации), пятый индекс - элемент группы параметра экземпляра сущности, шестой - статический массив атрибутов значения параметра, содержащий помимо самого параметра и его значения временные границы актуальности значения и древовидность структуры единицы информации. Седьмое измерение - массив параметра - байты значений атрибутов параметра (универсальный тип данных).

6. Решение проблемы разнотипности в МУОРБД

Универсальный тип данных реализован на основе понижения кратности системы счисления и обеспечивает упрощение и оптимизацию размещения информации МУОРБД в оперативной памяти [6]. Это позволяет отказаться от определения типов данных атрибутов на физическом уровне, и выводит задачу определения типа информации на уровень программирования, где тип задаётся программистом для пользователя, и ограничения выставляет из условий поставленной задачи, а не из требований СУБД. Этот механизм снимает ограничения на ввод информации в поля атрибутов и даёт разработчикам информационных систем столь необходимую жизнестойкость и адаптивность БД к изменяющимся требованиям.

47

В седьмом измерении МУОРБД хранятся в основном ссылки на справочники внесённых единиц информации, так как вся тяжёлая информация из базы убрана и разделена на справочники по типу символов, содержащихся в значениях, исходя из специфики работы алгоритма на основе аппарата понижения кратности системы счисления.

7. Решение проблемы хаоса

Решение второй проблемы в рамках МУОРБД потребовало создания дополнительных описательных средств: инструмента поддержки табличного вида сущности (ИПТВС), индексного пространства основного массива данных (ИПОМД), индексного пространств справочников (ИПС) и пространства целостности ссылок (ПЦС).

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

ИПОМД представляет собой семимерный массив, в котором размещены отсортированные указатели на строки таблиц в нужном порядке по каждому параметру. Структура массива ИПОМД имеет вид:

IASTSpr : {массив ИПОМД }

array of {БД}

array of { № Сущности}

array of { № Параметра }

array of { № Префикса }

array of {№ Группы первого символа}

array of {№ п/п в группе первого символа}

array of byte { адрес }

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

Значения параметра разделены на 256 групп - соответственно количеству возможных значений у байта. Такое разделение даёт однозначный положительный эффект для поиска, только при равномерном распределении первых символов в значениях параметра, что редко соответсвует действительности. Часто встречающаяся ситуация, когда существенное количество значений параметра начинаются с одного или нескольких одинаковых символов и различаются только несколькими последними (наименование документа, чертежа, множество однокоренных фамилий), смоделирована с помощью системы префексов. Начиная с определённого количества строк, соответствующего группе первого символа, этот символ выносится в отдельный массив из префиксов всех параметров, затем строки распределются в группы соответсвенно второму символу и так далее. Структура массива префиксов имеет вид:

PrASTSpr : {массив префиксов }

array of {БД}

array of { Сущность}

array of { Параметр }

array of { № Префикса }

array of byte { массив префикса }

Строки, имеющие несколько значений одного параметра, упоминаются в различных группах соответствующее число раз. Поэтому четвёртое измерение ИПОМД - номер префикса, - если он не выделен, то это 0. Пятое - номер кода первого символа (от 0 до 255), наконец, шестое - порядковай номер в группе первого символа.

48

ИПС - представляет собой шестимерный массив, в котором размещены отсортированные указатели на вынесенные в справочники значения. Структура массива ИПС имеет вид:

IAD: {массив ИПС}

array of {БД} array of {№ Справочника} array of {№ Префикса}

array of {№ Группы первого символа} array of {№ п/п в группе первого символа} array of byte { Массив значения }

Для построения системы группового индексирования информации аналогично введён массив префиксов для справочников:

PrAD: {массив ИПС}

array of {БД} array of {№ Справочника} array of {№ Префикса}

array of {№ Группы первого символа} array of {№ п/п в группе первого символа} array of byte { Массив значения }

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

Структура массива ПЦС имеет вид:

RIASTSpr: {массив ПЦС }

array of {БД}

array of {Сущность}

array of {Экземпляр сущности}

array of {Информационная единица -группа}

array of {Элемент группы - параметр экземпляра сущности} array of {№ п\п в списке ссылок } array of byte {ссылка}

Все индексные пространства используют систему группового индексирования информации.

Выводы

Применение универсального типа данных, ИПТВС, ИПОМД, ИПС и ПЦС компенсируют основные отрицательные отличия объектного подхода от реляционного. А возможность использования группового индексирования и вовсе даёт превосходство перед ним.

В дальнейшем следует задуматься над формализацией объектно-реляционных моделей. Расширение структуры, появление новых возможностей взаимосвязи объектов, объектноориентированные свойства, синергетичность атрибутов объектов - всё это делает недостаточным стандартные нотации для реляционных СУБД, и требует расширения их либо замены.

Литература

1. Хакен Г., Информация и самоорганизация: Макроскопический подход к сложным системам. М.: Мир, 1991.-240 с.

2. Конноли Т., Бегг К. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. 3-е издание.:Пер. с англ. / Т. Конноли, К. Бегг. М.: Издательский дом «Вильямс», 2003. С.1440

4. Микляев И.А., Черткова О.В. Синергетическое информационное пространство МУОРБД // // Объектные системы - 2011 (Зимняя сессия): материалы V Международной научнопрактической конференции (Ростов-на-Дону, 10-12 декабря 2011 г.) / Под общ. ред. П.П. Олейника. - Ростов-на-Дону: ШИ ЮРГТУ (НПИ), 2011. - С. 67-72.

49

5. И.А. Микляев, А.Н. Ундозерова, М.В. Кудаева Типовой подход к проектированию объектов баз данных с варьируемым числом параметров Вестники СПбО АИН Выпуск №7, 2010, с.303-312.

1. 5. Микляев И.А., Ундозерова А.Н., Кудаева М.В., Свидетельство ОФЕРНиО (Объединённого фонда электронных ресурсов «Наука и образование») №15041 "Универсальная база данных", 2009.

6. Банников Н.А. Объектно-ориентированные базы данных //

http://www.stikriz.narod.ru/art/oobd.htm

7. Микляев И.А., Свидетельство ОФЕРНиО №15405 (Объединённого фонда электронных ресурсов «Наука и образование») "Универсальный тип данных баз данных", 2010.

8. Микляев И.А, Свидетельство ОФЕРНиО (Объединённого фонда электронных ресурсов «Наука и образование») №15175 "Матричное представление универсальной базы данных", 2009.

УДК 004.89

ОБ АГЕНТНО-ОРИЕНТИРОВАННЫХ СИСТЕМАХ И МНОГОАГЕНТНЫХ

БАНКАХ ЗНАНИЙ

Зайцев Евгений Игоревич, к.т.н., доцент, Московский государственный университет приборостроения и информатики, Россия, Москва, zei@tsinet.ru

Агентно-ориентированная технология позволяет создавать распределенные интеллектуальные системы, в которых для решения сложных плохоформализуемых задач вместо одного интеллектуального решателя используется самоорганизующаяся сеть программных агентов, формирующих частные решения, взаимодействующих друг с другом, а также координирующих коллективное поведение. Понятие программного агента (software agent) трактуется по-разному. Иногда программные агенты определяют просто как автономные процессы, которые действуют от имени пользователя в среде, в которой выполняются другие процессы. При этом агенты рассматриваются как сущности, которые могут воспринимать окружающую среду посредством рецепторов и взаимодействовать с ней [1]. Выделяют такие свойства программных агентов, как интерактивность или общественное поведение (social ability) (т.е. способность функционировать в сообществе агентов, инициируя взаимодействия и обмениваясь сообщениями с помощью некоторого языка коммуникаций); реактивность (способность воспринимать окружающую среду и своевременно реагировать на события недетеминированным образом); проактивность и целеустремленность (способность действовать в упреждающей манере, в частности, генерировать новые цели и действовать рационально для их достижения).

В определении агента, которое дает Фонд интеллектуальных физических агентов (Foundation for Intelligent Physical Agents), являющийся комитетом IEEE Computer Society (http://fipa.org), агент - это главный исполнитель в домене, обладающий одной или несколькими сервисными возможностями, образующими единую и комплексную модель выполнения, которая может включать доступ к внешнему программному обеспечению, пользователям и средствам связи. Отмечается, что главной отличительной чертой программных агентов являются их интеллектуальность (intelligent) и мобильность (mobility). С общепринятой точки зрения объектно-ориентированного программирования первое свойство проявляется в том, что агент содержит не только типичные для объектных классов методы и атрибуты (члены-данные класса), но также когнитивные структуры данных (CDS, Cognitive Data Structures) и методы, реализующие логические выводы, а также механизмы самообучения и адаптации.

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

50