Менеджер транзакций

Менеджер памяти

Утилиты

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

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

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

1. Менеджер файлов контролирует расположение файлов на диске и получает блок или блоки, содержащие файлы, по запросу менеджера буфера. (Напоминаем, что диск в общем случае делится на дисковые блоки смежные области памяти, содержащие большое число байтов, возможно 502512 или 25 140 (от 4000 до 16 000 байт)).

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

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

Часто система БД допускает параллельную поддержку множества транзакций (например, что-то может происходить на нескольких банкоматах одновременно). Гарантировать правильное выполнение всех таких транзакций — задача компонента СУБД, называемого менеджером транзакций.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: