Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Управления транзакциями3 1

Работа добавлена на сайт samzan.net:


   Оглавление

1. Управления транзакциями 3

     1.2  SQL-выражения для управления транзакциями 3

     1.3   Запуск транзакции 3

     1.4 Завершение транзакции 5

2. Типы параллелизма 5

3 Кэширование памяти 7

  1.  Управления транзакциями 

Все операции, выполняемые с данными на SQL сервере, происходят в контексте транзакций. Транзакция - это групповая операция, т.е. набор действий с базой данных; самым существенным для этих действий является правило либо все, либо ни чего. Если во время выполнения данного набора действий, на каком-то этапе невозможно произвести очередное действие, то нужно выполнить возврат базы данных к начальному состоянию (произвести откат транзакции). Таким образом (при правильном планировании транзакций), обеспечивается целостность базы данных. В данном уроке объясняется, как начинать, управлять и завершать транзакции с помощью SQL выражений. А так же рассматривается вопрос об использовании транзакций в приложениях, созданных в Delphi. Вся приведенная информация касается InterBase.

1.2  SQL-выражения для управления транзакциями

Для управления транзакциями имеется три выражения:

SET TRANSACTION - Начинает транзакцию и определяет ее поведение.

COMMIT - Сохраняет изменения, внесенные транзакцией, в базе данных и завершает транзакцию.

ROLLBACK - Отменяет изменения, внесенные транзакцией, и завершает транзакцию.

1.3   Запуск транзакции

Выполнять транзакции можно, например, из Windows Interactive SQL, из программы, из сохраненной процедуры или триггера. В общем виде, синтаксис команды SQL для запуска транзакции:

SET TRANSACTION [Access mode] [Lock Resolution]

[Isolation Level] [Table Reservation]

Значения, принимаемые по-умолчанию:
выражение

SET TRANSACTION

равносильно выражению

SET TRANSACTION READ WRITE WAIT ISOLATION LEVEL SNAPSHOT

Access Mode - определяет тип доступа к данным. Может принимать два значения:

  1.  READ ONLY - указывает, что транзакция может только читать данные и не может модифицировать их.
  2.  READ WRITE - указывает, что транзакция может читать и модифицировать данные. Это значение принимается по умолчанию.

Пример:

SET TRANSACTION READ WRITE

Isolation Level - определяет порядок взаимодействия данной транзакции с другими в данной базе. Может принимать значения:

  1.  SNAPSHOT - значение по умолчанию. Внутри транзакции будут доступны данные в том состоянии, в котором они находились на момент начала транзакции. Если по ходу дела в базе данных появились изменения, внесенные другими завершенными транзакциями, то данная транзакция их не увидит. При попытке модифицировать такие записи возникнет сообщение о конфликте.
  2.  SNAPSHOT TABLE STABILITY - предоставляет транзакции исключительный доступ к таблицам, которые она использует. Другие транзакции смогут только читать данные из них.
  3.  READ COMMITTED - позволяет транзакции видеть текущее состояние базы.

Конфликты, связанные с блокировкой записей происходят в двух случаях:

  1.  Транзакция пытается модифицировать запись, которая была изменена или удалена уже после ее старта. Транзакция типа READ COMMITTED может вносить изменения в записи, модифицированные другими транзакциями после их завершения.
  2.  Транзакция пытается модифицировать таблицу, которая заблокирована другой транзакцией типа SNAPSHOT TABLE STABILITY.

Lock Resolution - определяет ход событий при обнаружении конфликта блокировки. Может принимать два значения:

  1.  WAIT - значение по умолчанию. Ожидает разблокировки требуемой записи. После этого пытается продолжить работу.
  2.  NO WAIT - немедленно возвращает ошибку блокировки записи.

Table Reservation - позволяет транзакции получить гарантированный доступ необходимого уровня к указанным таблицам. Существует четыре уровня доступа:

  1.  PROTECTED READ - запрещает обновление таблицы другими транзакциями, но позволяет им выбирать данные из таблицы.
  2.  PROTECTED WRITE - запрещает обновление таблицы другими транзакциями, читать данные из таблицы могут только транзакции типа SNAPSHOT или READ COMMITTED.
  3.  SHARED READ - самый либеральный уровень. Читать могут все, модифицировать - транзакции READ WRITE.
  4.  SHARED WRITE - транзакции SNAPSHOT или READ COMMITTED READ WRITE могут модифицировать таблицу, остальные - только выбирать данные.

1.4 Завершение транзакции

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

  1.  COMMIT - сохраняет внесенные транзакцией изменения в базу данных. Это означает, что транзакция завершена успешно.
  2.  ROLLBACK - откат транзакции. Транзакция завершается и никаких изменений в базу данных не вносится. Данная операция выполняется при возникновении ошибки при выполнении операции (например, при невозможности обновить запись).

 2. Типы параллелизма


Говорят, что задача обладает естественным параллелизмом, если она сводится к операциям над многомерными векторами или над матрицами либо другими аналогичными объектами (например, решетчатыми функциями).  

     Каждый из этих объектов может быть представлен совокупностью чисел, над соответствующими парами которых выполняются идентичные операции. Например, сложение двух векторов состоит из сложения соответствующих компонент векторов. Ясно, что операции могут выполняться параллельно и независимо друг от друга.

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

Например, вычисление скалярного произведения для n-мерных векторов



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

Кроме того, при параллелизме множества объектов чаще, чем в общем случае, встречаются ситуации, когда отдельные участки вычислений должны выполняться различно для разных объектов. Например, надо найти значения функции  (x, y), удовлетворяющей уравнению



