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

кандидата технических наук
Козленко, Лилия Александровна
город
Воронеж
год
2000
специальность ВАК РФ
05.13.11
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Разработка математического обеспечения систем управления вложенными транзакциями в параллельных и распределенных средах»

Оглавление автор диссертации — кандидата технических наук Козленко, Лилия Александровна

ВЕДЕНИЕ.

ЛАВА 1. ОБРАБОТКА ТРАНЗАКЦИЙ В ИВС - СОСТОЯНИЕ, РАЗВИТИЕ КОНЦЕПЦИЙ.

1.1 формальное определение транзакции.

1.2 менеджер транзакций, журнал транзакций.

1.3 пар а лл ельны е тр ан з акции, блокирование, многоверсионность.

1.4 расширения обработки транзакций.

1.5 иерархии транзакций, внутризапросный параллелизм.

1.6 обработка транзакций в распределенной среде.

1.7 постановка задач работы.

ЛАВА 2. ОБРАБОТКА ТРАНЗАКЦИЙ В ПАРАЛЛЕЛЬНЫХ И РАСПРЕДЕЛЕННЫХ :РЕДАХ.

2.1 зависимости транзакций.

2.2 определение феноменов через зависимости транзакций.

2.3 потенциальные и реальные аномалии.

2.4 изолированность транзакций при использовании техники мноеоверсионности

2.5 идентификация версий объектов данных.

2.6 расширения обработки транзакций посредством иерархий транзакций с использованием техники многоверсионности.

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

2.8 очистка версий объектов данных.

2.9 некоторые оценки вероятности возникновения конфликтов транзакций.

2.10 Выводы.

ЛАВА 3. АЛГОРИТМИЗАЦИЯ ОБРАБОТКИ ТРАНЗАКЦИЙ В ПАРАЛЛЕЛЬНЫХ И 'Л( ПРЕДЕ ЛЕННЫХ СРЕДАХ.

3.1 работа менеджера транзакций узла.

3.2 обработка распределенной транзакции.

3.3 сохранность данных в распределенной среде.

3.4 уровни изолированности транзакций.

3.5 Выводы.

ЛАВА 4. РЕАЛИЗАЦИЯ И ВНЕДРЕНИЕ РЕЗУЛЬТАТОВ РАБОТЫ НА ПРИМЕРЕ ТАРАЛЛЕЛЬНОЙ И РАСПРЕДЕЛЕННОЙ СУБД.

4.1 обработка транзакций параллельной субд.

4.2 процесс очистки.

4.3 обработка распределенной транзакции в СУБД.

4.4 Выводы.

5АКЛЮЧЕНИЕ.

ШИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ.

1РИЛОЖЕНИЯ.

Введение 2000 год, диссертация по информатике, вычислительной технике и управлению, Козленко, Лилия Александровна

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

При наличии единственной стратегии обработки транзакций не 1редставляется возможным нахождение оптимального или близкого к штимальному по производительности потока транзакций. Проблема состоит в :ом, что оптимистическая стратегия характеризуется низкими накладными расходами при выполнении самой транзакции, но не годится для реализации потоков транзакций с высокой конфликтностью из-за того, что возникшие конфликты распознаются только на стадии фиксации транзакции (даже если конфликт произошел в самом начале транзакции, все дальнейшие ее операции уже априори будут аннулированы, при попытке фиксировать такую транзакцию), пессимистические стратегии обработки транзакций характеризуются высокими накладными расходами при работе самой транзакции и ранним обнаружением конфликтов, но в этом случае неэффективной будет работа потоков транзакций с низкой конфликтностью. Кроме того, при пессимистических стратегиях и потенциальные, и реальные конфликты фактически одинаковы, так как пессимистическая стратегия основана на предотвращении потенциально конфликтующего с данным действия на основе использования различного рода захватов объектов данных. Имеющиеся математическое и программное обеспечение обработки транзакций не позволяет эффективно решить задачу о параллельной работе с азой данных разнородных приложений. Одним из способов решения таких ¡адач является расширение обработки транзакций, предоставляемое самой тараллельной СУБД. Это заставляет искать реализации, позволяющие шисывать нелинейную обработку, например посредством вложенных или сомпенсирующих транзакций.

Предоставление параллельной СУБД нескольких стратегий обработки гранзакций позволяет учитывать особенности потоков транзакций и их сонфликтность при проектировании потоков транзакций и самих транзакций. Использование техники многоверсионности позволяет избежать реакции гранзакций на потенциальный конфликт чтения и запись объекта данных (как это было бы при использовании блокирования даже в случае блокировок intent).

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

Тематика. Работа выполнена в соответствии с тематикой госбюджетного ЭКР МО РФ "Создание полномасштабной защищенной системы управления 5азами данных", шифр ОКР "ИНФОРМАТИКА-СУБД", в НЛП Релэкс.

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

Исходя из данной цели, определены следующие основные задачи: > Определить зависимости транзакций в многоверсионных историях, феномены, потенциальные и реальные аномалии историй транзакций, модифицировать определение изолированности для многоверсионных историй транзакций. Получить необходимые и достаточные условия фиксации и отката, сериализуемости иерархических транзакций параллельных и распределенных ИВС, условия видимости версий для иерархических транзакций, которые предотвращают феномены чтения и записи неактуальных данных, потерянного обновления, грязного чтения, неповторяемого чтения, фантомы. Разработать расширение протокола обработки транзакций параллельных и распределенных информационно-вычислительных систем, позволяющее корректно решать задачи восстановления состояния распределенных данных за счет временных меток объектов данных при всех типах отказов узлов распределенной сети и коммуникационного оборудования, использующее несколько стратегий обработки транзакций.

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

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

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

•кспериментальных исследованиях.

Научная новизна. В диссертации получены следующие результаты, характеризующиеся научной новизной: разработано расширение обработки транзакций параллельных информационно-вычислительных систем, отличающееся использованием временных меток транзакций и особенностями реализации техники многоверсионности записей; разработано расширение обработки транзакций распределенных информационно-вычислительных систем, позволяющее корректно решать задачи восстановления состояния распределенных данных за счет временных меток объектов данных при всех типах отказов узлов распределенной сети и коммуникационного оборудования; предложена реализация как оптимистической, так и пессимистической стратегий управления транзакциями, позволяющая полностью реализовать изолированность транзакций, а также предоставляющая различные уровни понижения изолированности транзакций и повышения параллелизма выполнения транзакций; разработанные структуры, а также логика их работы, позволяют строить иерархии транзакций в распределенной среде, где каждый из узлов является параллельным сервером баз данных. Практическая ценность работы состоит в следующем: техника многоверсионности и раннее обнаружение конфликтов транзакций позволяет приложениям OLTP, OLAP работать более эффективно, чем в коммерческих реализациях, использующих технику блокирования; работа с иерархиями транзакций предоставляется как в неявном виде (вызовы агентов транзакций, хранимых процедур и триггеров), так и в явном виде посредством вызовов call-interface из приложения пользователя; посредством иерархий транзакций пользовательское приложение может более тонко обработать ситуации отклонения выполнения приложения от эталона; обработка хранимых процедур и действий, выполняемых триггерами, описывается в терминах иерархий транзакций, что позволяет приложению пользователя локализовать и корректно обработать отклонение выполнения триггера или процедуры, не инициируя откат всей пользовательской транзакции, что повышает производительность системы в целом; > на основе выше приведенных средств разработана подсистема обработки транзакций для СУБД ЛИНТЕР в части логики обработки распределенных транзакций, уровней изолированности транзакций.

