Обеспечение надежности хранения данных в БД — КиберПедия 

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Обеспечение надежности хранения данных в БД

2020-04-01 201
Обеспечение надежности хранения данных в БД 0.00 из 5.00 0 оценок
Заказать работу

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

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

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

Поддержка языков управления БД. Для работы с базами данных

используются специальные языки, называемые языками баз данных. Первоначально в СУБД поддерживалось несколько специализированных по функциям языков. В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД, начиная от ее создания, и обеспечивающий базовый пользовательский интерфейс с базами данных. Стандартным языком наиболее распространенных в настоящее время реляционных СУБД является язык SQL (Structured Query Language). Язык SQL позволяет определять схему реляционной БД и манипулировать данными. При этом именование объектов БД (таблиц и их столбцов) поддерживается на языковом уровне в том смысле, что компилятор языка SQL производит преобразование имен объектов в их внутренние идентификаторы на основании специально поддерживаемых служебных таблиц-каталогов.

Внутренняя часть СУБД (ядро) вообще не работает с именами таблиц и их столбцов.

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

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

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

пользователь должен обладать различными правами доступа к БД. Пользователь, создавший таблицу БД, обладает полным набором прав для работы с этой таблицей, в том числе правом разрешения доступа другим пользователям. Контроль прав доступа поддерживается на уровне языка.

 

 


Поделиться с друзьями:

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.006 с.