
- •1.Три основные пути разработки по для автоматизации предприятий, их достоинства и недостатки.
- •2. Особенности информационного обеспечения систем управления, виды информации, правовое обеспечение информационных технологий.
- •3. Системы управления базами данных, примеры субд, история развития субд
- •4. Функции и состав субд.
- •5. Информационная безопасность, ее аспекты и основные программно-технические меры обеспечения.
- •6. Классификация субд
- •7. Реляционная база данных и основные её понятия.
- •8. Понятие о языке sql (Structured Query Language - структурированный язык запросов).
- •9. Операторы sql.
- •10. Основы проектирования баз данных, уровни моделирования.
- •11. Шаги проектирования базы данных
- •12.Шестой шаг проектирования базы данных (нормализация отношений)
- •13.Понятия oltp- и olap-систем (примеры).
- •14. Инфологическое проектирование базы данных.
- •15. Основные понятия модели Entity-Relationship.
- •16. Сложные элементы er-диаграмм, получение реляционной схемы из er-схемы.
- •17. Разработать er-диаграмму (отличную от примера в лекциях, с количеством сущностей не менее пяти).
- •18. Проектирование внутренней схемы базы данных (привести пример отличный от примера в лекциях с числом отношений не менее трех).
- •19. Параллельная обработка данных, понятия о конвейерности и параллелизме.
- •20. Транзакции и параллелизм, понятия смеси транзакций и графика запуска набора транзакций.
- •21.Проблемы параллельной работы транзакций. Проблема потери результатов обновления.
- •22.Проблемы параллельной работы транзакций.Проблема незафиксированной зависимости (чтение "грязных" данных, неаккуратное считывание).
- •23. Проблемы параллельной работы транзакций. Проблема несовместимого анализа (три вида).
- •24. Конфликты между транзакциями (типа w-w, r-w, w-r). Понятия последовательного, чередующегося, эквивалентного и верного (сериализуемого) графика запуска набора транзакций.
- •25. Понятия X- и s-блокировок, протокол доступа к данным с использованием этих типов блокировок.
- •28. Понятие о тупиковых ситуациях, общий вид возникновения тупика, два принципиальных подхода к обнаружению тупиковой ситуации.
- •29. Понятие о преднамеренных блокировках. Is-, IX- и six-блокировки. Протокол доступа к данным с использованием преднамеренных блокировок
- •30. Решение проблемы фиктивных элементов (фантомов) с использованием протокола преднамеренных блокировок для доступа к данным.
- •31) Метод временных меток для сериализации транзакций
- •32) Механизм выделения версий данных при параллельной работе транзакций
- •33) Основные понятия баз знаний
- •34) Структура статической экспертной системы, ее основные элементы
- •35) Структура динамической экспертной системы, ее основные элементы.
- •36. Разработка экспертной системы (условия возможности и целесообразности разработки, этапы разработки).
- •37. Знания, необходимые для функционирования экспертной системы.
- •38. Понятия об erp,mrp(II) – системах, их основные подсистемы, понятия хранилища данных.
- •39. Основные направления развития субд.
31) Метод временных меток для сериализации транзакций
Существуют два базовых подхода к сериализации транзакций - основанный на синхронизационных захватах объектов базы данных и на использовании временных меток. Суть обоих подходов состоит в обнаружении конфликтов транзакций и их устранении. Ниже мы рассмотрим эти подходы сравнительно подробно.
Предварительно заметим, что для каждого из подходов имеются две разновидности - пессимистическая и оптимистическая. При применении пессимистических методов, ориентированных на ситуации, когда конфликты возникают часто, конфликты распознаются и разрешаются немедленно при их возникновении. Оптимистические методы основываются на том, что результаты всех операций модификации базы данных сохраняются в рабочей памяти транзакций. Реальная модификация базы данных производится только на стадии фиксации транзакции. Тогда же проверяется, не возникают ли конфликты с другими транзакциями.
Далее мы ограничимся рассмотрением более распространенных пессимистических разновидностей методов сериализации транзакций. Пессимистические методы сравнительно просто трансформируются в свои оптимистические варианты.
Альтернативный метод сериализации транзакций, хорошо работающий в условиях редких конфликтов транзакций и не требующий построения графа ожидания транзакций. основан на использовании временных меток.
Основная идея метода (у которого существует множество разновидностей) состоит в следующем: если транзакция T1 началась раньше транзакцииT2, то система обеспечивает такой режим выполнения, как если быT1 была целиком выполнена до началаT2.
Для этого каждой транзакции Tпредписывается временная меткаt, соответствующая времени началаT. При выполнении операции над объектомrтранзакцияTпомечает его своей временной меткой и типом операции (чтение или изменение).
Перед выполнением операции над объектом rтранзакцияT1 выполняет следующие действия:
Проверяет, не закончилась ли транзакция T, пометившая этот объект. ЕслиTзакончилась,T1 помечает объектrи выполняет свою операцию.
Если транзакция Tне завершилась, тоT1 проверяет конфликтность операций. Если операции неконфликтны, при объектеrостается или проставляется временная метка с меньшим значением, и транзакцияT1 выполняет свою операцию.
Если операции T1 иTконфликтуют, то еслиt(T) >t(T1) (т.е. транзакцияTявляется более "молодой", чемT), производится откатTиT1 продолжает работу.
Если же t(T) <t(T1) (T"старше"T1), тоT1 получает новую временную метку и начинается заново.
К недостаткам метода временных меток относятся потенциально более частые откаты транзакций, чем в случае использования синхронизационных захватов. Это связано с тем, что конфликтность транзакций определяется более грубо. Кроме того, в распределенных системах не очень просто вырабатывать глобальные временные метки с отношением полного порядка (это отдельная большая наука).
Но в распределенных системах эти недостатки окупаются тем, что не нужно распознавать тупики, а как мы уже отмечали, построение графа ожидания в распределенных системах стоит очень дорого.