Реализация и внедрение результатов работы. На основе разработанных )асширений обработки транзакций создана система обработки транзакций, шедренная в рамках реляционной СУБД ЛИНТЕР, разрабатываемой фирмой <РЕЛЭКС».

Апробация работы. Основные положения диссертации докладывались и )бсуждались на следующих конференциях, семинарах и совещаниях: V международной электронной конференции «Современные проблемы шформатизации в технике и технологиях», Воронеж, 2000; V международной шектронной научной конференции «Современные проблемы информатизации 5 непромышленной сфере и экономике», Воронеж, 2000; I Всесибирском сонгрессе женщин-математиков, Красноярск, 2000; ежегодной конференции :тудентов и аспирантов ВГУ, Воронеж, 1999; научных семинарах факультета ТММ и математического факультета ВГУ, Воронеж, 1999.

Публикации. По результатам исследования опубликовано 13 печатных )абот.

Структура и объем работы. Работа состоит из введения, четырех глав, включения, перечня библиографических источников и приложений. Она сложена на 146 страницах машинописного текста, содержит 44 рисунка и 12 :аблиц. Библиографический список содержит 131 наименование. Приложения 1а 35 страницах, содержат 2 таблицы.

Содержание работы.

Во введении обосновывается актуальность темы диссертационного исследования, дается краткая характеристика работы и излагается ее основное юдержание.

В первой главе рассматриваются реализации математического и программного обеспечения стратегий обработки транзакций, применяемые тромышленными ИБС, СУБД в частности. Формулируется и обосновывается штуальность и цели работы.

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

В третьей главе приводится алгоритмизация расширения обработки гранзакций - вложенных транзакций параллельных и распределенных ИБС. Эпределяются также низкоуровневые операции чтения и записи объектов данных для предложений манипуляции данными: select, update, delete, insert. Цля распределенных транзакций рассматриваются все типы отказов и восстановление корректного состояния распределенных данных. Рассматриваются уровни изолированности транзакций для оптимистической, тессимистической и read-only стратегий обработки иерархических транзакций.

В четвертой главе рассматривается реализация математического и трограммного обеспечения расширений обработки транзакций в СУБД, где саждый из узлов распределенной базы данных является параллельной базой данных. Реализация рассматривается на примере обработки транзакций для эеляционной СУБД ЛИНТЕР - логики обработки распределенных транзакций, /ровней изолированности транзакций.

В заключении формулируются научные и практические результаты диссертационного исследования. лава 1. Обработка транзакций в ИБС - состояние, развитие концепций

К современным ИБС [73,74,77] предъявляются жесткие требования по их утказоустойчивости и надежности. Обработка запросов клиентов должна /довлетворять требованиям надежности хранения информации, высокому тараллелизму, изолированности работы различных приложений [48,88]. Какие-шбо отказы не должны порождать рассогласование данных ИБС. Кроме того, /ГВС должна обеспечивать сохранность данных пользователя вне зависимости )т сбоев системы [80,81,85,92]. Не менее важно предотвращение рассогласования данных, порождаемое параллельной работой пользователей с здними и теми же данными.

Вопросы обеспечения отказоустойчивости системы можно рассматривать в :ерминах сфер контроля [18]. Одним из распространенных методов обеспечения отказоустойчивости систем является восстановление ближайшего ю времени корректного состояния системы [16]. Этот принцип ложится в зснову обработки транзакций.

Все операции с данными И ВС [91,93,129,127] можно представить в виде ia6opa возможно пересекающихся по времени выполнения логических единиц заботы [16]. Считается, что изначально данные ИВС согласованы [116], и ее юстояние корректно, то есть, выполнены все ограничения, накладываемые моделью на наборы данных, а так же состояние файлов хранилища данных сорректно, то есть ни один из элементов хранилища не является испорченным с гочки зрения ИВС [75,78,84,111] и, возможно, других систем, если физическую целостность хранилища обеспечивает не только СУБД, но и другие сомпоненты системы. Очевидно, что требуется обеспечить согласованность данных ИВС в течение всего времени ее работы.

Заключение диссертация на тему "Разработка математического обеспечения систем управления вложенными транзакциями в параллельных и распределенных средах"

4 Выводы

1) Разработано математическое и программное обеспечение, использующее ехнику многоверсионности и раннее обнаружение конфликтов транзакций, оторое позволяет повысить производительность некоторых систем ОЬТР, )ЬАР, по сравнению с реализациями, использующими блокирование.

2) На основе выше приведенных средств разработана подсистема обработки ранзакций для реляционной СУБД ЛИНТЕР в части логики обработки ^определенных транзакций, уровней изолированности транзакций.

3) В реализации работа с иерархиями транзакций предоставляется как в [еявном виде (вызовы агентов транзакций, хранимых процедур и триггеров),

143 ак и в явном виде посредством вызовов call- interface из приложения юльзователя. Применение иерархий транзакций для параллельной обработки апросов и нескольких стратегий обработки транзакций позволяет повысить [роизводительность некоторых систем OLTP, OLAP, в частности некоторых »анковских ИВС.

4) Использование специальной реализации уровней изолированности юзволяет не снижать производительность ИВС при повышении уровня [золированности транзакций OLTP, OLAP приложений по сравнению с ИВС юд управлением СУБД использующих технику блокирования.

5) Разработанный алгоритм работы параллельных процессов очистки :ерсий, предотвращает потерю актуальных версий данных в ИВС, позволяет ущественно повысить производительность приложений, модифицирующих юлыпое количество данных.

6) Реализованный протокол vnested transaction не подвержен проблемам ^определенных deadlock, что позволяет существенно улучшить время »бработки отказа узла ИВС.

Заключение

В работе решена задача разработки и практической реализации >асширенного протокола обработки транзакций для параллельных и ^определенных баз данных, основные результаты диссертации состоят в ле дующем:

1) Определены зависимости транзакций в многоверсионных историях и юлучена основная теорема изолированности транзакций в терминах графов ависимостей транзакций, строго определены феномены ИО, £>/, 02, ВЗ и юлучены 4 необходимых условия сериализуемости транзакций, потенциальные I реальные аномалии историй транзакций.

2) Получено модифицированное определение изолированности для шоговерсионных историй транзакций, сформулирована и доказана теорема ериализуемости истории транзакций в терминах изолированности транзакций фи использовании модифицированной техники многоверсионности.

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

4) Сформулированы и доказаны леммы изолированности историй иерархий ранзакций в строгой и свободной интерпретациях, лемма об условии очистки юрсий, предотвращающем потерю актуальных версий данных в ИВС, а также 'еорема о необходимых и достаточных условиях фиксации и отката [ерархических транзакций параллельных и распределенных ИВС, теорема ериализуемости распределенной многоверсионной истории иерархий ранзакций.

5) Разработан расширенный протокол обработки транзакций параллельных [ распределенных информационно-вычислительных систем, отличающийся [спользованием временных меток транзакций и особенностями реализации ехники многоверсионности записей, позволяющий корректно решать задачи юсстановления состояния распределенных данных за счет временных меток >бъектов данных при всех типах отказов узлов распределенной сети и юммуникационного оборудования

6) Предложена модель реализации как оптимистической, так и гессимистической стратегий управления транзакциями, позволяющая юлностью реализовать изолированность транзакций, а также определены >азличные уровни понижения изолированности транзакций и повышения [араллелизма выполнения транзакций.

7) Разработанные структуры, а также логика их работы, позволяют »писывать иерархии транзакций в распределенной среде, где каждый из узлов [вляется параллельным сервером баз данных.

8) На основе выше приведенных средств разработана подсистема обработки ранзакций для реляционной СУБД ЛИНТЕР в части логики обработки определенных транзакций, уровней изолированности транзакций.

9) Техника многоверсионности и раннее обнаружение конфликтов ранзакций позволяет ОЕТР, ОЕАР-приложениям пользователей работать юлее эффективно, чем в коммерческих реализациях, использующих технику шокирования.

Библиография Козленко, Лилия Александровна, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. Agrawal D., Krishnaswamy V. Using multiversion data for non-interfering execution of write-only transactions // Proceedings of the 1991 ACM SIGMOD international conference on Management of data, 1991. C. 98 107.

2. Agraval D., Sengupta S. Modular Sinchronization in Multiversion Databases: Version Control and Concurrency Control. Proceedings of the ACM SIGMOD International Conference on Management of Data. 1989, C.408 417.

3. ANSI X3.135-1992, American National Standard for Information Systems Database Language - SQL, American National Standards Institute, New York, 1992.

4. Badrinath B. R., Ramamritham Krithi. Performance evaluation of semantics-based multilevel concurrency control protocols // Proceedings of the 1990 ACM SIGMOD international conference on Management of data, 1990. C. 163 172.

5. Badrinath B. R., Ramamritham Krithi. Semantics-based concurrency control: beyond commutativity // ACM Trans. Database Syst. 17, 1 (Mar.), 1992. C. 163 199.

6. Barghouti Naser S., Kaiser Gail E. Concurrency control in advanced database applications // ACM Comput. Surv. 23, 3 (Sep.), 1991. C. 269 317.

7. Beeri Catriel, Bernstein Philip A., Goodman Nathan. A model for concurrency in nested transactions systems // J. ACM 36, 2 (Apr.), 1989. C. 230-269.

8. Chrysanthis Panos K., Ramamritham Krithi. Synthesis of extended transaction models using ACTA // ACM Trans. Database Syst. 19, 3 (Sep.), 1994. C. 450-491.

9. Chrysanthis Panos K., Ramamritham Krithi. ACTA: The SAGA continues. Database transactions models for advanced applications. San Mateo, CA: Morgan Kaufmann Publishers, Inc. 1991.

10. Chrysanthis Panayiotis K., Ramamritham Krithi. ACTA: a framework for specifying and reasoning about transaction structure and behavior // Proceedings of the 1990 ACM SIGMOD international conference on Management of data, 1990. C. 194 203.

11. Beeri C., Bernshtein P.A., Goodman N., Lai N. N., Shasha D. E. A Concurrency control theory for nested transactions // 2nd ACM SIGACT-SIGOPS PODS, 1981 C.45 62.

12. Beeri Catriel, Bernstein Philip A., Philip A. Goodman N. A model for concurrency in nested transactions systems // J. ACM 36, 2 (Apr.), 1989. C. 230-269.

13. A critique of ANSI SQL isolation levels. Hal Berenson, Phil Bernstein, Jim Gray, Jim Melton, Elizabeth O'Neil, Patrick O'Neil // In Proceeding of the ACM SIGMOO International Conference, May, 1995. C.l

14. Bernstein P.A., Hadzialos V., Goodman N. Concurrency Control and Recovery in Database Systems. Addison Wesly, Reading, Massachusetts, 1987.

15. Bestavros A., Braoudakis S. Timeliness via Speculation for Real-time Databases // Proceedings of RTSS'94: The 14th IEEE Real-time System Symposium, San Juan, Puerto Rico, December 1994, 1994.

16. Bjork L.A., Davies C.T. The Semantics of the Preservation and Recovery of Integrity in Data Systems // IBM General Product Division, TR 02.540, 1972.

17. Burger A., Kumar V. Performance of multiversion concurrency control mechanism in partitioned and partially replicated databases // Proceedings of the 1992 ACM Computer Science 20th annual conference on Communications, 1992. C. 189.

18. Carey Michael J., Muhanna Waleed A. The performance of multiversion concurrency control algorithms // ACM Trans. Comput. Syst. 4, 4, Nov, 1986. C.338 378.

19. Chiu L., Liu M. T. High level specification of concurrency control in distributed database systems // 10th International Conference on Software Engineering, 1988. C. 309 317.

20. Dayal Umeshwar, Hsu Meichun, Ladin Rivka. Organizing long-running activities with triggers and transactions // Proceedings of the 1990 ACM SIGMOD international conference on Management of data, 1990. C. 204214.

21. Eppinger J.L., Mummert L.B., Spector A.Z. Camelot and Avalon: a distributed transaction factory. San Mateo, CA. Morgan Kaufmannn Publishers, Inc. 1991.

22. Elmagarmid Ahmed K. Database transactions models for advanced applications, Morgan Kaufmann Publishers, Inc. 1993. 61 I.e.

23. Eswaran K.P., Gray J., Lorie R., Traiger I.I. The notions of Concurrency and predicate locks in a database systems // CACM 19(11), 1976. C. 624633.

24. Ezsu M.T., Valduries P. Principles of Distributed Database Systems., Englewood Cliffs, NJ: Prentice-Hall, 1991.

25. Fekete A., Lynch N., Weihl W. A serialization graph construction for nested transactions // Proceedings of the ninth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems, 1990. C. 94 108.

26. Fekete A., Lynch N., Merrit M., Weihl W. Nested transactions and read-write locking // Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of database systems, 1987. C. 97.

27. Fu A., Kameda T. Concurrency control of nested transactions accessing B-trees // Proceedings of the eigth ACM SIGACT-SIGMOD-SIGART symposium on Principles of Database Systems, 1989. C. 270-285.

28. Glasgow Janice L, MacEwen Glenn H. The development and proof of a formal specification for a multilevel secure system // ACM Trans. Comput. Syst. 5, 2 (May.), 1987. C. 151 184.

29. Garcia-Molina H., Salem K. Sagas // ACM SIGMOD. 8(2), 1982. C. 249 -259.

30. Gray J. The transaction concept: virtues and limitations //7-th VLDB, 1981, C. 144- 154.

31. Gray J., Lorie R., Putzolu G., Traiger I. Granularity of Locks and Degrees of Consistency in a Shared Data Base. Readings in Database Systems. Second Edition, Chapter 3, Michael Stonebraker, Ed., Morgan Kaufmann, 1994 (ordinally published in 1976)

32. Gray J., Reuter A. Transaction Processing: Concepts and Techniques. Corrected Second Printing, San Mateo, CA: Morgan Kaufmann Publishers, Inc, 1993. 1070 c.

33. Haerder Theo, Rothermel K. Concepts for transaction recovery in nested transactions // Proceedings of the ACM SIGMOD Annual Conference on Management of data, 1987. C. 239 248.

34. Hadzilacos T. Serialization graph algorithms for multiversion concurrency control // Proceedings of the seventh ACM SIGACT-SIGMOD-SIGART on Principles of database systems, 1988. C. 135 141.

35. Herlihy M. Concurrency versus availability: atomicity mechanisms for replicated data // ACM Trans. Comput. Syst. 5, 3 (Aug.), 1987. C. 249 274.

