Понятие транзакции

Автор работы: Пользователь скрыл имя, 13 Февраля 2011 в 16:22, реферат

Описание работы

Управление транзакциями необходимо для поддержания логической целостности в БД. Поддержка транзакции является обязательной для любой СУБД, особенно для РИС. К транзакции предъявляется набор требований АСИД (расшифровка: атомарность – транзакция реализуется по принципу «все или ничего» - либо выполняются все действия и тогда транзакция фиксируется в БД. В случае сбоя, транзакция «откатывается» назад, т. е. не выполняется; согласованность – в результате выполнения транзакции система переходит из одного конкретного состояния в другое; изолированность – при выполнении транзакции, обрабатываемые ими данные не должны быть видны другим транзакциям, пока изменения не будут завершены; долговечность – если транзакция зафиксирована, ее результаты остаются навсегда).

Файлы: 1 файл

Понятие_транзакции.doc

— 67.00 Кб (Скачать файл)

Понятие транзакции

      Транзакция  – это законченная совокупность действий над базой данных, которая переводит ее из одного целостного состояния в другое.

      Управление  транзакциями необходимо для поддержания  логической целостности в БД. Поддержка  транзакции является обязательной для любой СУБД, особенно для РИС. К транзакции предъявляется набор требований АСИД (расшифровка: атомарность – транзакция реализуется по принципу «все или ничего» - либо выполняются все действия и тогда транзакция фиксируется в БД. В случае сбоя, транзакция «откатывается» назад, т. е. не выполняется; согласованность – в результате выполнения транзакции система переходит из одного конкретного состояния в другое; изолированность – при выполнении транзакции, обрабатываемые ими данные не должны быть видны другим транзакциям, пока изменения не будут завершены; долговечность – если транзакция зафиксирована, ее результаты остаются навсегда).

      По  типу транзакции бывают:

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

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

      - многозвенные транзакции позволяют  фиксировать часть выполненной  транзакции, возможность отката  при этом исключается. 

      Параллелизм – возникает при одновременном выполнении операций над БД любым числом пользователей.

      Первая  проблема – потеря обновлений –  запоминаются те обновления, которые  будут выполнены  последними.

      Вторая  проблема – преждевременное чтение – работа с данными, не зафиксированными в системе.

      Для разрешения проблем параллелизма в  РБД используется механизм блокировок. Блокировка заключается в запрещении операций над данными, если их обрабатывает другой пользователь. Используется правило  двухфазного блокирования – ни одна блокировка от имени какой либо транзакции не будет установлена, если не снята ранее установленная блокировка. Блокировки могут быть выполнены над БД, над совокупностью таблиц и над одной таблицей, над совокупностью записей, над одной записью, и над полем.

      Блокировки  бывают:

      - пессимистические, которые запрещают  доступ к данным, если какая  либо транзакция уже работает с ними.

      - оптимистические, которые разрешают параллельное выполнение транзакций, отслеживают возможные конфликты и устраняют их.

      При работе в распределенной среде доступ может быть монопольным и разделяемым. 

      Управление  распределенными  данными 

      В современных РИС информация может  храниться централизовано и децентрализовано.

      Централизовано  – проблемы идентичности представления  информации для всех пользователей не существует, т.к. внесенные изменения хранятся в одном месте. В распределенных БД информация может меняться в отдельных узлах сети, поэтому необходим контроль за всеми изменениями информации и предоставлении ее в достоверном виде всем пользователям.

      Существуют 2 технологии управления распределенными  ресурсами:

      - распределенные БД. Такая БД состоит  из нескольких фрагментов, размещенных  на разных узлах сети.

      

      Информация  о местоположении каждой из частей хранится в глобальном словаре данных.

      Достоинством  этой технологии является то, при децентрализованном хранении данных пользователи получают информацию с учетом последних изменений.

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

      

      В течении некоторого времени копии  БД могут отличаться друг от друга. Процесс обновления реплик, при котором  происходит передача обновляемых записей и согласование дублирующих записей, называется синхронизацией. Синхронизация бывает односторонняя и двусторонняя.  

      Виды  тиражирования бывают:

      - по моменту внесения изменений  реплики разделяют асинхронные  и синхронные. При асинхронном  тиражировании обновление всех копий может производиться не одновременно. Синхронное тиражирование выполняется только после успешной модификации всех копий.

      - реплики в РБД могут быть  равноправными и неравноправными.  В неравноправных репликах выделяют  основную, которой допускается корректировать все реплики, доступные только для чтения. В равноправной все реплики доступны для чтения и корректировки.

      - если инициатором тиражирования  вызывает компьютер-клиент, то такое  тиражирование называется обновлением  по запросу. Если инициатор – сервер, то это называется принудительная рассылка тиража.

      - обновление содержания реплик  выполняется копированием моментального  снимка БД. 
 

      Монитор транзакций 

      Монитор транзакций (МТ) – это программа, управляющая обменом данных между  клиентами и серверами. МТ обеспечивает создание единообразной вычислительной среды, соответствующей концепции управления бизнесом на основе создания единого информационного пространства. МТ выполняет следующие задачи:

      - управление маршрутизацией транзакций;

      - управление распределенными транзакциями  – МТ обеспечивает доступ к  данным, хранящимся в нескольких  и, возможно, разнородных СУБД;

      - уравновешивание нагрузки на  серверы – МТ позволяет равномерно  распределить клиентские запросы  по принципу перенаправления клиентских запросов на менее загруженный сервер. При необходимости, МТ может открыть новый серверный процесс;

      - мультиплексирование соединений  – в среде с большим количеством  пользователей иногда возникают  сложности их одновременного  подключения к СУБД. Во многих случаях, пользователю не требуется непрерывный доступ к СУБД. МТ устанавливает соединение с СУБД только до тех пор, пока происходит обмен данными;

      - повышение надежности – МТ  обеспечивает непротиворечивость  БД. В случае отказа СУБД, МТ  перенаправляет транзакцию в другую СУБД или хранит ее в памяти до тех пор, пока работа с СУБД не восстановится. МТ применяются в среде с очень большим объемом транзакций. 

      Обеспечение целостности РБД 

      Целостность – это актуальность и непротиворечивость БД, ее защищенность от разрушения и несанкционированного доступа. Для обеспечения целостности РБД может использоваться метод строгой и нестрогой целостности. Строгая гарантирует целостность данных в любой момент времени на основе двухфазного протокола фильтрации. Нестрогая допускает временную задержку между внесением изменений и их доставкой распределенным клиентам. Важнейшей задачей обеспечения целостности БД является их восстановление после разрушения. Для этой цели используется журнал изменений БД – это протокол, в котором в хронологическом порядке регистрируются исходные и обновленные состояния всех записей БД, измененных в процессе исполнения транзакций. 

      Способы защиты данных 

      При работе в многопользовательском  режиме для защиты от несанкционированного доступа используют:

      - шифрование БД;

      - скрытие объектов средствами  ОС;

      - использование пароля;

      - запрещение репликаций БД;

      - использование параметров запуска, при этом задается стартовая форма, которая автоматически открывается при загрузке БД. 

      Создание  и удаление пользователей 

      В распределенной среде большое значение приобретает понятие «пользователь  БД», то есть, владелец определенных объектов БД. Управление пользователями состоит из 3х этапов:

      - создание учетной записи пользователя  БД;

      - наделение пользователя привилегиями;

      - удаление учетной записи и  привилегий.

      Привилегия  – право пользователей на выполнение определенных операций над объектами  БД. Главной привилегией в БД является создание таблицы. 

 

       Организация доступа  к данным в технологии Клиент-Сервер 

      При создании РИС, в организации клиентской и серверной части требуется  решение следующих задач:

    1. Организация запросов к БД со стороны Клиента;
  1. Разработка клиентского приложения для удаленного доступа к БД со стороны Клиента;
  1. Перенос персональной БД на Сервер выполняется для обеспечения коллективного доступа к локальной БД путем преобразования данных к формату SQL Server. В Access для этого надо сделать: Сервис – Служебные – Преобразование в SQL-формат.
  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 системные  базы, в которых хранятся метаданные для управления всей системой:

Информация о работе Понятие транзакции