Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Захват и освобождение объекта
Для обеспечения сериализации транзакций применяются методы «захвата» и «освобождения» объектов, производимого по инициативе транзакции: транзакция «захватывает» объект, что приводит к его блокировке для других транзакций, и освобождает его только при своем завершении. При этом захваты объектов несколькими транзакциями на чтение совместимы (т.е. нескольким транзакциям разрешается читать один и тот же объект), захват объекта одной транзакцией на чтение не совместим с захватом другой транзакцией того же объекта на запись, и захваты одного объекта разными транзакциями на запись не совместимы. Тем самым, выделяются два основных режима захватов (слайд 9): 14) совместный режим - S (Shared), означающий разделяемый захват объекта и необходимый для выполнения операции чтения объекта; 15) монопольный режим - X (eXclusive), означающий монопольный захват объекта и необходимый для выполнения операций записи, удаления и модификации.
Наиболее распространенным в СУБД, основанных на архитектуре «клиент-сервер», является подход, реализующий соблюдение двухфазного протокола захватов объектов БД (слайд 10). В общих чертах протокол состоит в том, что перед выполнением любой операции над объектом базы данных от имени транзакции запрашивается захват объекта в соответствующем режиме (в зависимости от вида операции – совместном или монопольном). В соответствии с этим протоколом выполнение транзакции разбивается на две фазы: первая фаза транзакции - накопление захватов; вторая фаза (фиксация или откат) - освобождение захватов. При соблюдении двухфазного протокола основная проблема состоит в том, что следует считать объектом для захвата?
В контексте реляционных баз данных возможны следующие варианты (слайд 11): 16) файл - физический (с точки зрения базы данных) объект, область хранения нескольких отношений и, возможно, индексов; 17) таблица - логический объект, соответствующий множеству записей данного отношения; 18) страница данных - физический объект, хранящий записи одного или нескольких отношений, индексную или служебную информацию; 19) запись - элементарный физический объект базы данных. Очевидно, что чем крупнее объект захвата, тем меньше захватов будет поддерживаться в системе, и на это, соответственно, будут тратиться меньшие накладные расходы. Более того, если выбрать в качестве уровня объектов для захватов файл или отношение, то будет решена даже проблема строк-призраков. Однако, при использовании для захватов крупных объектов возрастает вероятность конфликтов транзакций и тем самым уменьшается допускаемая степень их параллельного выполнения. Фактически, при укрупнении объекта синхронизационного захвата мы умышленно огрубляем ситуацию и видим конфликты в тех ситуациях, когда на самом деле конфликтов нет.
Лекция 27 (DB _ l 27. ppt). Идентификация пользователей. Проверка и назначение полномочий и представлений данных пользователей. Защита базы данных. Контроль параллельной обработки. Обслуживание и восстановление базы данных. Источники отказов и сбоев. Резервное копирование данных. Процедуры восстановления
Для обеспечения эффективного контролируемого управления доступом к данным, целостности и сокращения избыточности хранимых данных большинство СУБД должны быть тесно связаны с операционной системой: многопользовательские приложения, обработка распределенных запросов, защита данных, использование многопроцессорных систем и мультипоточных технологий требуют использовать ресурсы, управление которыми обычно является функцией ОС. Соответственно, средства управления доступом и обеспечения защиты также обычно интегрируются с соответствующими средствами операционной системы. Напомним, что с точки зрения операционной системы база данных – это один или несколько обычных файлов ОС, доступ к данным которых осуществляется не напрямую, а через СУБД. При этом данные могут располагаться на машине-сервере, а СУБД обеспечивает корректную и эффективную их обработку из приложений, выполняющихся на машинах-клиентах. С другой стороны, в рамках СУБД, база данных – это логически структурированный набор объектов, связанных не только с хранением и обработкой прикладных данных, но и обеспечивающих целостность БД, управление доступом, представление данных и т.д. Например, в MS SQL Server база данных включает следующие объекты (слайд 2).
Кроме того, при создании базы данных для нее всегда определяется журнал транзакций, который используется для восстановления состояния базы данных в случае сбоев или потери данных. Журнал размещается в одном или нескольких файлах. В журнале регистрируются все транзакции и все изменения, произведенные в их рамках. Транзакция не считается завершенной, пока соответствующая запись не будет внесена в журнал.
Управление системой баз данных производится обычно с помощью нескольких сервисных программ – отдельных приложений, выполняемых в среде операционной системы. Рассмотрим основные функции и компоненты управления на примере сервера реляционных баз данных MS SQL Server. Большинство функций администрирования, таких как создание, удаление или редактирование объектов БД в SQL Server можно проводить тремя способами: при помощи специализированных диалоговых «мастеров», средствами Enterprise Manager или командами языка T-SQL (надмножество языка SQL-92, включающее дополнительные функции, операторы условия и цикла, хранимые процедуры и т.д.), выполняемым из приложения или, например, из утилиты Query Analizer. Большая часть функций администрирования работы пользователей, серверов и баз данных сосредоточена в приложении SQL Server Enterprise Manager, которое позволяет осуществлять, в том числе, следующие функции (слайд 3).
Планирование БД Использование концепции файлов и файловых групп для физического размещения хранимых данных упрощает управление базами данных и дисковой памятью, а также обеспечивает гибкость при размещении конкретных объектов на устройстве или устройствах. Причем в этом случае обеспечивается реальное распределение данных между всеми входящими в группу файлами (отдельными дисковыми устройствами или RAID-массивами): дисковые устройства действительно одновременно, ане поочередно будут заполняться поступающими данными, поскольку данные будут пропорционально «чередоваться» по файлам группы (слайд 4). Для повышения производительности системы в ряде случаев может использоваться индекс - отдельная физическая структура в базе данных, создаваемая на основе таблицы и предназначенная для ускорения выборки данных, поиск которых осуществляется по значению из проиндексированного столбца. Кроме того, индексы используются для обеспечения уникальности строк и столбцов таблиц, упорядочения данных таблицы в отдельном файле или группе файлов для повышения скорости доступа. Однако наличие индекса замедляет такие операции с таблицей, как вставка, обновление и удаление данных: индексы являются динамически поддерживаемыми структурами, т.е. при вставке, удалении или обновлении данных информация в индексах также должна быть изменена для отражения выполненных в таблице изменений. Для такой обработки требуются дополнительные операции ввода-вывода.
Кластерный индекс представляет собой двоичное дерево, в котором на нулевом уровне (уровне листьев) содержатся страницы актуальных данных таблицы, а физическое расположение информации в данном индексе логически упорядочено. Такое размещение данных позволяет сократить время доступа к данным, но только при отборе по этому индексу. В других случаях это приводит к задержкам, т.к. доступ данным осуществляется только через индекс и доступ начинается всегда с корня.
Для отдельной таблицы можно построить только один кластерный индекс (слайд 5).
В случае некластерных индексов страницы уровня листа содержат не текущие данные таблицы (как в случае кластерного индекса), а указатель на строкуданных, включающий номер страницы данных и порядковый номер записи на станице. Некластерный индекс позволяет быстро получить доступ к данным и не требует физического переупорядочения строк данных таблицы.
27.2. Управление доступом (слайд 6) Система безопасности SQL Server имеет несколько уровней безопасности: - Операционная система; - SQL Server; - База данных; - Объект базы данных.
С другой стороны механизм безопасности предполагает существование четырех типов пользователей: - системный администратор, имеющий неограниченный доступ; - владелец БД, имеющий полный доступ ко всем объектам БД; - владелец объектов БД; - другие пользователи, которые должны получать разрешение на доступ к объектам БД.
Модель безопасности SQL Server включает следующие компоненты (слайд 7): - Тип подключения к SQL Server; - Пользователь базы данных; - Пользователь guest; - Роли (roles).
|
|||||||
Последнее изменение этой страницы: 2021-12-07; просмотров: 82; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.111.24 (0.01 с.) |