36. Klein J., Reuter A. Migrating transactions // Workshop on the future trends of distributed computer systems, 1988. C. 512 520

37. Knapp Edgar. Deadlock detection in distributed databases // ACM Comput. Sun'. 19, 4 (Dec.), 1987. C. 303 328.

38. Leu Y., Elmagarmid A.K., Rusinkevwicz M. An extended transaction model for multidatabase systems. Purdue University, CSD-TR-925. 1989.

39. Notes on Distributed Databases. B.G.Linsday, P.G. Seileger, C. Galtieri, J. Gray, A. Lorie, T.G. Price, E.F. Putzolu, I.L. Traiger, B.W. Wade, IBM San Jose Research Laboratory, RJ 2571(33471), 1979.

40. Lomet D., Salzberg B. Access methods for multiversion data // Proceedings of the 1989 ACM SIGMOD international conference on Management of data, 1989. C. 315-324.

41. Lomet D., Salzberg B. The performance of a multiversion access method // Proceedings of the 1990 ACM SIGMOD international conference on Management of data, 1990. C. 353 363.

42. Lynch N.A. Multilevel atomicity: A new correctness criterion for database concurrency control // ACM TODS. 8(4), 1983. C.484 502.

43. ARIES : a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. C. Mohan, Don Haderle, Bruce Lindsay, Hamid Pirahesh, Peter Schwarz // ACM Trans. Database Syst. 17, 1 (Mar.), 1992. C. 94 162

44. Mohan C., Linsday B. Efficient Commit Protocol for the Tree of Process Model of Distributed Transactions // Proceeding of the 2th ACM SIGACT-SIGMOD Symposium on Principles of Distributed Computing, 1983. C. 76 -88.

45. Mohan C., Linsday B., Obermarck R. Transaction management in the R* distributed database management system // ACM Trans. Database Syst. 11, 4 (Dec.) 1986. C. 378 -396.

46. Motzkin D., Jarrett E., Hager D., Kerstetter M. On concurrent execution of information systems applications// Proceedings of the 1993 ACM/SIGAPP symposium on Applied computing: states of the art and practice-1993, 1993. C. 775.

47. Moss J.E.B. Nested Transactions: An Approach to Reliable Computing. MIT, LCS-TR-260, 1981.

48. Moss J.E.B. Nested Transactions: An Approach to Reliable Distributed Computing. MIT Press, Cambridge, Massachusetts, 1985.

49. O'Neil P. Database: Principles, Programming, Performance. San Mateo CA: Morgan Kaufmann Publishers, Inc, 1994.

50. Nodine M., Zdonik S. Cooperative transactions ierarches: A transaction model to support design applications // Proceedings of International Conference on Very Large Databases, 1984. C. 83-94.

51. Papadimitriou C. The Theory of Database Concurrency Control. Computer Science Press, 1986.

52. Ray Indrajit, Bertino E., Jajodia Sushil, Mancini Luigi. An advanced commit protocol for MLS distributed database systems // Proceedings of the 3rd ACM conference on Computer and communications security, 1996. C. 119-128.

53. Reuter A. ConTracts: a means for extending control beyond transaction boundaries. 3th International workshop on high perfomance transaction systems, 1989.

54. Schek Hans-Jorg, School M. The relational model with relation valued attributes //Informational Systems. 11(2).,1986. C. 137 147.

55. Schek Hans-Jorg, Weikum Gerhard, Ye Haiyan. Towards a unified theory of concurrency control and recovery // Proceedings of the twelfth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems, 1993. C. 300-311.

56. Shanmugasundaram Jayavel, Nithrakashyap Arvind, Sivasankaran Rajendran, Ramamritbam Krithi. Efficient concurrency control for broadcast environments // Proceedings of the 1999 ACM SIGMOD international conference on Management of data, 1999. C. 85 96.

57. Sun R., Thomas G. Performance results on multiversion timestamp concurrency control with predeclared writesets // Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of database systems, 1987. C. 177.

58. Transact-Encina. Enchina transaction processing system. TP Montor, TP-00-D146, 1991.

59. Transact-Encina. Enchina transaction processing system. Montor: programmers guide, TP-00-D078. Pittsburgh, PA: Transarc Corp, 1991.

60. Transact-Encina. Enchina transaction processing system. Transactional-C programmers guide and reference, TP-00-D347. Pittsburgh, PA: Transare Corp, 1991.

61. Transact-Encina. Enchina transaction processing system. Using the transare toolkit: guide to transaction processing system development, TP-00-137. Pittsburgh, PA: Transare Corp, 1991.

62. Transact-Encina. Enchina transaction processing system. Toolkit executive, reference manual, TP-00-D539. Pittsburgh, PA: Transare Corp, 1991.

63. Transact-Encina. Enchina transaction processing system. Toolkit server core, reference manual, TP-00-D540. Pittsburgh, PA: Transare Corp, 1991.

64. Transact-Encina. Enchina transaction processing system. Structured file server, programmers guide, TP-00-D170. Pittsburgh, PA: Transare Corp, 1991.

65. Transact-Encina. Enchina transaction processing system. Structured file server, programers reference, TP-00-D233, 1991.

66. Transact-Encina. Enchina transaction processing system. Base development environment, TP-00-D509. Pittsburgh, PA: Transare Corp, 1991.

67. Gerhard Weikum. Principles and realization strategies of multilevel transaction management Technical University of Darmstadt (Germany), DVSI-1987-T1, 1987.

68. Gerhard Weikum. Principles and realization strategies of multilevel transaction management // ACM Trans. Database Syst. 16, 1 (Mar.) ,1991. C. 132- 180.

69. Weicum Gerhard, Schek Hans-J. Concepts and Applications of multilevel transactions and open nested transactions. Special supplement to Database transactions models for advanced applications. Morgan Kaufmann Publishers, Inc, 1992. 39c.

70. Аберемков И.М., Бойченко И.А., Пешков А.В., Федченко Н.И. Состояние и направление развития СУБД с интерфейсом реляционного типа ИНТЕРЕАЛ в системах обработки и использования информации// УСиМ 1990 - №4 - 1990 - С. 48-54

71. Артемов Д. Погульский Г. Microsoft SQL Server 7.0: установка, управление, оптимизация. -М., Изд. отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1998, 488 с.

72. Архипенков С. Я. Аналитические системы на базе ORACLE EXPRESS OLAP. Проектирование, создание, сопровождение. -М., Диалог-МИФИ, 2000, 320 с.

73. Базы данных в Интернете : Практическое руководство по созданию Web-приложенией с базами данных. -М, Русская редакция, 2000, 432 с.

74. Базы данных: достижения и перспективы на пороге 21-го столетия/Под ред. Зильбершатц А., СтоунбрейкерМ.,Ульман Дж// СУБД N3 1996.

75. Бирн Д. Л. Microsoft SQL Server: Руководство администратора, -M., ЛОРИ, 1998, 211,5. с.

76. Барон Е.Г. Параллельные архитектуры серверов баз данных // СУБД, N2, 1995. С. 32-55.

77. Бобровски С. Oracle 7 и вычисления клиент/сервер. -М., ЛОРИ, Б.г.(1995), 651 с.

78. Бобровски С. Oracle8: Архитектура -М., ЛОРИ, 1998, 210 с.

79. Бойченко И.А., Маркин С.П., Пешков A.B. ИНТЕРЕАЛ мобильная СУБД с интерфейсом реляционного типа // Прикл. Информатика. - 1989. - Вып. 15. - с. 49-71,

