Please enable JavaScript.
Coggle requires JavaScript to display documents.
Механизмы среды хранения и архитектура СУБД (Основные функции СУБД…
Механизмы среды хранения и архитектура СУБД
2 группы ресурсов
Хранимые данные
Пространство памяти
Механизмы среды хранения выполняют следующие операции
При запоминании нового объекта
определение места размещения нового объекта "физической" БД в пространстве памяти
выделение необходимого ресурса памяти
запоминание этого объекта
формирование связей с другими объектами
При поиске объекта
поиск места размещения объекта в пространстве памяти по заданным атрибутам или "адресу"
выборка объектов для обработки
При удалении объекта
удаление объекта с освобождением памяти (физическое удаление) или без освобождения (логическое удаление)
разрушение связей с другими объектами
Структура хранимых данных
Хранимая запись
Служебная часть
Информационная часть
ключом базы данных (КБД)
Механизмы размещения данных и доступа к данным
Способы
Последовательная обработка области БД
Доступ по ключу базы данных (КБД)
Доступ по структуре
Доступ по первичному ключу
Хеширование
Хеширование таблицы полезно в следующих случаях
Большинство запросов обращаются по значению уникального ключа, например
Таблица практически статична (редко обновляется) Число строк и требуемое физическое пространство можно определить заранее и зафиксировать. Если впоследствии таблица вырастет и придётся отводить ей дополнительные блоки, это может сильно ухудшить производительность
Хеширование не рекомендуется в следующих случаях
Большинство запросов выбирают строки в некотором интервале. Хеширование не даёт здесь преимуществ, т.к. строки не упорядочены (в отличие от индекса)
Таблица быстро меняется и постоянно растёт
Большинство запросов просматривают таблицу целиком
Нельзя заранее выделить столько пространства памяти, сколько потребуется таблице в будущем
Принцип организации кластеров
Кластер – это структура памяти, в которой хранится набор таблиц
Два основных преимущества кластеров
Уменьшается обмен с диском, улучшается время доступа к кластеризованным таблицам и их соединение
Значение кластерного ключа хранится только один раз для кластера вне зависимости от того, сколько строк различных таблиц имеют это значение кластерного ключа, за счёт чего достигается экономия памяти
Не следует создавать кластер
если данные в кластерном ключе этих таблиц часто обновляются
если часто требуется полный просмотр отдельной таблицы
если суммарные данные таблиц с одним и тем же значением кластерного ключа занимают больше одного блока данных
Кластерный ключ – это столбец или набор столбцов (полей записи), общих для кластеризуемых таблиц
Организация параллельного доступа к данным
Транзакция – это последовательность операторов обработки данных, которая рассматривается как логически неделимая единица работы с базой данных
Свойства транзакции
Логическая неделимость
Согласованность
Изолированность
Продолжительность
Операторы транзакции
фиксация транзакции: COMMIT [WORK]
откат транзакции: ROLLBACK [WORK]
точка сохранения: SAVEPOINT <имя
точки
сохранения>
Фиксация транзакции
Изменения, внесённые транзакцией, делаются постоянными
Уничтожаются все точки сохранения для данной транзакции
Завершается транзакция (уничтожаются системные записи о транзакции в оперативной памяти)
Если выполнение транзакций осуществляется с помощью блокировок, то освобождаются объекты, заблокированные транзакцией
Откат
Контрольная точка
Обеспечение защиты данных
Защита включает в себя две основные функции
обеспечение безопасности данных
обеспечение секретности данных
Резервное копирование
Журнал транзакций
Парольная идентификация
Основные функции СУБД
управление данными во внешней памяти
управление буферами оперативной памяти
управление транзакциями
журнализация и восстановление БД после сбоев
поддержание языков БД
Типовая организация современной СУБД
внутреннюю часть - ядро СУБД
компилятор языка БД
подсистему поддержки времени выполнения
набор утилит