Помощь в учёбе, очень быстро...
Работаем вместе до победы

Управление буферами оперативной памяти

РефератПомощь в написанииУзнать стоимостьмоей работы

Важные понятия сериализации транзакций и сериального плана выполнения смеси транзакций в многопользовательской СУБД тесно связаны с управлением транзакциями. Сериализация параллельно выполняющихся транзакций — это порядок планирования работы транзакций, при котором суммарный эффект смеси транзакций эквивалентен результату определенного их последовательного выполнения. В современных… Читать ещё >

Управление буферами оперативной памяти (реферат, курсовая, диплом, контрольная)

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

Управление транзакциями

Транзакция — это логическая единица работы, которая может объединять несколько команд языка запросов SQL одного пользователя в виде последовательности операций над БД, рассматриваемых СУБД как единое целое. В соответствии со стандартом ANSI ISO транзакция начинается с первой выполняемой команды пользователя. Транзакция либо успешно выполняется, и СУБД фиксирует (COMMIT) изменения БД, произведенные этой транзакцией, во внешней памяти, либо при сбое транзакции БД возвращается в состояние до начала выполнения сбойной транзакции (ROLLBACK), ни одно из изменений, вызванных сбойной транзакцией, никак не отражается на состоянии БД.

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

Для длинных транзакций, которые содержат много команд SQL, можно установить промежуточные маркеры, называемыми точками сохранения (SAVEPOINT). Это позволяет произвести, в случае необходимости, откат транзакции не до начала ее выполнения, а к объявленной ранее точке сохранения.

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

Показать весь текст
Заполнить форму текущей работой