80. Бойченко И.А., Мучник Ф.М., Пешков A.B. Возможности мобильной СУБД ЛИНТЕР на рынке пользователей ПЭВМ // Управляющие системы и машины, 3/4 1992. С. 124 127.

81. Бэлсон Д. Внутренний мир Oracle 8 Проектирование и настройка. -М, ДиаСофт, 2000, 800 стр.

82. Грачев А. К). Введение в СУБД Informix. -М, Диалог-МИФИ, 2000, 272 с.

83. Горев А., Ахаян Р., Макашарипов С. Эффективная работа с СУБД. -СПб., Питер, 1997, 700,4. с.

84. Вьюкова Н.И. Продукты Informix и распределенные вычисления// СУБД, N4 1995.

85. Девитт Д., Д. Грей. Параллельные системы баз данных: будущее высоко эффективных систем баз данных // СУБД, N2, 1995. С. 8-31.

86. Дейт К. Руководство по реляционной СУБД DB2. -М: Финансы истатистика, 1988, 320 с.

87. Дейт К. Введение в системы баз данных. Пер. с англ. 6-е изд. - К.: Диалектика, 1998.-784 с.

88. Диго С.М. Проектирование и использование баз данных: Учебник для студ. вузов, обуч. по напр. и спец. "Информационные системы в экономике". -М., Финансы и статистика, 1995, 208 с.

89. Дое К. Руководство INFORMIX-OnLine Dynamic Server. -М. Лори, 1999, 314 с.

90. Дунаев С. Б. Доступ к базам данных и техника работы в сети. Практические приемы современного программирования. -М. Диалог-МИФИ, 1999, 416 с.

91. Калиниченко Б.О. Асинхронное тиражирование данных в гетерогенных средах // СУБД, N3 1996.

92. Козленко JLA. Распараллеливание операций фиксации и отката транзакций в СУБД. Воронежский ЦНТИ, 2000, N 58-2000. 3 с.

93. Козленко J1.A. Некоторые вопросы расширения протоколов обработки транзакций параллельных баз данных. Воронеж. 2000 35с. Деп. в ВИНИТИ 13.01.2000. №35-В00.

94. Козленко Л.А. Уровни изолированности в СУБД при расширенном протоколе обработки транзакций. Воронежский ЦНТИ, 2000, N 76-2000. 2 с.

95. Козленко Л.А. О возможности понижения изолированности транзакций в оптимистической и пессимистической стратегиях. Воронеж. 2000 17с. Деп. в ВИНИТИ 31.07.2000. №2139-В00.

96. Козленко Л.А. Использование иерархий транзакций в распределенных информационно-вычислительных системах.// «Современные проблемы информатизации в технике и технологии.»: Сб.тр. V междунар. электр. науч. конф. Воронеж: ЦЧКИ, 2000. С.117.

97. Козленко JI.A. Работа процессов очистки версий объектов данных при обработке транзакций параллельных баз данных. Воронеж. 2000 11с. Деп. в ВИНИТИ 13.01.2000. №37-В00.

98. Козленко Л.А. Некоторые вопросы расширения протоколов обработки транзакций распределенных баз данных. Воронеж. 2000 24с. Деп. в ВИНИТИ 13.01.2000. №36-В00.

99. Козленко Л.А. Реализация нескольких стратегий управления транзакциями в СУБД. Воронежский ЦНТИ, 2000, N 77-2000. 3 с.

100. Козленко Л.А. Использование 2-х фазной фиксации (2РС) для обработки иерархий транзакций // «Современные проблемы информатизации в непромышленной сфере и экономике»: Сб.тр. V междунар. электр. науч. конф. Воронеж: ЦЧКИ, 2000. С. 121

101. Козленко Л.А. Программная система моделирования характеристик транзакций в распределенных субд. М.: ФАП ВНТИЦ, 2000. N госрегистрации 50200000166. от 17.07.2000.

102. Кузнецов С.Д. Введение в СУБД: Часть 5 // СУБД, N1,1996.

103. Ладыженский Г.М. Tuxedo System: разработка систем клиент-сервер часть 1 // СУБД, N1 1996.

104. Ладыженский Г.М. Tuxedo System: разработка систем клиент-сервер // СУБД, N2 1996.

105. Ланг К., Чоу Дж. Публикация баз данных в Интернете. -СПб., Символ-Плюс: СПб, 1998, 480 с.

106. Луни К. Oracle 8: Настольная книга администратора, -М., Лори, 1999, 500 с.

107. Максимов В.Е., Козленко JI.A., Маркин С.П., Бойченко И.А. Защищенная реляционная СУБД //Открытые системы, 1999. №11-12. С. 69-79.

108. Мамаев Е. Microsoft SQL Server 7 : Для профессионалов, -СПб., Питер: СПб, 2000,

109. Никитин В.Д. Технологии Электронных Коммуникаций Т.57 Системы управления базами данных Informix (Введение). -М., СП "Эко-Трендз": НИФ "Электронные знания", 1994, 185 с.

110. Тамер Оззу М., Валдуриз П. Распределенные и параллельные базы данных // СУБД, №4, 1996 С. 4 26.

111. Озкарахан Э. Машины баз данных и управление базами данных. -М.: Мир, 1989, 695 с.

112. Рузинкевич М., Цикоцки А. Определение и выполнение потоков транзакций//СУБД, N2,4, 1995. С. 106-115.

113. Саймон А. Обработка транзакций // СУБД, №2, 1997 С. 70-82.

114. Саймон А. Стратегическая технология баз данных. Менеджмент на 2000 год. -М. Финансы и статистика, 1999, 220 с.

115. Смирнов С. Н. Работаем с Oracle: Учеб. пособие, -М., Еелиос, 1998, 3182. с.

116. Тан доев А. Архитектура продуктов клиент-сервер фирмы SYBASE // СУБД N1 1995.

117. Технологии Электронных Коммуникаций. Т. 30 Распределенные информационные системы на базе СУБД ORACLE. -M., СП "Эко-Трендз". НИФ "Электронные знания",Россия, 1992, 106 с.

118. Технологии Электронных Коммуникаций Т.37 СУБД ORACLE и ее сетевые применения. -М., СП "Эко-Трендз": НИФ "Электронные знания", 1993, 68 с.

119. Тихомиров Ю. В. Microsoft SQL Server 7.0: разработка приложений. -СПб., БХВ Санкт-Петербург, 1998, 352 с.

120. Ульман Дж. Введение в системы баз данных : Учебное пособие. —М., Лори, 2000, 374 с.

121. Фролов А. Базы данных в Интернете. -М., Русская редакция, 2000, 432 стр.

122. Хансен Н. Базы данных. Разработка и управление : Практическое пособие для специалистов. —М., Бином, 1999, 704 с.

123. Хоуг К. SQL Server 7. Проектирование баз данных : Учебное руководство. -М., Лори, 2000, 426 с.

124. Шнайдер Р. Д. Microsoft SQL Serwer: Проектирование высокопроизводительных баз данных, -М., ЛОРИ, 1998, 361 с.

125. Энсор Д. Стивенсон Й. Огас1е8: рекомендации разработчикам. -Киев, Изд. группа BIIV, 1998, 1253. с.

126. Яргер Д.Р., Риз Д., Кинг T. MySQL и mSQL Базы данных для небольших предприятий и Интернета, -СПб., Символ-Плюс, 2000, 560 стр.

127. ГОСУДАРСТВЕННАЯ ТЕХНИЧЕСКАЯ КОМИССИЯ ПРИ ПРЕЗИДЕНТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ

128. СИСТЕМА СЕРТИФИКАЦИИ СРЕДСТВ ЗАЩИТЫ ИНФОРМАЦИИ ПО ТРЕБОВАНИЯМ БЕЗОПАСНОСТИ ИНФОРМАЦИИ № РОСС 1Ш. 0001. 01БШ01. СЕРТИФИКАТ123

129. Выдан 21 октября 1997 г. Действителен до 21 октября 2000 г.

130. Заявитель ЗАО «Научно-производственное предприятие «РЕЛЭКС» (НГШ «РЕЛЭКС») Адрес - 394006, г.Воронеж» ул.20-л.0ктября, д. 119 Тел. (0732) 71-17-11

131. Инспекционный контроль соответствия СУБД «Линтер-версия 5» требованиям нормативных документов Гостехкомиссии России и технических условий осуществляется ИЦСА «БИН-ТЕХ». „

132. ПЕРВЫЙ ЗАМЕСТИТЕЛЬ ^/V' ПРЕДСЕДАТЕЛЯ ГОСТЕХКОМИССИИ РОр€ИИ1. Е.А.Беляевя<1

133. Настоящий сертификат внесш в Государственный реестр сертифицировать!* среди в зашяты ннформйцня 21 октября 1097 г. •1. Триложение II

134. Теорема 1 (основная теорема изолированности). Доказательство.

135. Пусть дана многоверсионная история Н.

136. История //эквивалентна истории Н', если ОЕР(Н') = БЕР(Н). Зависимости в гсториях определяют отношение порядка транзакций во времени. Обозначим то отношение порядка через «<н.

137. Покажем что, из свойства изолированности следует отсутствие шотЛок.

138. Покажем теперь что, из свойства отсутствия луогтЪоЬ следует золированность истории.

139. Покажем, что любое подмножество л транзакций истории Н не содержит vormhole. Если п<2, то история серийная, действительно, множество BEFORE AFTER может быть только пустой транзакцией.

140. Пусть Н' = (jti,ai,oi)eH\tl Н' есть история Н, откуда удалены вседействия транзакции Т . Тогда по условиям выбора т имеем

141. DEP(H') = {{Г, (о, /). Г) е DEP(H) \ Г * Т}. (1)

142. Н' не содержит wormhole, потому что их не содержит Н. Применим гредположение индукции к //'. Тогда существует некоторая серийная история Ш', эквивалентная данной Н'. SH' = Г, || Г7 |. || Г„,.

143. Покажем, что история SH = SH' || Тп = Г, || Т2 ||. .| Тпх || Т эквивалентна Н. В ;амом деле,

144. DEP(SH) = DEP(Sff' || Тп) = DEP(SH') и {(г(о, i), f) е DEP(H)}, (2) ю определению, DEP(SH') = DEP(H'). Подставляя (1) в (2) получим DEP(SH)={{T,(oJ),T')g DEP(H)v (г ,(o,i),f) е DEP(H)}= DEP(H), (3) сто и доказывает предположение индукции.

145. Теорема доказана полностью.

146. В заключение отметим, что многоверсионная история транзакций может >ыть представлена одноверсионной, согласно 16.

147. Проиллюстрируем теперь некоторые аномалии историй транзакций, оказывающие необходимость строгих определений феноменов, используемых s теоремах 2 и 3.

148. Возникновение зависимости lost update

149. T2,W(x)) -» (72, commit) ->2,2) (2,2)

150. Возникновение зависимости dirty read

151. Tl,R(x,y)) -> (Tl,W(y)) (T2,R(x,y)) (T2,W(y))10,110) (10,110) (10,90) (10,90) (10,80)

152. T2,W(x)) (T2,commit){\\\).20,80)

153. Таким образом, указанная аномалия показывает необходимость строгого »пределения данного феномена dirty read, а также тот факт, что отсутствие (анного феномена является одним из необходимых условий изолированности.

154. Возникновение зависимости unrepeatable read

155. Очевидно, что при выполнении в следующей последовательности операций >удет возникать рассогласование данных:

156. Г1, R(x)) -> (T2,R(x)) -> (T2,W(x)) (T2,R(v)) ->10.110) .y(7'I)=10 x(7'2)=I0 x(T 2)=0 " y(T 2)=110

157. T2.fV(y)) -> (T2, commit) -> (Г1, R(y)) -»v(7'2 )=120 (0.120) v(7"l)=l 20

158. T2,W(y)) (Г2,commit) (!!!)y(T2 )=130 (0.130)

159. Таким образом, указанная аномалия показывает необходимость строгого »пределения данного феномена unrepeatable read, а также тот факт, что »тсутствие данного феномена является одним из необходимых условий гзолированности.

160. Возникновение зависимости phantom

161. Т, R(x, у)) (Т, R(C)) (i/C < 10)(Г, W(x, у))х,у) (х,У) C-count(x.xeP) х:хеР

162. Т, W(counter)) —> (Т, commit)counter (Т)=С+1

163. Очевидно, что при выполнении в следующей последовательности операций 5удет возникать рассогласование данных:

164. Tl,R(x\,yl)) -> (TIR(O) -> (T2,R(x2,y2)) ->11.110),(20,100) (10,110) С (Т l)=count( х:х<-0)=9 (20,100)

165. T2,R(C)) -> {T\,W(xl,y\)) {T\,W (counter))

166. C(T2)=count(x-.x<=0)=9 (-10,130) counter(T\)=C+1=10

167. Tl, commit) (T2,W(x2,y2)) (T2, W(counter))counter=\0 (0.120) counter(V2)=C+U\01. T2,commit)(\\\)

168. Таким образом, указанная аномалия показывает необходимость строгого •пределения данного феномена phantom, а также тот факт, что отсутствие (анного феномена является одним из необходимых условий изолированности.

169. В приложении 5 подробно показано, каким образом могут возникать эеномены read skew, write skey, и как исключить их возникновение, используя писок Rival. транзакции.

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

171. Для иерархий транзакций в строгой интерпретации приведенные выше »ассуждения применяются без изменений.

172. Теорема 3. Доказательство.

173. Теперь остается показать, что ослабление данного ограничения не влечет юзникновение феноменов.

174. State((0,V{0,1))) = VER) л (Channel(TSN) = V(TSN)).

175. Но в этом случае условие создания версий нарушено. Аналогично фоводится рассуждение для обратного порядка операций модификации щнных транзакций. Таким образом, не возможен феномен грязной записи.

176. State({0,V(0,k))) = VER) A(Channel(TSN) < V(TSN))a TSN(V(ChannelNumber)) > V(TSN))a Channel(TSN) g RollbackQueue) a Channel (TSN) £ Rival\.)

177. Согласно структуре графа зависимостей иерархий транзакций 36., )ассуждения можно перенести на случай иерархии транзакций в строгой штерпретации.1риложение IIIаблица III.1. Расширение структуры описателя транзакции :hannelQuery

178. Объект Размерность (в byte) Описание

179. ChannelNumber 4 Номер канала. Не может превышать количество каналов, определенных при старте ядра сервера баз данных. Является переиспользуемым.

180. Child 4 Ссылка на список транзакций-потомков данной. Если у транзакции нет потомков, то она устанавливается в 0.

181. TLTTSN 6 TSN TLT транзакции, являющейся корнем иерархии. Данный TSN требуется для усиления ограничений видимости версий.

182. TSN 6 TSN текущей транзакции, которая изменяет данные. Фактически это является идентификатором транзакции. Эта метка присваивается в CHAIN всем версиям, созданным данной транзакцией.

183. Query TSN 6 QueryTSN=CwrentTSN на момент старта выполнения текущего запроса. Требуется для обеспечения согласованности чтения -для того, чтоб любой запрос выполнялся над согласованным набором данных, если только уровень изолированности это не усиливает.

184. ForcedRollback 1 Флаг указывает, что для оптимистической стратегии реализовался конфликт, и транзакцию автоматически откатят.

185. Visiblefl 4 Список транзакций-потомков данной транзакции, которые зафиксировались. Здесь содержится пара TSN и время завершения транзакции. При фиксации транзакции ее Visible. наследуется транзакцией-родителем.

186. Reservedf. 2 Зарезервированоаблица III.2. Структура Distributed

187. Объект Размерность (в byte) Описание

188. MainTSN 6 TSN агента-координатора, совпадает с TSN данного агента для агентов-координаторов

189. TSN 6 TSN данного агента, для агента координатора MainTSN=TSN

190. N channel 4 идентификатор канала в ChannelQuery, по которому работает транзакция.

191. DTCMChannel 4 Идентификатор канала связи DTCM, по которому работает запрос данных этого агента. Для TransactionType=Treserved он ставится в 0, так как 0-вой канал резервируется для служебных TRPC.

192. Transaction Type 1 Этот флаг указывает тип транзакции для распределенной среды: Free Это означает, что данный элемент Distributed свободен и может использоваться для занесения информации об агенте транзакции. Необходим для переиспользования.

193. Treserved Означает, что данный элемент зарезервирован для входящего агента транзакции

194. Tlocal означает, что транзакция выполняется только на данном узле. Tin это входящий агент транзакцииданные запрашиваются с этого узла другим узлом)1. Tout это исходящий агенттранзакции (этот узел запрашивает данные с другого узла).

195. Используется для согласованной фиксации агентов распределенной транзакции. Допустимые состояния: In Active не работает, не было ни одного запроса вообще.

196. Лс^'уеработает, в 2РС не входила. IPC транзакция выполняетфиксацию по протоколу однофазной фиксации (one phase commit), то есть операции модификации были только на одном узле (координаторе или участнике). CallFirst состояние вызовакоординатором VO

197. GetFirst состояние приема входящим агентом вызова координатора на VO 10К VO завершилась успешно,послано сообщение координатору 1FAIL VO завершилась не успешно, послано сообщение координатору, инициируется откат

198. Допустимые изменения состояния AgentState: No Work->NeedFull No Work->NeedRelease Ver NeedRelease Ver->NeedFul l1. Reserved1. Зарезервировано

199. ТриложениеIV 1ессимистическая стратегия.

200. Существенным недостатком этого протокола является позднее (етектирование конфликтов. Улучшить эту характеристику позволяет ледующий алгоритм оповещения:запрет на создание 2-х нефиксированных версий предотвращает конфликтаписи,

201. О необходимости присваивания записям, модифицированным гранзакцией, TSN из описателя транзакции или CurrentTSN и 1еобходимости структуры Rival.

202. Такое можно было бы делать, если бы не было уровней изолированности >Z, RR, CS.

203. Пусть ставится по commit TSN из описателя транзакции в логическую {епочку объекта данных.

204. П1(X)read->T2(X)write->T2(commit)->T1(X)read., (1)или такая2 (start) ->T 1 (start) ->Ti (start) . . . Ti-ьп (start) ->

205. П1(X)read->T2(X)write->T2(commit)->Г1(X)read., (2)

206. Теперь рассмотрим, что получится, если ставить в ROW.TSN TSN из »писателя транзакции. После модификации и фиксации объект X будет ¡одержать цепочку

207. ГО(TSN=CurrentTSN-l, VER)->Vl(TSN=CurrentTSN+l, VER)1. ,1ли

208. TSN=CurrentTSN-l, VER)->V1(TSN=CurrentTSN, VER (2),

209. Еще более сложная ситуация если операция вторая операция чтения 'ранзакции Т1 прерывается операцией commit Т2. То есть чтение началось до1риложение VI

210. Условие фиксированной версииlen или

211. ROW . ChannelNumberOC . ChannelNumber И VER И (TSN НЕ В RollbackQueue. ) И tsn(row.ChannelNumber)>ROW.tsn})

212. X) есть "уже считанная" запись этого канала, если такой нет, то4)10W. ChannelNumberOC. ChannelNumber И VER ИnSN=(max {ROW.TSN<=(max{С.TSN, C.QueryTSN}) И

213. TSN HE В RollbackQueue.) И (TSN HE В Rival[]) И

214. SN(ROW.ChannelNumber)>R0W.TSN}) (C.4)o есть фиксированная версия, но не последняя возможно в цепочке, а более >анняя (самая поздняя, которая видна).

215. TSN HE В (Rival.-Visible[])) И TSN(ROW.ChannelNumber)>ROW.TSN})n.4)o есть фиксированная версия, но не последняя возможно в цепочке, а более )анняя (самая поздняя, которая видна).

216. TSN HE В RollbackQueue.) И (TSN HE В (Rival[])) И

217. SN(ROW.ChannelNumber)>ROW.TSN}) (0.4)есть фиксированная версия, но не последняя возможно в цепочке, а более )анняя (самая поздняя, которая видна).0 DIRTY READ

218. I) допускается dirty read, unrepeatable read, phantom

219. TSN транзакции есть CurrentTSN на момент старта первого ее sql запроса. lueryTSN есть CurrentTSN на момент старта текущего sql запроса.словие видимости версий С.4 таково

220. ЮМ . ChannelNumberOC. ChannelNumber И VER И1SN=(max {CHAIN.TSN}

221. Игнорируются флаги VER, CAPTURE, а также TSN при выборках select, ielect . for update, select . for browse и во всех подзапросах. Считываются юследние версии в CHAIN, в т.ч. и нефиксированные версии то есть опускается (III)

222. При порождении другой транзакцией Т нефиксированной версии ранзакция в dirty read не может породить еще одну до фиксации Т согласно 'словию создания версий то есть запрещается (I) и (II)

223. TSN описателя транзакции в dirty read не может меняется с момента ее тарта, если транзакция работает в pessimistic или в optimistic в этом уровне изолированности.

224. I) исключается dirty read;1.) допускается unrepeatable read, phantom.

225. TSN транзакции есть CurrentTSN на момент старта первого ее sql запроса. lueryTSN есть CurrentTSN на момент старта текущего sql запроса.

