Корпоративные базы данных - статьи


2.4. Темпоральные базы данных - часть 2


эксперименты.

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

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

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

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

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




- Начало -  - Назад -  - Вперед -