Автор работы: Пользователь скрыл имя, 13 Февраля 2011 в 16:22, реферат
Управление транзакциями необходимо для поддержания логической целостности в БД. Поддержка транзакции является обязательной для любой СУБД, особенно для РИС. К транзакции предъявляется набор требований АСИД (расшифровка: атомарность – транзакция реализуется по принципу «все или ничего» - либо выполняются все действия и тогда транзакция фиксируется в БД. В случае сбоя, транзакция «откатывается» назад, т. е. не выполняется; согласованность – в результате выполнения транзакции система переходит из одного конкретного состояния в другое; изолированность – при выполнении транзакции, обрабатываемые ими данные не должны быть видны другим транзакциям, пока изменения не будут завершены; долговечность – если транзакция зафиксирована, ее результаты остаются навсегда).
Понятие транзакции
Транзакция – это законченная совокупность действий над базой данных, которая переводит ее из одного целостного состояния в другое.
Управление транзакциями необходимо для поддержания логической целостности в БД. Поддержка транзакции является обязательной для любой СУБД, особенно для РИС. К транзакции предъявляется набор требований АСИД (расшифровка: атомарность – транзакция реализуется по принципу «все или ничего» - либо выполняются все действия и тогда транзакция фиксируется в БД. В случае сбоя, транзакция «откатывается» назад, т. е. не выполняется; согласованность – в результате выполнения транзакции система переходит из одного конкретного состояния в другое; изолированность – при выполнении транзакции, обрабатываемые ими данные не должны быть видны другим транзакциям, пока изменения не будут завершены; долговечность – если транзакция зафиксирована, ее результаты остаются навсегда).
По типу транзакции бывают:
- плоская – согласно ее правилам, в распределенной БД должны успешно завершаться все компоненты глобальной транзакции. Если неудачей завершилось изменение хотябы одной удаленной БД, вся глобальная транзакция отменяется, и ее надо выполнить заново.
-
контрольная точка – является
модификацией плоской
-
многозвенные транзакции
Параллелизм – возникает при одновременном выполнении операций над БД любым числом пользователей.
Первая проблема – потеря обновлений – запоминаются те обновления, которые будут выполнены последними.
Вторая проблема – преждевременное чтение – работа с данными, не зафиксированными в системе.
Для разрешения проблем параллелизма в РБД используется механизм блокировок. Блокировка заключается в запрещении операций над данными, если их обрабатывает другой пользователь. Используется правило двухфазного блокирования – ни одна блокировка от имени какой либо транзакции не будет установлена, если не снята ранее установленная блокировка. Блокировки могут быть выполнены над БД, над совокупностью таблиц и над одной таблицей, над совокупностью записей, над одной записью, и над полем.
Блокировки бывают:
- пессимистические, которые запрещают доступ к данным, если какая либо транзакция уже работает с ними.
- оптимистические, которые разрешают параллельное выполнение транзакций, отслеживают возможные конфликты и устраняют их.
При
работе в распределенной среде доступ
может быть монопольным и разделяемым.
Управление
распределенными
данными
В современных РИС информация может храниться централизовано и децентрализовано.
Централизовано – проблемы идентичности представления информации для всех пользователей не существует, т.к. внесенные изменения хранятся в одном месте. В распределенных БД информация может меняться в отдельных узлах сети, поэтому необходим контроль за всеми изменениями информации и предоставлении ее в достоверном виде всем пользователям.
Существуют 2 технологии управления распределенными ресурсами:
- распределенные БД. Такая БД состоит из нескольких фрагментов, размещенных на разных узлах сети.
Информация о местоположении каждой из частей хранится в глобальном словаре данных.
Достоинством этой технологии является то, при децентрализованном хранении данных пользователи получают информацию с учетом последних изменений.
- тиражирование данных – она обеспечивает поддержку копий всей БД в узлах сети. Копии БД, которые в последствии могут быть синхронизированы, называются репликой.
В
течении некоторого времени копии
БД могут отличаться друг от друга.
Процесс обновления реплик, при котором
происходит передача обновляемых записей
и согласование дублирующих записей, называется
синхронизацией. Синхронизация бывает
односторонняя и двусторонняя.
Виды тиражирования бывают:
- по моменту внесения изменений реплики разделяют асинхронные и синхронные. При асинхронном тиражировании обновление всех копий может производиться не одновременно. Синхронное тиражирование выполняется только после успешной модификации всех копий.
-
реплики в РБД могут быть
равноправными и
-
если инициатором
-
обновление содержания реплик
выполняется копированием
Монитор
транзакций
Монитор транзакций (МТ) – это программа, управляющая обменом данных между клиентами и серверами. МТ обеспечивает создание единообразной вычислительной среды, соответствующей концепции управления бизнесом на основе создания единого информационного пространства. МТ выполняет следующие задачи:
-
управление маршрутизацией
-
управление распределенными
-
уравновешивание нагрузки на
серверы – МТ позволяет
-
мультиплексирование
-
повышение надежности – МТ
обеспечивает
Обеспечение
целостности РБД
Целостность
– это актуальность и непротиворечивость
БД, ее защищенность от разрушения и несанкционированного
доступа. Для обеспечения целостности
РБД может использоваться метод строгой
и нестрогой целостности. Строгая гарантирует
целостность данных в любой момент времени
на основе двухфазного протокола фильтрации.
Нестрогая допускает временную задержку
между внесением изменений и их доставкой
распределенным клиентам. Важнейшей задачей
обеспечения целостности БД является
их восстановление после разрушения. Для
этой цели используется журнал изменений
БД – это протокол, в котором в хронологическом
порядке регистрируются исходные и обновленные
состояния всех записей БД, измененных
в процессе исполнения транзакций.
Способы
защиты данных
При работе в многопользовательском режиме для защиты от несанкционированного доступа используют:
- шифрование БД;
- скрытие объектов средствами ОС;
- использование пароля;
- запрещение репликаций БД;
-
использование параметров
Создание
и удаление пользователей
В
распределенной среде большое значение
приобретает понятие «
-
создание учетной записи
-
наделение пользователя
- удаление учетной записи и привилегий.
Привилегия
– право пользователей на выполнение
определенных операций над объектами
БД. Главной привилегией в БД является
создание таблицы.
Организация доступа
к данным в технологии
Клиент-Сервер
При создании РИС, в организации клиентской и серверной части требуется решение следующих задач:
Унифицированный механизм работы с данными представляет собой программную прослойку, к которой относится: ODBC, OLE DB, ADO, BDE, dbExpress и др.
ODBC – стандарт системы интерфейсов для доступа к данным БД. Он имеет структуру:
Диспетчер драйверов служит связующим звеном между приложением и драйверами СУБД. На этапе соединения с БД диспетчер определяет тип СУБД и загружает в память соответствующий драйвер. Диспетчер также контролирует формат запросов и порядок их поступления. Диспетчер драйверов является частью Windows. Он также позволяет выполнять реконструкцию и преобразование данных, перекачивать данные между различными базами и т.д.
OLE DB – это низкоуровневый интерфейс, обеспечивающий доступ к различным данным – реляционным и нереляционным, к файлам с текстом и графикой, к файлам электронной почты и т.д.
OLE DB – это DLL-библиотеки, которые обеспечивают универсальный доступ к данным. OLE DB-технология разбивает все функции СУБД на отдельные фрагменты – COM-объекты. Некоторые из них отвечают за выполнение запросов. Другие за обновление данных и т.д. и каждая такая функция реализуется отдельным сервисом.
Приложение, использующее OLE DB, является потребителем. Провайдер данных владеет данными. Физически – он это таблица и обслуживает принятие запросов, выбор данных, их обновление, передачу результатов потребителю. Провайдер сервисов управляет транзакциями и может работать с данными минуя провайдер данных.
ADO (ActiveX Data Objects) – высокоуровневая объектная надстройка над OLE DB. ADO может работать с любым провайдером OLE DB по следующей схеме:
Обзор
возможностей MS SQL Server
Это СУБД, обеспечивающая создание ИС с архитектурой Клиент-Сервер, в которой она играет роль сервера. Эта СУБД поддерживает тиражирование данных, коллективный доступ, создание и обработку больших БД на не дорогих аппаратных платформах, работает под управлением OS Windows любой версии.
В состав MS SQL Server входит:
1.
БД, представляющая собой
2. Таблицы – это набор полей и записей. Бывают постоянные и временные.
3. Журнал транзакций, в котором регистрируется информация до и после транзакции.
При установке Сервера создается 4 системные базы, в которых хранятся метаданные для управления всей системой: