Лекция "Понятие транзакции. Ее роль в организации работы БД."
Оценка 4.7
Лекции
docx
информатика
Взрослым
11.03.2017
Транзакция – это законченная совокупность действий над базой данных, которая переводит ее из одного целостного состояния в другое.
Управление транзакциями необходимо для поддержания логической целостности в БД. Поддержка транзакции является обязательной для любой СУБД, особенно для РИС. К транзакции предъявляется набор требований АСИД (расшифровка: атомарность – транзакция реализуется по принципу «все или ничего» - либо выполняются все действия и тогда транзакция фиксируется в БД. В случае сбоя, транзакция «откатывается» назад, т. е. не выполняется; согласованность – в результате выполнения транзакции система переходит из одного конкретного состояния в другое; изолированность – при выполнении транзакции, обрабатываемые ими данные не должны быть видны другим транзакциям, пока изменения не будут завершены; долговечность – если транзакция зафиксирована, ее результаты остаются навсегда).
билет 14 тема 3.docx
билет 14 тема 3
Понятие транзакции. Ее роль в организации работы БД.
Транзакция – это законченная совокупность действий над базой данных, которая переводит ее из одного
целостного состояния в другое.
Управление транзакциями необходимо для поддержания логической целостности в БД. Поддержка
транзакции является обязательной для любой СУБД, особенно для РИС. К транзакции предъявляется
набор требований АСИД (расшифровка: атомарность – транзакция реализуется по принципу «все или
ничего» либо выполняются все действия и тогда транзакция фиксируется в БД. В случае сбоя,
транзакция «откатывается» назад, т. е. не выполняется; согласованность – в результате выполнения
транзакции система переходит из одного конкретного состояния в другое; изолированность – при
выполнении транзакции, обрабатываемые ими данные не должны быть видны другим транзакциям, пока
изменения не будут завершены; долговечность – если транзакция зафиксирована, ее результаты остаются
навсегда).
По типу транзакции бывают:
плоская – согласно ее правилам, в распределенной БД должны успешно завершаться все компоненты
глобальной транзакции. Если неудачей завершилось изменение хотябы одной удаленной БД, вся
глобальная транзакция отменяется, и ее надо выполнить заново.
контрольная точка – является модификацией плоской транзакции. Они устанавливаются в прикладной
программе, чтобы отметить моменты, в которых транзакцию можно повторить. Откат транзакции
возможен для любой контрольной точки.
многозвенные транзакции позволяют фиксировать часть выполненной транзакции, возможность отката
при этом исключается.
Параллелизм – возникает при одновременном выполнении операций над БД любым числом пользователей.
Первая проблема – потеря обновлений – запоминаются те обновления, которые будут выполнены
последними.
Вторая проблема – преждевременное чтение – работа с данными, не зафиксированными в системе.
Для разрешения проблем параллелизма в РБД используется механизм блокировок. Блокировка
заключается в запрещении операций над данными, если их обрабатывает другой пользователь.
Используется правило двухфазного блокирования – ни одна блокировка от имени какой либо транзакции
не будет установлена, если не снята ранее установленная блокировка. Блокировки могут быть выполнены
над БД, над совокупностью таблиц и над одной таблицей, над совокупностью записей, над одной записью,
и над полем.
Блокировки бывают:
пессимистические, которые запрещают доступ к данным, если какая либо транзакция уже работает с
ними.
оптимистические, которые разрешают параллельное выполнение транзакций, отслеживают возможные
конфликты и устраняют их.
При работе в распределенной среде доступ может быть монопольным и разделяемым.
Управление распределенными данными
В современных РИС информация может храниться централизовано и децентрализовано.
Централизовано – проблемы идентичности представления информации для всех пользователей не
существует, т.к. внесенные изменения хранятся в одном месте. В распределенных БД информация может
меняться в отдельных узлах сети, поэтому необходим контроль за всеми изменениями информации и
предоставлении ее в достоверном виде всем пользователям.
Существуют 2 технологии управления распределенными ресурсами:
распределенные БД. Такая БД состоит из нескольких фрагментов, размещенных на разных узлах сети. Информация о местоположении каждой из частей хранится в глобальном словаре данных.
Достоинством этой технологии является то, при децентрализованном хранении данных пользователи
получают информацию с учетом последних изменений.
тиражирование данных – она обеспечивает поддержку копий всей БД в узлах сети. Копии БД, которые в
последствии могут быть синхронизированы, называются репликой.
В течении некоторого времени копии БД могут отличаться друг от друга. Процесс обновления реплик,
при котором происходит передача обновляемых записей и согласование дублирующих записей, называется
синхронизацией. Синхронизация бывает односторонняя и двусторонняя.
Виды тиражирования бывают:
по моменту внесения изменений реплики разделяют асинхронные и синхронные. При асинхронном
тиражировании обновление всех копий может производиться не одновременно. Синхронное
тиражирование выполняется только после успешной модификации всех копий.
реплики в РБД могут быть равноправными и неравноправными. В неравноправных репликах выделяют
основную, которой допускается корректировать все реплики, доступные только для чтения. В
равноправной все реплики доступны для чтения и корректировки.
если инициатором тиражирования вызывает компьютерклиент, то такое тиражирование называется
обновлением по запросу. Если инициатор – сервер, то это называется принудительная рассылка тиража.
обновление содержания реплик выполняется копированием моментального снимка БД.
Монитор транзакций
Монитор транзакций (МТ) – это программа, управляющая обменом данных между клиентами и серверами.
МТ обеспечивает создание единообразной вычислительной среды, соответствующей концепции
управления бизнесом на основе создания единого информационного пространства. МТ выполняет
следующие задачи:
управление маршрутизацией транзакций;
управление распределенными транзакциями – МТ обеспечивает доступ к данным, хранящимся в
нескольких и, возможно, разнородных СУБД;
уравновешивание нагрузки на серверы – МТ позволяет равномерно распределить клиентские запросы по
принципу перенаправления клиентских запросов на менее загруженный сервер. При необходимости, МТ
может открыть новый серверный процесс;
мультиплексирование соединений – в среде с большим количеством пользователей иногда возникают
сложности их одновременного подключения к СУБД. Во многих случаях, пользователю не требуется
непрерывный доступ к СУБД. МТ устанавливает соединение с СУБД только до тех пор, пока происходит
обмен данными;
повышение надежности – МТ обеспечивает непротиворечивость БД. В случае отказа СУБД, МТ
перенаправляет транзакцию в другую СУБД или хранит ее в памяти до тех пор, пока работа с СУБД не
восстановится. МТ применяются в среде с очень большим объемом транзакций.
Обеспечение целостности РБД
Целостность – это актуальность и непротиворечивость БД, ее защищенность от разрушения и
несанкционированного доступа. Для обеспечения целостности РБД может использоваться метод строгой и
нестрогой целостности. Строгая гарантирует целостность данных в любой момент времени на основе
двухфазного протокола фильтрации. Нестрогая допускает временную задержку между внесением
изменений и их доставкой распределенным клиентам. Важнейшей задачей обеспечения целостности БД
является их восстановление после разрушения. Для этой цели используется журнал изменений БД – это
протокол, в котором в хронологическом порядке регистрируются исходные и обновленные состояния всех записей БД, измененных в процессе исполнения транзакций.
Способы защиты данных
При работе в многопользовательском режиме для защиты от несанкционированного доступа используют:
шифрование БД;
скрытие объектов средствами ОС;
использование пароля;
запрещение репликаций БД;
использование параметров запуска, при этом задается стартовая форма, которая автоматически
открывается при загрузке БД.
Создание и удаление пользователей
В распределенной среде большое значение приобретает понятие «пользователь БД», то есть, владелец
определенных объектов БД. Управление пользователями состоит из 3х этапов:
создание учетной записи пользователя БД;
наделение пользователя привилегиями;
удаление учетной записи и привилегий.
Привилегия – право пользователей на выполнение определенных операций над объектами БД. Главной
привилегией в БД является создание таблицы.
Организация доступа к данным в технологии КлиентСервер
При создании РИС, в организации клиентской и серверной части требуется решение следующих задач:
1. Организация запросов к БД со стороны Клиента;
2. Разработка клиентского приложения для удаленного доступа к БД со стороны Клиента;
3. Перенос персональной БД на Сервер выполняется для обеспечения коллективного доступа к
локальной БД путем преобразования данных к формату SQL Server. В Access для этого надо сделать:
Сервис – Служебные – Преобразование в SQLформат.
4. Технологией доступа к данным называется система интерфейсов, обеспечивающая взаимодействие
между клиентским приложением и БД на любом типе сервера.
Унифицированный механизм работы с данными представляет собой программную прослойку, к которой
относится: 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 системные базы, в которых хранятся метаданные для управления всей
системой:
Master – управляет пользовательскими базами и содержит учетные записи пользователей, сведения о
системных ошибках и БД на сервере, сведения о блокировках, доступных и резервных устройствах БД и
т.д. (обязательно создавать резервную копию).
Model – шаблоны баз данных, создаваемых на сервере. Содержат пользовательские типы данных (21),
значения по умолчанию, правила проверки ввода данных и т.д.
Tempdb – служит для размещения на диске различных временных объектов.
MSdb – это базапланировщик задач SQL Server’а. здесь находится каталог БД.
Управление распределенными данными в MS SQL Server выполняется следующими службами:
1. MSSQLSERVER – это ядро системы. В ее задачи входит: регистрация пользователей,
контроль их прав доступа, установление соединения и обслуживание пользователей, выполнение хранимых
процедур, работа с файлами БД, выполнение транзакций и ведение журнала транзакций, контроль за
использованием системных ресурсов, распараллеливание пользовательских запросов между доступными
процессами.
2. SQLServerAgent – эта служба предназначена для автоматизации администрирования
работы с удаленными БД.
3. MS “FullTextSearch” – полнотекстовый поиск. Используется для поиска символьной
информации.
4. MSDTC (Microsoft Distribution Transaction Coordinator) – позволяет пользователям
одновременно работать с несколькими источниками данных и реализует выполнение распределенных
транзакций.
WEBтехнологии в РСОИ
Интернет представляет собой совокупность взаимосвязанных компьютерных сетей мирового масштаба.
Для обеспечения взаимодействия этих сетей в 1982 году был принят стандартный протокол связи TCP\IP.
TCP обеспечивает бесперебойную доставку пакетов сообщений с одного компьютера другому, а протокол
IP управляет передачей и приемом пакетов на основе 4 х байтового адреса назначения. Термин TCP\IP
применяют к семейству протоколов, работающих на основе TCP/IP. К ним относятся FTP, SMTP, POP,
TelNet, DNS. Наиболее популярной является служба www.
Лекция "Понятие транзакции. Ее роль в организации работы БД."
Лекция "Понятие транзакции. Ее роль в организации работы БД."
Лекция "Понятие транзакции. Ее роль в организации работы БД."
Лекция "Понятие транзакции. Ее роль в организации работы БД."
Лекция "Понятие транзакции. Ее роль в организации работы БД."
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.