К вопросу о темпоральных расширениях реляционных баз данных

Информационная экономика

УДК 004.652.4

B.C. Сафонов

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

В статье рассмотрены основные понятия теории темпоральных баз данных. Даны понятия вертикальной темпоральной аномалии, сводимости к нетемпоральной форме, темпоральной полноты.

Темпоральная БД, вертикальная темпоральная аномалия, сводимость к нетемпоральной форме, темпоральная полнота.

Вся информация, с которой приходится работать, в той или иной степени имеет временную составляющую. Различие состоит лишь в том, что временная составляющая может как сохраняться в информационной системе, так и нет. Еще несколько лет назад время сохранялось только в тех системах, где неиспользование его приводило к искажению информации или к невозможности правильного восстановления последовательности событий. Такими системами являлись финансовые базы данных, системы хранения данных о научных экспериментах, т. е. все системы, в которых время выступает неотъемлемой частью информации, например, о состоянии исследуемой системы или объекта в некоторый момент времени или о времени совершения финансовой операции.

Такое малое распространение систем, накапливающих историческую информацию, вызвано, в первую очередь,

j. Ш САФОНОВ Вадим Сергеевич ;Щ^м.н,с. ВНКЦ ЦЭМИ РАН

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

В последнее время интерес к системам, хранящим информацию, привязанную ко времени, усилился. Такие системы принято называть темпоральными. Темпоральные базы данных - это базы, хранящие данные, привязанные ко времени и имеющие средства управления такой информацией. Главное отличие темпоральных систем управления базами данных (СУБД) от обычных реляционных СУБД заключается в том, что для любого объекта, который был создан в момент времени t1 и был удален в момент времени 12, сохраняются все его

состояния в этом временном интервале [£3, ¿2/, тогда как в обычной СУБД существует только текущее на конкретный момент времени состояние объекта. Таким образом, в темпоральной БД хранится история изменений состояний объекта, и пользователь может получить информацию о состоянии записи в БД в любой момент времени из указанного промежутка.

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

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

К N ¡'=1 У=1

где Г - суммарный объем информации; V.. - объем информации, содержащейся в /-атрибуте кортежа г; К и N - количество записей и столбцов в таблице.

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

К 2,' Г N ¿=1 (=1 _ 7=1

где Т - суммарный объем информации;

- объем информации, содержащейся в /-атрибуте кортежа г; I/ - размер временного атрибута; Z¡ - количество состояний кортежа г; N и К - количество атрибутов и уникальных записей соответственно.

Как можно видеть из сравнения этих двух формул, увеличение объема вызвано двумя факторами: необходимостью наличия временного атрибута и хранением истории изменений. Таким образом, таблица, ориентированная на сохранение истории, будет содержать больший объем информации, чем обычная таблица, даже если в ней отсутствует история изменений.

Если же рассматривать не объем отдельной таблицы, а базы данных в целом, увеличение объемов информации будет еще более значительным, так как придется учитывать размеры первичных и внешних ключей, а также индексов и других объектов БД. А размеры ключей в темпоральной БД будут превосходить по размеру аналоги нетемпоральной системы.

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

Из всего вышеизложенного следует, что увеличение объемов хранимой информации ставит перед исследователями задачу оптимизации способов хранения. Т. е. необходимо так организовывать структуру БД, чтобы снизить объем хранимой информации, ликвидировать ее избыточность. Избыточность состоит в том, что в моделях

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

В темпоральных базах данных, при использовании маркировки кортежей, каждый кортеж содержит информацию о состоянии моделируемого объекта, а также информацию о времени, когда эта информация была актуальна или записана в БД. В работах [1, 2] такое размытие информации об одном логическом объекте по нескольким кортежам было названо вертикальной темпоральной аномалией. Данная аномалия не может присутствовать в моделях, удовлетворяющих первой нормальной форме. Иногда пользователю необходимо получить общую продолжительность периода, во время которого информация об объекте присутствовала в БД независимо от всех изменений, происходивших с объектом. Для этого многими разработчиками была введена специальная операция произвольного объединения, позволяющая получить общую продолжительность всех интервалов для выбранного объекта [3, 4 и др.].

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

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

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

Второе важное понятие теории темпоральных БД - это понятие сводимости к нетемпоральной форме. Пусть М = (ОБ, ОЬ, С) - нетемпоральная модель данных, а Мт = (ОБ7, 0.17, С1) - темпоральная модель данных. Кроме того, пусть йЪт - экземпляр БД Г)5Т, тогда темпоральная операция орт в пространстве с ОРт сводима к нетемпоральной операции ор в ОР, тогда и только тогда