226. Условие видимости версий С.4 таково ЮЭД . ChannelNumberOC . ChannelNumber И VER И ?SN=(max {(TSN HE В RollbackQueue.) И "SN(ROW.ChannelNumber)>ROW.TSN})

227. Отметим что условия N.4 и 0.4 для данного уровня изолированности в ючности совпадают с С.4.

228. Чтение чистых записей происходит, не зависимо от их TSN, а это >значает, что могут быть (IV) из-за того, что могут быть транзакции стартовавшие позже, но закончившиеся раньше, чем транзакция в cursor lability soft.

229. TSN описателя транзакции в cursor stability soft не может меняется с момента его старта, если транзакции работает в pessimistic или в optimistic в »том уровне изолированности.

230. CURSOR STABILITY сериализуемость одного курсора

231. V) допускается unrepeatable read, phantom при повторном выполнении запросов.

232. TSN транзакции есть CurrentTSN на момент старта первого ее sql запроса. lueryTSN есть CurrentTSN на момент старта текущего sql запроса.

233. Условие видимости версий С.4 таково IOW . ChannelNumberOC . ChannelNumber И VER И

234. SN=(max {ROW.TSN<=C.QueryTSN И (TSN HE В RollbackQueue.) И (TSN HE В Rival[]) И TSN(ROW.ChannelNumber)>ROW.TSN})

235. Условие видимости версий N.4 таково ЮИ. ChannelNumberOC. ChannelNumber И VER И

236. SN=(max {ROW.TSN<=C.QueryTSN И (TSN HE В RollbackQueue.) И (TSN HE В Rival[]-Visible[]) И TSN(ROW.ChannelNumber)>ROW.TSN})

237. Отметим что условие 0.4 для данного уровня изолированности в точности совпадает с С.4.

238. Тоже, что и в пункте 2) уровня 1.1

239. Чтение чистых записей происходит в зависимости от их TSN, а это >значает, что не могут быть (IV) в пределах одного курсора из-за того, что /югут быть транзакции стартовавшие позже, но закончившиеся раньше, чем :ранзакция в cursor stability.

240. QueryTSN такой транзакции при каждом запросе изменяется на 'ZurrentTSN, транзакция не видит фиксированные версии с TSN большим, чем VSNb ее описателе транзакции.

241. Очевидно, что (V) возможно, так как сериализуемость обеспечивается, лак, как написано в 5), 6), то есть только в пределах 1 запроса.

242. Чистое чтение данных и повторяемое чтение данных при повторном выполнении запросов:0)1. исключается dirty write; механизм запрет порождать 2 нефиксированные версии в цепочке;

243. И) исключается влияние модификаций транзакции, работающей в cursor stability (soft) на транзакции выше 1.0; механизм -ограничение видимости TSN и попадание такой транзакции в Rival. всех активных транзакций с TSN большими TSN данной транзакции;

244. I) исключается dirty read;1.) исключается unrepeatable read, phantom в пределах одного курсора (open cursor . close cursor для одного запроса дает всегда одни и те же данные);

245. V) не допускается unrepeatable read, phantom при повторном выполнении запросов;

246. TSN транзакции есть CurrentTSN на момент старта первого ее sql запроса. lueryTSN есть CurrentTSN на момент старта первого sql запроса.

247. Условие видимости версий С.4 таково10W . ChannelNumberOC . ChannelNumber И VER ИrSN=(max {ROW.TSN<=C.TSM И (TSN HE В RollbackQueue.) И

248. TSN HE В Rival.) И TSN(ROW.ChannelNumber)>ROW.TSN})

249. Условие видимости версий N.4 таково ^OW. ChannelNumberOC. ChannelNumber И VER И rSN=(max {ROW.TSN<=C.TSN И (TSN HE В RollbackQueue.) И (TSN HE В Rival[]-Visible[]) И TSN(ROW.ChannelNumber)>ROW.TSN})

250. Отметим что условие 0.4 для данного уровня изолированности в точности совпадает с С.4.

251. Тоже, что и в пункте 2) уровня 1.1

252. TSN описателя транзакции в repeatable read может меняется с момента его ;тарта, если транзакция работает в pessimistic или в optimistic в этом уровне гзолированности.

253. A SERIALIZABLE SNAPSHOT снимок базы на момент старта транзакции

254. V) не допускается unrepeatable read, phantom при повторном выполнении запросов

255. TSN транзакции есть CurrentTSN на момент ее старта. QueryTSN есть 7urrentTSN на момент старта первого sql запроса.

256. Условие видимости версий С.4 таково IOW. ChannelNumberOC. ChannelNumber И VER И :SN=(max {ROW.TSM<=C.TSN И (TSN НЕ В RollbackQueue.) И ;tSN НЕ в Rival[]) И TSN(ROW.ChannelNumber)>ROW.TSN})

257. Условие видимости версий N.4 таковоlow, ChannelNumberOC. ChannelNumber И VER И1SN=(max {ROW.TSN<=C.TSN И (TSN НЕ В RollbackQueue.) И

258. TSN НЕ В Rival.-Visible[]) И TSN(ROW.ChannelNumber)>ROW.TSN})

259. Отметим что условие 0.4 для данного уровня изолированности в точности ювпадает с С.4.

260. Тоже, что и в пункте 2) уровня 1.1

261. Очевидно, что (V) не возможно, так как сериализуемость обеспечивается, ак как написано в 5), 6), но не только в пределах 1 запроса, а с момента старта ранзакции.

262. TSN описателя транзакции в repeatadle read может меняется с момента его тарта, если транзакция работает в pessimistic или в optimistic в этом уровне золированности.

263. Уровнем изолированности по умолчанию считается pessimistic с cursor lability по этому уровню изолированности работает autocommit с ринудительным commit после каждого запроса.

264. Уровни изолированности транзакций read-only.

265. Для такой транзакции запрещены dml, в описателе транзакции уставлен READONLY. При подаче dml по такому описателю транзакции

266. TSN транзакции есть CurrentTSN на момент старта первого ее sql запроса. JueryTSN есть CurrentTSN на момент старта текущего sql запроса.

267. Условие видимости версий С.4 таково IOW. ChannelNumberOC . ChannelNumber И VER ИnSN=(max {ROW.TSN<=C.QueryTSN И (TSN HE В RollbackQueue.) И ;TSN HE в Rival[]) И TSN(ROW.ChannelNumber)>ROW.TSN})

268. Условие видимости версий N.4 таково low. ChannelNumberOC . ChannelNumber И VER И

269. SN=(max {ROW.TSN<=C.QueryTSN И (TSN HE В RollbackQueue.) И ¡TSN HE В Rival[]-Visible[]) И TSN(ROW.ChannelNumber)>ROW.TSN})

270. Отметим что условие 0.4 для данного уровня изолированности в точности совпадает с С.4.

271. При чтении измененных или считанных такой транзакцией версий другие транзакции ее не ожидают, новые записи не порождают то есть запрещается II).

272. V) допускается unrepeatable read, phantom при повторном выполнении запросов

273. TSN транзакции есть CurrentTSN на момент ее старта. QueryTSN есть ZurrentTSN на момент старта ее первого sql запроса.

274. Условие видимости версий С.4 таково IOW. ChannelNumberOC . ChannelNumber И VER И "SN=(max {ROW.TSN<=C.TSN И (TSN HE В RollbackQueue.) И TSN HE В Rival[J) И TSN(ROW.ChannelNumber)>ROW.TSN})

275. Условие видимости версий N.4 таковоlow. ChannelNumberOC. ChannelNumber И VER И

276. SN=(max {ROW.TSN<=C.TSN И (TSN НЕ В RollbackQueue.) И

277. TSN НЕ В Rival.-Visible[]) И TSN(ROW.ChannelNumber)>ROW.TSN})

278. Отметим что условие 0.4 для данного уровня изолированности в точности ювпадает с С.4.

279. Тоже, что и в пункте 2) уровня 1.5

280. Тоже, что и в пункте 3) уровня 1.5