1. Карпенко А.П. Популяционные алгоритмы глобальной оптимизации. Обзор новых и малоизвестных алгоритмов / А.П. Карпенко // Приложение к журналу «Информационные технологии». 2012. №7. С. 1-32.
2. J. Kennedy, R. Eberhart, “Particle Swarm Optimization”, in proc. of IEEE International Conference on
Neural Network, Piscataway, NJ, 1995, pp. 1942-1948.
3. Dorigo M., Birattari M., Stutzle T. Ant Colony Optimization. Artificial Ants as a Computational
Intelligence Technique // IRIDIA. Technical Report Series. Technical Report No. TR/IRIDIA/2006-023. Brussels, Belgium. 2006. 14 p.
4. Гладков Л.А. Генетические алгоритмы/ Л.А. Гладков, В.В. Курейчик, В.М. Курейчик; под ред.
В.М. Курейчика. - 2-е изд., испр. и доп. - М.: ФИЗМАТЛИТ, 2006. - 320 с.
5. Курейчик В.М., Использование роевого интеллекта в решении NP-трудных задач/ В.М, Курейчик, А.А. Кажаров // Известия ЮФУ. Технические науки. 2011. № 7 (120). С. 30-37.
6. Матренин П.В. Описание и реализация алгоритмов роевого интеллекта с использованием
системного подхода / П.В. Матренин // Программная инженерия. 2015. №3. С. 27-34.
7. Гранд М. Шаблоны проектирования в Java / М. Гранд; Пер. с англ. С. Беликовой. - М.: Новое
знание, 2004. - 559 с.: ил.
8. Матренин П.В. Разработка приложений для визуализации методов стохастической оптимизации /П.В. Матренин // Сборник научных трудов SWorld. Материалы международной научно-практической конференции «Современные проблемы и пути их решения в науке, транспорте, производстве и образовании'2012». - Выпуск 4. Том 12. Одесса: КУПРИЕНКО, 2012. ЦИТ:412-0099. С. 28-35.
УДК. 004.652
ТЕМПОРАЛЬНЫЕ ОБЪЕКТНО-РЕЛЯЦИОННЫЕ МОДЕЛИ В МНОГОМЕРНОМ
ПРЕДСТАВЛЕНИИ9
Елисеев Дмитрий Владимирович, к.т.н., ведущий программист, МГТУ им. Н.Э. Баумана, Россия,
Москва, [email protected]
Введение
Нетемпоральные модели данных и их реализация в системах управления базами данных (СУБД) хранят единственное состояние объектов предметной области. СУБД поддерживают операции изменения, которые переводят базу данных из одного состояния в другое, тем самым, заменяя старые значения новыми.
Но существует множество предметных областей, в которых необходимо хранить прошлые состояния базы данных и возможно будущие. К таким системам можно отнести: систему управления предприятием [1], систему управления персоналом [2], финансовые приложения, страховые приложения и ряд других, которые обладают следующими свойствами:
1. Информационная система обрабатывает темпоральные (изменяющиеся во времени) данные.
2. Информационная система накапливает историю изменения темпоральных данных.
В настоящее время объектно-реляционная модель является наиболее распространённой на практике в базах данных. В разработку методов хранения и обработки темпоральных данных на базе объектно-реляционной модели внесли вклад учёные, такие как Р. Снодграс [3], К. Дженсен [4], Дж. Бен-Зви [4], C. Гадия [4], Е. МакКензи [4], А. Стейнер [5]. Исследования в области темпоральных баз данных привели к многообразию соответствующих темпоральных моделей. В статье рассмотрены недостатки,
9 Статья рекомендована к опубликованию в журнале "Прикладная информатика"
28
соответствующие этим темпоральным моделям при частых изменениях схем отношений, а также сформулирована новая методика обработки темпоральных объектно-реляционных баз данных в разработанном автором миварном информационном пространстве, которая позволяет устранить некоторые из этих недостатков и ограничений.
1. Темпоральные данные и темпоральные базы данных
СУБД основывается на модели данных, которая определяет конструкции и формализмы, доступные для описания, изменения и доступа к данным. Модель данных M=(DS, OP, C) состоит из трёх компонент: структуры данных DS, операций OP и ограничений целостности C [5]. Модель данных позволяет описывать объекты предметной области и выполнять над ними соответствующие операции.
Совокупность значений, описывающих объект предметной области в определённый период времени, называется состоянием объекта предметной области. Совокупность состояний объектов предметной области в определённый период времени называется состоянием базы данных.
Современные СУБД обрабатывают постоянные данные, т.е. данные существуют дольше, чем приложения выполняют задачи.
Темпоральные данные - произвольные данные, которые связаны с определёнными датами или промежутками времени [4].
Темпоральные модели данных позволяют хранить информацию об эволюции объектов: для любого объекта, который был создан в момент времени t1 и закончил свое существование в момент времени t2, в базе данных будут сохранены все его состояния на временном интервале [t1, t2) [5].
Темпоральная СУБД - это СУБД для хранения и обработки темпоральных данных [5].
2. Описание темпоральности на различных уровнях в объектно-реляционной базе данных
Объём информации, хранящейся в темпоральной объектно-реляционной базе данных, сильно зависит от уровня темпоральности данных и частоты изменения информации.
Темпоральность на уровне базы данных. Означает, что все отношения в БД, связанные с ними кортежи и значения атрибутов имеют одинаковые периоды времени действия. В этом случае к базе данных добавляется временная метка и принимается однородность всех этих уровней. Темпоральность на уровне базы данных подразумевает, что периодически сохраняются снимки состояний БД в определённые моменты времени [6]. При таком подходе темпоральной модели свойственна избыточность данных, так как два смежных состояния БД отличаются незначительно, а сохраняются отдельно, что приводит к многократному дублированию одних и тех же данных.
Темпоральность на уровне отношения (таблицы). Означает, что каждое отношение помечается отметкой времени [6]. Таким образом, база данных состоит из набора исторических отношений. Историческое отношение рассматривается как последовательность экземпляров отношений, причём каждый экземпляр представляет особое состояние отношения в момент времени.
Темпоральность на уровне кортежа (строки в таблице). Означает, что каждый кортеж в отношении связывается с отметкой времени. Каждый кортеж содержит состояние объекта предметной области вместе с временной информацией. Состояние существует на интервале времени, в течение которого ни один из атрибутов кортежа не изменяет своего значения [3, 5]. Темпоральность кортежа достигается за счёт расширения исходной реляционной модели данных, к которой добавляются специальные временные атрибуты в каждую нетемпоральную схему отношения. Отношение с темпоральными кортежами содержит
29
инвариантный во времени ключ и изменяющиеся во времени атрибуты. Главным недостатком темпорального кортежа является то, что информация об объекте предметной области распространена на несколько кортежей, каждый из которых представляет состояние этого объекта, которое было в течение определённого периода времени. Темпоральность кортежа также приводит к избыточности хранения данных. При обновлении значений кортежа в отношении создаётся новый кортеж, где все значения атрибутов, не затронутых модификацией, повторяются.
3. Темпоральные объектно-реляционные модели с изменяемой структурой данных
Рассмотрим применение известных темпоральных моделей на базе реляционной в информационных системах, обрабатывающих темпоральные данные, структура которых также является темпоральной. Примеры таких систем были приведены выше.
Пусть отношение с темпоральными кортежами R имеет набор атрибутов R = (Д,...,Ак,T), где T - атрибут, определяющий отметку времени. Данная модель является
самым естественным и наиболее часто используемым способом представления отношений с темпоральными кортежами [7]. В этом случае отношение состоит из темпоральных кортежей, которые определяют состояния объектов предметной области.
На рис. 1 представлены графики зависимости размера отношения УОТН, то есть количества хранимых значений, от количества кортежей в отношении при неизменной схеме отношения (рис. 1.а) и при изменяющейся (рис. 1.b).
На графиках (рис. 1) ось n - количество кортежей в отношении. Если схема отношения постоянна, то размер отношения растёт линейно при увеличении количества кортежей, УОТН = кп, где к - количество атрибутов в схеме отношения (рис. 1.а).
Изменение схемы отношения состоит только в добавлении новых атрибутов, чтобы сохранить накопленные ранее данные. В результате при изменении схемы отношения увеличивается угол наклона прямой, т.к. увеличивается количество атрибутов в отношении (значение к), и размер отношения возрастает скачкообразно, т.к. место под новые атрибуты выделяется в уже существующих кортежах.
Рис. 1 - Зависимость размера отношения с темпоральными кортежами от количества кортежей в отношении: а) при не изменяющейся схеме отношения; b) при изменяющейся схеме отношения
Математически зависимость размера отношения от количества кортежей при изменяющейся схеме отношения представлена в формуле 1 [8].
30
Voth <
ОТН
k1n, 0 < n < n1, k2 n, n < n < n2
k3n, n2 < n < n.
2'b
'2
'l J
2
'3 5
(l)
Так как после каждого изменения отношения увеличивается угол наклона прямой, то размер отношения растёт быстрей. На рис. 1 при количестве кортежей в отношении n=n2, V4a<V4b на величину (k3 -k1)n2. Из формулы 1 видно, что размер отношения зависит от того,
когда произошло изменение его схемы. Чем больше кортежей содержит отношение, тем больше его размер будет после добавления новых атрибутов.
Таким образом, применение стандартных темпоральных моделей на базе реляционной приводит к следующим недостаткам:
1) Увеличение избыточности хранения информации по мере изменения структуры данных.
2) По мере изменения структуры данных базовая реляционная модель разрастается, содержит устаревшие атрибуты и отношения, становится труднообозрима и не соответствует текущему состоянию предметной области.
В данном докладе предлагается методика обработки и адаптации темпоральной объектно-реляционной модели данных в миварном информационном пространстве, которая позволяет устранить рассмотренные выше недостатки.
4. Миварное описание темпоральной объектно-реляционной базы данных
В работах [9, 10] вводится и описывается современный новый подход к представлению и обработки данных, представленных в виде многомерных структур и объединённых в рамках одного формализованного описания - миварного информационного пространства.
«МИВАРное» пространство (Многомерное Информационное ВАРьирующееся пространство) - самоорганизующееся динамическое многомерное объектно-системное дискретное пространство унифицированного представления данных и правил [9].
Адаптивность миварного многомерного пространства обусловлена динамичностью изменения структур представления данных и правил, т.е. тем, что в любой момент времени могут быть изменены как сами данные и правила, так и структуры представления данных. Возможность многократного проведения адаптации миварных структур порождает эволюционность миварного пространства [9].
При миварном подходе объектно-реляционную модель можно представить в виде набора точек, имеющих определённые координаты в многомерном пространстве, вместо набора таблиц. В этом случае от структуры многомерного пространства зависят свойства объектно-реляционной модели, например, свойство темпоральности. Т.к. в основе современных объектно-реляционных баз данных лежит, как правило, реляционная модель хранения, то в дальнейшем будем рассматривать её.
Структура многомерного пространства для описания темпоральной реляционной модели данных с изменяемой структурой приведено в работах [11, 12]. Многомерное пространство, описывающее темпоральную реляционную модель, состоит из пяти основных осей:
1) V - множество отношений (таблиц) реляционной модели.
V = {>>}., = 1Л, Iv = VI
2) S - множество атрибутов отношений реляционной модели.
S = } i = 1 Is, Is = Is|.
S
31
3) ID - множество идентификаторов объектов в отношении (строк таблицы). Множество идентификаторов объектов будем считать множество натуральных чисел. В отношении идентификатор выделяет конкретную запись. Поэтому в каждом отношении идентификатор объектов не должен повторяться, должен быть уникальным.
4) T- множество времён изменений состояния реляционной модели.
Тогда многомерное пространство будет иметь следующий вид:
М = V х S х ID х T.
Если m е M, то m = (v, s, id, tj - точка многомерного пространства.
Каждой точке многомерного пространства M соответствует единственное значение из множества CM - множество значений точек многомерного пространства с определёнными координатами. В результате множество СМ описывает темпоральную реляционную базу данных в многомерном пространстве М, причём СМ содержит только данные, которые действительно изменяются или добавляются в реляционную базу данных. Схема отображения точек пространства М в элементы множества СМ представлена на рис. 2.
Тогда не всем точкам многомерного пространства М будут соответствовать значения из множества CM. Введём преобразование и любого подпространства М в подмножество СМ, которое для точек многомерного пространства определяет соответствующие элементы из множества CM.
Рис. 2 - Отображение точек многомерного пространства в элементы множества значений. Пусть пространство MA с M, MA = VA х SA х IDA х TA где Va с V, Sa с S, IDA с ID, TA с T и CA с Cm
Тогда € : MA ^ CA , CA = {cm : m е MA , Cm е CM Ь CA = €(MA)
В многомерном пространстве каждому значению атрибута кортежа отношения соответствует точка с определёнными координатами [12, 13]. На рис. 3 представлено подпространство (V,S,ID), описывающее реляционную модель данных, а выделенная точка хранит значение атрибута Sj в кортеже n отношения vi.
Для реляционной базы данных состоянием является совокупность отношений в определённый момент времени. Таким образом, состояние реляционной базы данных изменяется, когда изменяется хотя бы одно значение атрибута в каком-либо отношении, либо изменяется схема хотя бы одного отношения.
При миварном подходе структура данных определяется точками пространства, которые хранят соответствующие значения атрибутов реляционной модели. Таким образом, структура данных определяется данными, которые хранятся в миварном пространстве. Первичность данных создаёт новые возможности по изменению схемы базы данных в
32
реляционной модели и предпосылки для разработки новых методов обработки данных с изменяемой структурой.
Рис. 3 - Подпространство представления реляционной модели
На базе такого подхода и описания темпоральной реляционной модели в работах [11, 12, 13] была разработана методика обработки темпоральной реляционной базы данных в миварном пространстве, которая включается в себя 3 этапа: преобразование реляционной базы данных к миварному представлению, изменение темпоральной реляционной базы данных в миварном пространстве и выполнение запросов к такому пространству.
Заключение
В статье проведён анализ построения темпоральных систем в условиях изменения объектно-реляционной базы данных. Были даны определения темпоральных данных и темпоральной СУБД, выявлены недостатки и ограничения при отнесении темпоральности к различным уровням базы данных. Существующие темпоральные модели, расширяющие объектно-реляционную модель данных, применимы в системах, в которых структура темпоральных данных не изменяется. В информационных системах, которые работают с темпоральными данными, структура которых также является темпоральной, использование этих моделей является неэффективным.
Использование миварного пространства и предложенной методики при обработке и хранении темпоральных данных в системе кадрового учёта университета позволило уменьшить размер отношений реляционной модели в среднем на 32% и сократить время адаптации информационной системы в среднем на 53% за счёт исключения необходимости отдельно изменять схемы отношений и выполнять перекачку данных [2]. Кроме того, стало возможным консолидировать кадровые базы данных из предыдущих систем в миварном пространстве для выполнения темпоральных запросов к накопленному архиву информации за счёт использования написанных ранее SQL запросов к прошлым состояниям кадровой базы данных.
Литература
1. Информационная управляющая система МГТУ им. Н.Э. Баумана «Электронный университет»: концепция и реализация / Т.И. Агеева, А.В. Балдин, В.А. Барышников и др.; [под ред. И.Б. Фёдорова, В.М. Черненького]. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2009. -376 с.
33
2. Елисеев Д.В. Балдин А.В., Тоноян С.А. Язык запросов к миварному представлению реляционных баз данных, содержащих архив информации из предыдущих кадровых систем // Инженерный журнал: наука и инновации. - 2013. - № 11 (23). С. 20.
3. Developing Time-Oriented Database Applications in SQL, Richard T. Snodgrass, Morgan Kaufmann Publishers, Inc., San Francisco, July, 1999, 504 pages.
4. История и актуальные проблемы темпоральных баз данных [Электронный ресурс] / Костенко Б.Б., Кузнецов С.Д., 2007 - Режим доступа: http://citforum.rU/database/articles/temporal/4.shtml, (Дата обращения: 18.03.2015)
5. Andreas Steiner. A Generalisation Approach to Temporal Data Models and their Implementations [Электронный ресурс], 1998 - Режим доступа: http://www.timeconsult.com/Publications/diss.pdf, (Дата обращения: 18.03.2015)
6. Елисеев Д.В., Балдин А.В. Обзор способов построения темпоральных систем на основе реляционной базы данных // Инженерный журнал: наука и инновации. - 2012. - №3. (3). С. 5 -12
7. Дейт К. Введение в системы баз данных. - 8-е изд. - М.: Вильямс, 2006. - 1328 c.
8. Елисеев Д.В., Балдин А.В., Тоноян С.А. Анализ избыточности хранения темпоральных данных средствами реляционной СУБД // Инженерный журнал: наука и инновации. - 2014. -№ 4 (28). С. 1.
9. Варламов О.О. Эволюционные базы данных и знаний для адаптивного синтеза интеллектуальных систем. Миварное информационное пространство. - М: Радио и связь, 2002.-286 с.
10. Варламов О.О. Основы многомерного информационного развивающегося (миварного) пространства представления данных и правил // Информационные технологии. - 2003. - № 5. - С. 42-47.
11. Адаптируемая модель данных на основе многомерного пространства [Электронный ресурс] /
Елисеев Д.В., Балдин А.В.- Электрон. журн. - М.: «Наука и образование: электронное научнотехническое издание», 2010 - Режим доступа: http://technomag.edu.ru/doc/161410.html.
свободный, (Дата обращения: 18.03.2015)
12. Елисеев Д.В. Методика обработки темпоральной реляционной базы данных в миварном пространстве: 05.13.17: автореф. ... дис. ктн; МГТУ им. Н.Э. Баумана. - М., 2011. - 16 c.
13. Алгебра многомерных матриц для обработки адаптируемой модели данных [Электронный
ресурс] / Елисеев Д.В., Балдин А.В.- Электрон. журн. - М.: «Наука и образование: электронное научно-техническое издание», 2011 - Режим доступа:
http://technomag.edu.ru/doc/199561.html. свободный, (Дата обращения: 18.03.2015)
UDK 004.04
OBJECT MODELING OF SUBJECT DOMAINS
Ekaterina M. Lavrischeva, Doctor of Physical and Mathematical Sciences, Professor MIPT, Chief Researcher of ISP RAN, Moscow, [email protected]
Introduction
On verge of 1980s, object-oriented programming approach was introduced by G. Booch, changing the operating programming process. At the time, software industry encountered the complication crisis. Not only Brooch’s theory was necessary to end the crisis, but technology as well. Object-oriented programming (OOP) is targeted not only towards improvement of the traditional approach that induced the complication crisis of systems developed with the help of PL; instead, it created a new style for programming systems by modeling subject domains (SD) with objects and their interfaces. OOP languages have surfaced for various object types, routines and data types These languages partially use the formal mechanisms of specifications programs (RAISE, RCL, VDM, Dijkstra, Hoare et al.) [1-5]. Derivatives of the elements of these languages became the general purpose resources for development of large-scale systems. In addition, it was
34