во всех точках внутри некоторой области на плоскости x, y при заданных значениях  (x, y) на границах области.

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

При параллелизме множества объектов аналогичное положение встречается сравнительно часто.

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

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

Ветвь программы Y не зависит от ветви X, если:

        между ними нет функциональных связей, т. е. ни одна из входных переменных ветви Y не является выходной переменной ветви X либо какой-нибудь ветви, зависящей от X;

        между ними нет связи по рабочим полям памяти;

        они должны выполняться по разным программам;

        независимы по управлению, т. е. условие выполнения ветви Y не должно зависеть от признаков, вырабатываемых при выполнении ветви X или ветви, от нее зависящей.

  Параллелизм смежных операций. Суть его в следующем.

Если подготовка исходных данных и условий исполнения i-й операции заканчивается при выполнении (i–k)-й операции (где k = 2, 3, 4, ...), то i-ю операцию можно совместить с (i–k + 1)-й, (i–k + 2)-й , ... , (i–1)-й.

3 Кэширование памяти

Как правило, кэш-память (Cache Memory) ассоциируется всегда с центральным процессором. Кэш-память представляет собой статическое ОЗУ, обладающее значительно более высоким быстродействием, нежели динамическое. Фактически, кэш-память предназначена для согласования (компенсации) скорости работы сравнительно медленных устройств с относительно быстрым центральным процессором, т.е. она играет роль быстродействующего буфера между процессором и относительно медленной динамической памятью. Для кэш-памяти характерно значительно меньшее время доступа (Access time). Время доступа - это характеристика, показывающая, сколько времени необходимо для того, чтобы получить доступ к той или иной ячейке памяти.
      Кэш-память изготавливается на микросхемах статической памяти, не требующей регенерации. Кэш-память значительно дороже динамической, поэтому ее объем, как правило, не превышает 512 КБ. Объем и быстродействие кэш-памяти являются определяющими параметрами быстродействия всей системы для подавляющего большинства задач, решаемых на компьютере. Цифры впечатляющей разницы в быстродействии между различными видами DRAM уменьшаются во много раз при оценке производительности компьютера в целом из-за кэш-памяти. Для большего увеличения быстродействия кэш-памяти она встраивается в собственно кристалл процессора и работает при этом на той же тактовой частоте, что и сам процессор.


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

Когда процессор первый раз обращается к ячейке памяти, ее содержимое параллельно копируется в кэш, и в случае повторного обращения может быть с гораздо большей скоростью выбрано из кэша. При записи в память значение попадает в кэш, и либо одновременно копируется в память (схема Write Through - прямая или сквозная запись), либо копируется через некоторое время (схема Write Back - отложенная или обратная запись). При обратной записи, называемой также буферизованной сквозной записью, значение копируется в память в первом же свободном такте, а при отложенной (Delayed Write) - когда для помещения в кэш нового значения в кэш-памяти не оказывается свободной области. При этом в память вытесняется наименее используемая область кэша. Вторая схема более эффективна, но и более сложна за счет необходимости поддержания соответствия содержимого кэша и основной памяти. Очевидно, что контроллер кэш-памяти должен быть достаточно интеллектуальным, чтобы решать столь сложные задачи, в том числе, определять, какие данные могут понадобиться процессору в следующий момент.


   Сейчас под термином "Write Back" в основном понимается отложенная запись, однако это может означать и буферизованную сквозную.
;
Память для кэша состоит из собственно области данных, разбитой на блоки (строки), которые являются элементарными единицами информации при работе кэша, и области признаков (tag), описывающей состояние строк (свободна, занята, помечена для дозаписи и т.п.). В основном используются две схемы организации кэша: с прямым отображением (
direct mapped), когда каждый адрес памяти может кэшироваться только одной строкой (в этом случае номер строки определяется младшими разрядами адреса динамической памяти), и n-связный ассоциативный (n-way associative), когда каждый адрес может кэшироваться несколькими строками. Ассоциативный кэш более сложен, однако позволяет более гибко кэшировать данные.
;




1. Тема- Методи сучасної психології
2.  ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
3. Витебский государственный политехнический колледж Специальность- 2380131 Производство и техническая э
4. а Четвернин В А видеолекции
5. Дать классификацию условий труда на производстве и их оценку Условия труда это совокупность факторов про
6. Федерация спортивного туризма России 4 декабря 2013 г
7.  Раскрыть предмет методы исследования и значения биохимии для специалистов из физической культуры и спорта
8. ВСЕРОССИЙСКИЙ ЗАОЧНЫЙ ФИНАНСОВОЭКОНОМИЧЕСКИЙ ИНСТИТУТ Рабочая учебная программа по ди
9. Сходинки до інформатикиВикладання інформатики в 2 класах у 2013-2014 нр (додаток до листа МОН Від 300513 1-9-383)
10. по теме Киевская Русь 1 вариант 1
11. сировинних і інших ресурсів
12. Архетипический сюжет о Христе и Антихристе и его реализация в русской литературе
13. Тема- 1 ОБЩАЯ ХАРАКТЕРИСТИКА УСЛОВИЙ ТРУДА В ОТРАСЛИ Условия труда на рабочих местах в машиностроении опр
14. Злость Нежность
15. Задание 250109 Садовопарковое и ландшафтное строительство Дисциплина Основы садовопарко
16. Фармакогностический анализ лекарственных видов шалфея
17. Курсовая работа- Системный анализ организации и определение направлений совершенствования управления
18. Радиоактивность и её закономерности
19. Реферат Католическая церковь
20. Педагогічна експертиза шкільних підручників