Главная страница

Лекции и практики (1). Курс лекций и материалы для практических занятий


Скачать 1.01 Mb.
НазваниеКурс лекций и материалы для практических занятий
Дата17.03.2023
Размер1.01 Mb.
Формат файлаdocx
Имя файлаЛекции и практики (1).docx
ТипКурс лекций
#996812
страница33 из 75
1   ...   29   30   31   32   33   34   35   36   ...   75

Временные отметки


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

Временная отметка – это уникальный идентификатор, который СУБД со- здаёт для обозначения относительного момента запуска транзакции. Временная отметка может быть создана с помощью системных часов или путём присвое- ния каждой следующей транзакции очередного номера (SCN – system change number). Каждая транзакция Тiимеет временную отметку ti, и каждый элемент данных в БД (запись или блок) имеет две отметки: tread(x) – временная отметка транзакции, которая последней считала элемент x, и twrite(x) – временная отмет- ка транзакции, которая последней записала элемент x.

При выполнении транзакции Тiсистема сравнивает отметку tiи отметки

tread(x)и twrite(x)элемента xдля обнаружения конфликтов:

  1. для читающей транзакции Тi: если ti < twrite(x), то элемент данных х перезапи- сан более поздней транзакцией, и его значение может оказаться несогласо- ванным с теми данными, которые эта транзакция уже успела прочитать.

  2. для пишущей транзакции:

  • если ti < tread(x), то элемент данных х считан более поздней транзакцией. Ес- ли транзакция Т изменит значение элемента х, то в другой транзакции может возникнуть ошибка.

  • если ti < twrite(x), то элемент хперезаписан более поздней транзакцией, и транзакция Тпытается поместить в БД устаревшее значение элемента х.

Во всех случаях обнаружения конфликта система перезапускает текущую тран- закцию Тiс более поздней временной отметкой. Если конфликта нет, то тран- закция выполняется. Очевидно следующее: если разные транзакции часто об- ращаются к одним и тем же данным одновременно, то транзакции часто будут перезапускаться, и эффективность такого механизма будет невелика.
    1. Многовариантность


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

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

При использовании алгоритма многовариантности каждый блок данных хранит номер последней транзакции, которая модифицировала данные, храня- щиеся в этом блоке (SCN – system change number). И каждая транзакция имеет свой SCN. При чтении данных СУБД сравнивает номер транзакции и номер считываемого блока данных:

  • если блок данных не модифицировался с момента начала чтения, то данные считываются из этого блока;

  • если данные успели измениться, то система обратится к сегменту отката и считает оттуда значения данных, относящиеся к моменту начала чтения.

Недостатком этого метода является возможность возникновения ошибки при чтении данных, если старые значения данных в сегменте отката будут переза- писаны. При этом будет выдано сообщение об ошибке и операцию чтения при- дётся перезапускать вручную. Для устранения подобных проблем можно уве- личить размер сегмента отката или разбить одну большую операцию чтения на несколько (но при этом согласованность данных обеспечиваться не будет).
"Стыднонеуметьзащищатьсебярукою,ноещёболеестыдноне

уметьзащищатьсебя словом".

Аристотель, древнегреческий философ


Защита данных – это организационные, программные и технические ме- тоды и средства, направленные на удовлетворение ограничений, установ- ленных для типов данных или экземпляров типов данных в СОД [5].

Лекция 9. ЗАЩИТА ДАННЫХ В БАЗАХ ДАННЫХ
Защита данных включает предупреждение случайного или несанкциони- рованного доступа к данным, их изменения или разрушения со стороны пользо- вателей или при сбоях аппаратуры. Реализация защиты включает:

  • контроль достоверности данных с помощью ограничений целостности;

  • обеспечение безопасности данных (физической целостности данных);

  • обеспечение секретности данных.
    1. 1   ...   29   30   31   32   33   34   35   36   ...   75


написать администратору сайта