Мт,м< т/„т\\ (МтМ Л

MdV V/: ф

[ор

ор

Ф

И

а темпоральное ограничение ст в Ст сводимо к нетемпоральному ограничению с в С тогда и только тогда, когда

Vdb' Vt: ф

МТ,М

(c'(db’l-

Ф

мт,м

где ст(АЪт) и с(йЬ) показывают вычисление ограничений при переходе между БД.

Третье понятие, связанное с темпоральными БД, - это понятие темпоральной полноты. В работе [5] дается ее определение, которое мы приводим ниже. Темпоральная модель Му = (Т>5У, 0,1У) является темпорально полной по отношению к нетемпоральной модели М = (ОБ, ОЬ) тогда и только тогда, когда выполняются следующие пять условий:

1. Модель Му обладает частичной темпоральной полнотой по отношению к модели М.

2. Для каждого темпорально сводимого запроса с\у в (217 возможно убрать темпоральную сводимость путем удаления синтаксических расширений, обеспечивающих темпоральную сводимость, либо путем синтаксической модификации запроса в где и Б2 зависят от 0,17, но не от с/1'.

3. Имя отношения с временем актуальности в выражении может быть синтаксически заменено запросом цу в 017, который определяет соответствующее отношение с временем актуальности без изменения семантики выражения.

4. Предикаты сравнения, предложенные в [6], могут быть использованы:

• между темпоральными атрибутами хранимых таблиц со временем актуальности;

• неявно вычисленными временами актуальности частично полных темпоральных запросов;

• темпоральными константами.

5. Возможно найти максимальные периоды и времена актуальности, соответствующие заданным пользователем критериям.

Таким образом, все разработки в области темпоральных БД выполняются на базе этих понятий. Различные исследователи приводят ряд обобщенных требований, которым должна отвечать темпоральная модель и, соответственно, ее реализация.

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

Изучение возможностей повышения эффективности обработки данных на основе внедрения технологии темпоральных БД в рамках конкретных научно-исследовательских работ представляется актуальной и перспективной задачей.

ЛИТЕРАТУРА

1. Gadia, S.K. A Homogeneous Relational Model and Query Languages for Temporal Databases / S.K. Gadia. - ACM Transactions on Database Systems. -1988. - 13(4). - P. 418-448.

2. Gadia, S.K. A Query Language for a Homogeneous Temporal Database: in Proceedings of the International Conference on Principles of Database Systems / S.K. Gadia, J.H. Vaishnav. - 1985. -P. 51-56.

3. Navathe, S. Temporal Extensions to the Relational Model and SQL. / in A. Tansel, J. Cliord, S. Gadia, S. Jajodia, A. Segev, and R. Snodgrass, editors; Temporal Databases: Theory, Design, and Implementation. / S. Navathe, R. Ahmed. - Benjamin/Cummings Publishing Company, 1993. - P. 92-109.

4. Snodgrass, R.: editor. The TSQL2 Temporal Query Language. Kluwer Academic Publishers, 101 Philip Drive, Assinippi Park, Norwell, Massachusetts 02061, USA, 1995.

5. Dos Santos, C.S. Design and Implementation of Object-Oriented Views: in Proceedings of the Database and Expert Systems Applications (DEXA) Conference / C.S. dos Santos. -1995. - P. 91-102.

6. Allen J.F. Maintaining Knowledge about Temporal Intervals / J.F. Allen. - Communications of the ACM. - 1983. - 16(11). - P. 832-843.