WikiDer > Глобальная сериализуемость
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
В контроль параллелизма из базы данных, обработка транзакции (управление транзакциями) и другие транзакционные распределенные приложения, глобальная сериализуемость (или же модульная сериализуемость) является свойством глобальное расписание из сделки. Глобальное расписание - это единый график всей индивидуальной базы данных (и других транзакционный объект) расписания в среде с несколькими базами данных (например, объединенная база данных). Соблюдение глобальной сериализуемости означает, что глобальное расписание сериализуемый, имеет сериализуемость свойство, в то время как каждая база данных компонентов (модуль) также имеет сериализуемое расписание. Другими словами, набор сериализуемых компонентов обеспечивает общую сериализуемость системы, что обычно неверно. Необходимость в корректности всех баз данных в системах с несколькими базами данных делает глобальную сериализуемость основной целью для глобальный контроль параллелизма (или же модульное управление параллелизмом). С распространением Интернет, Облачные вычисления, Грид-вычисления, а также небольшие портативные мощные вычислительные устройства (например, смартфоны), а также увеличение управление системами изощренность, потребность в атомарных распределенных транзакциях и, следовательно, в эффективных методах глобальной сериализуемости для обеспечения корректности в распределенных транзакционных приложениях и между ними, кажется, возрастает.
В система федеративных баз данных или любой другой, более свободно определенной системы с несколькими базами данных, которые обычно распределяются в сети связи, транзакции охватывают несколько (и, возможно, распределен) базы данных. Обеспечение глобальной сериализуемости в такой системе, где разные базы данных могут использовать разные типы контроль параллелизма, это проблематично. Даже если каждое локальное расписание отдельной базы данных сериализуемо, глобальное расписание всей системы не обязательно сериализуемо. Массовый обмен информацией о конфликтах между базами данных для достижения сериализуемость конфликта в глобальном масштабе приведет к неприемлемой производительности, в первую очередь из-за компьютера и связи задержка. Эффективное достижение глобальной сериализуемости с помощью различных типов управления параллелизмом было открыто на несколько лет. Заказ обязательств (или Commit ordering; CO), метод сериализуемости, публично представленный в 1991 г. Йоав Раз из Корпорация цифрового оборудования (DEC), обеспечивает эффективное общее решение для глобальных (конфликт) сериализуемость в любом наборе систем баз данных и других транзакционные объекты, с возможно другими механизмами управления параллелизмом. CO не нуждается в распространении информации о конфликтах, а скорее использует уже необходимую (немодифицированную) атомарное обязательство сообщения протокола без дальнейшего обмена данными между базами данных. Это также позволяет оптимистичный (неблокирующие) реализации. СО обобщает сильная строгая двухфазная синхронизация (SS2PL), который в сочетании с двухфазная фиксация (2PC) протокол является стандарт де-факто для достижения глобальной сериализуемости в системах баз данных (на основе SS2PL). В результате системы баз данных, совместимые с CO (с любыми различными типами управления параллелизмом), могут прозрачно присоединяться к существующим решениям на основе SS2PL для глобальной сериализуемости. То же самое относится и ко всем другим системам с несколькими (транзакционными) объектами, которые используют атомарные транзакции и нуждаются в глобальной сериализуемости для корректности (см. Примеры выше; в настоящее время такая потребность не меньше, чем с системами баз данных, источником атомарных транзакций).
Наиболее важные аспекты CO, которые делают его уникально эффективным общим решением для глобальной сериализуемости, следующие:
- Полная интеграция с низкими накладными расходами с любым механизмом управления параллелизмом без изменения расписания операций или их блокирования, а также без добавления каких-либо новых операций.
- Неоднородность: Глобальная сериализуемость достигается через несколько транзакционные объекты (например., системы управления базами данных) с разными (любыми) механизмами управления параллелизмом, не мешая их работе.
- Модульность: Транзакционные объекты можно добавлять и удалять прозрачно.
- Автономия транзакционных объектов: нет необходимости в конфликте или эквивалентном распределении информации (например, локальные отношения приоритета, блокировки, временные метки или билеты; ни один объект не нуждается в другой информации объекта).
- Масштабируемость: С "обычными" глобальными транзакциями, компьютерная сеть размер и количество транзакционных объектов могут неограниченно увеличиваться без ущерба для производительности, и
- Автоматическое разрешение глобального тупика.
Всеми этими аспектами, кроме первых двух, обладают и популярные SS2PL, который является (ограниченным, блокирующим) частным случаем CO и наследует многие качества CO.
Проблема глобальной сериализуемости
Постановка задачи
Описанные выше трудности превращаются в следующую проблему:
- Найдите эффективный (высокопроизводительный и отказоустойчивой) метод принудительного исполнения Глобальная сериализуемость (сериализуемость глобального конфликта) в неоднородной распределенной среде нескольких автономных систем баз данных. В системах баз данных могут использоваться разные контроль параллелизма методы. Не следует налагать никаких ограничений на операции локальных транзакций (ограниченных одной системой базы данных) или глобальные транзакции (охватывают две или более системы баз данных).
Котировки
Отсутствие подходящего решения проблемы глобальной сериализуемости побудило исследователей искать альтернативы сериализуемость в качестве критерия корректности в среде с несколькими базами данных (например, см. Расслабляющая глобальная сериализуемость ниже), и проблема была охарактеризована как трудная и открыто. Следующие две цитаты демонстрируют образ мышления по этому поводу к концу 1991 года, с аналогичными цитатами во многих других статьях:
- «Без знаний о локальных и глобальных транзакциях маловероятно, что может быть обеспечен эффективный глобальный контроль параллелизма ... Дополнительные сложности возникают, когда различные компонентные СУБД [системы управления базами данных] и FDBMS [системы управления федеративными базами данных] поддерживают разный параллелизм механизмы ... Маловероятно, что теоретически элегантное решение, которое обеспечивает сериализуемость конфликтов без ущерба для производительности (т. е. параллелизма и / или времени отклика) и доступность существуют."[1]
Заказ обязательств,[2][3] публично представленный в мае 1991 г. (см. ниже), обеспечивает эффективную элегантный общее решение, из практических[4][5] и теоретический[6] с точки зрения глобальной проблемы сериализуемости в системах баз данных с возможно разными механизмами управления параллелизмом. Он обеспечивает сериализуемость конфликтов без отрицательного влияния на доступность и с производительностью не хуже, чем у стандарт де-факто для глобальной сериализуемости особый случай CO сильная строгая двухфазная синхронизация (SS2PL). Это не требует знаний ни о локальных, ни о глобальных транзакциях.
- «Управление транзакциями в гетерогенной распределенной системе баз данных - сложный вопрос. Основная проблема заключается в том, что каждая из локальных систем управления базами данных может использовать разные типы схем управления параллелизмом. Интеграция этой сложной проблемы, которая может усугубиться, если мы хотим чтобы сохранить локальную автономию каждой из локальных баз данных и позволить локальным и глобальным транзакциям выполняться параллельно.Одним из простых решений является ограничение глобальных транзакций доступом только для извлечения. Однако проблема надежного управления транзакциями в общем случае, где глобальным и локальным транзакциям разрешены как чтение, так и запись данных, является Все еще открыт."[7]
Решение для упорядочивания обязательств включает в себя эффективную интеграцию автономных систем управления базами данных с возможно различными механизмами контроля параллелизма. При этом локальные и глобальные транзакции выполняются параллельно без ограничения каких-либо операций чтения или записи как в локальных, так и в глобальных транзакциях и без ущерба для автономности системы.
Даже в более поздние годы, после публичного представления общего решения об обязательстве в 1991 году, проблема все еще рассматривалась многими как неразрешимая:
- «Мы представляем модель транзакций для систем с несколькими базами данных с автономными компонентными системами, разработанными разнородными трехуровневыми транзакциями. Стало очевидным, что в такой системе требования обеспечения полного КИСЛОТА собственность и полная местная автономия несовместимы ... "[8]
Цитата выше взята из статьи 1997 года, в которой предлагается упрощенное решение глобальной сериализуемости (см. Расслабляющая глобальная сериализуемость ниже), и ссылаясь Заказ обязательств (CO) статьи. Решение CO эффективно поддерживает как полную КИСЛОТА собственности и полной местной автономии, а также выполнение других требований, изложенных выше в Постановка задачи раздел, и, очевидно, был неправильно понят.
Подобное мышление мы видим также в следующей цитате из статьи 1998 года:
- «Концепция сериализуемости является традиционно принятым критерием корректности в системах баз данных. Однако в системах с несколькими базами данных (MDBS) обеспечение глобальной сериализуемости является сложной задачей. Трудность возникает из-за неоднородности протоколов управления параллелизмом, используемых участвующей локальной базой данных. системы управления (СУБД) и стремление сохранить автономность локальных СУБД. В общем, решения проблемы глобальной сериализуемости приводят к выполнению с низкой степенью параллелизма. Альтернатива, ослабленная сериализуемость, может привести к несогласованности данных ".[9]
Также в цитированной выше статье предлагается упрощенное решение глобальной сериализуемости со ссылкой на работу CO. Решение CO для глобальной сериализуемости как мосты между различными протоколами управления параллелизмом, без существенного сокращения параллелизма (и обычно незначительное, если оно вообще есть), и поддерживает автономность локальных СУБД. Очевидно, и здесь CO было неправильно понято. Это недоразумение продолжается до 2010 года в учебнике некоторых из тех же авторов, где используется та же самая расслабленная техника глобальной сериализуемости, Двухуровневая сериализуемость, подчеркивается и подробно описывается, а СО вообще не упоминается.[10]
С другой стороны, следующая цитата о СО появляется в книге 2009 года:[11]
- «Не все алгоритмы управления параллелизмом используют блокировки ... Три других метода - это упорядочивание по отметкам времени, тестирование графа сериализации и упорядочение фиксации. Порядок отметок времени присваивает каждой транзакции метку времени и обеспечивает выполнение конфликтующих операций в порядке меток времени. Тестирование графа сериализации отслеживает конфликты и обеспечивает ацикличность графа сериализации. Закрепить заказ гарантирует, что конфликтующие операции соответствуют относительному порядку фиксации их транзакций, что может обеспечить взаимодействие систем, использующих различные механизмы управления параллелизмом ».
- Комментарии:
- Помимо общего алгоритма на основе блокировки SS2PL, который сам является вариантом CO, существуют также дополнительные варианты CO, которые используют блокировки (см. Ниже). Однако общий или "чистый" CO не использует блокировки.
- Поскольку механизмы CO упорядочивают события фиксации в соответствии с уже возникшими конфликтами, CO лучше описать как "Закрепить заказ гарантирует, что относительный порядок, в котором фиксируются транзакции, соответствует порядку их соответствующих конфликтующих операций ".
Характеристики и свойства раствора CO обсуждаются ниже.
Предлагаемые решения
Было предложено несколько решений, некоторые частичные, для проблемы глобальной сериализуемости. Среди них:
- Глобальный граф конфликтов (график сериализуемости, граф приоритета) проверка
- Распространено Двухфазная блокировка (Распределенный 2PL)
- Распространено Порядок меток времени
- Билеты (локальные логические временные метки, которые определяют локальные общие заказы и распространяются для определения глобального частичного порядка транзакций)
- Заказ обязательств
Технологическая перспектива
Проблема глобальной сериализуемости была предметом достаточно интенсивных исследований в конце 1980-х - начале 1990-х годов. Заказ обязательств (CO) предоставил эффективное общее решение проблемы, понимание ее и понимание возможных обобщений сильная строгая двухфазная синхронизация (SS2PL), который практически и почти исключительно использовался (вместе с Протокол двухфазной фиксации (2PC)) с 1980-х годов для достижения глобальной сериализуемости между базами данных. Важным дополнительным преимуществом CO является автоматический глобальный тупик разрешение, которое он обеспечивает (это применимо также к распределенному SS2PL; хотя глобальные взаимоблокировки были важным предметом исследования для SS2PL, автоматическое разрешение игнорировалось, за исключением статей CO, до сегодняшнего дня (2009)). В то время существовало довольно много типов коммерческих систем баз данных, многие нереляционные, а базы данных были относительно небольшими. Системы с несколькими базами данных считались ключом к масштабируемости базы данных за счет взаимодействия систем баз данных, и срочно требовалась глобальная сериализуемость. С тех пор огромный прогресс в области вычислительной мощности, хранения данных и сетей связи привел к порядки величины увеличение размеров централизованных баз данных, скорости транзакций и удаленного доступа к возможностям базы данных, а также стирание границ между централизованными и распределенными вычислениями в быстрых локальных сетях с низкой задержкой (например, Infiniband). Все это вместе с прогрессом в распределенных решениях поставщиков баз данных (в первую очередь, популярном SS2PL на базе 2PC, стандарт де-факто что обеспечивает возможность взаимодействия между базами данных разных производителей (на основе SS2PL); технологии SS2PL и 2PC приобрели значительный опыт и эффективность), рабочий процесс системы управления и репликация базы данных технологии, в большинстве случаев обеспечивают удовлетворительное, а иногда и более эффективное информационные технологии решения без нескольких атомарных баз данных распределенные транзакции над базами данных с различным контролем параллелизма (в обход проблемы, описанной выше). В результате ощущение срочности, существовавшее в то время в связи с проблемой, и в целом с высокопроизводительными распределенными атомарными транзакциями в базах данных с различными типами управления параллелизмом, уменьшилось. Однако потребность в параллельных распределенных атомарных транзакциях как фундаментальном элементе надежности существует и в распределенных системах за пределами систем баз данных, и поэтому потребность в глобальной сериализуемости как фундаментальном критерии корректности для таких транзакционных систем (см. Также Распределенная сериализуемость в Сериализуемость). С распространением Интернет, Облачные вычисления, Грид-вычисления, небольшие, портативные, мощные вычислительные устройства (например, смартфоны), и сложные управление системами потребность в эффективных методах глобальной сериализуемости для обеспечения корректности в распределенных транзакционных приложениях и между ними, похоже, возрастает, и, следовательно, также возрастает потребность в упорядочивании обязательств (включая популярный для баз данных специальный случай SS2PL; SS2PL, однако, не отвечает требованиям многих других транзакционные объекты).
Решение для заказа обязательств
Заказ обязательств[2][3] (или Commit ordering; CO) - единственный высокопроизводительный, отказоустойчивой, сериализуемость конфликта предоставление решения, которое было предложено как полностью распределенное (не требуется центральный вычислительный компонент или структура данных), общий механизм, который можно легко комбинировать с любым локальным (в базе данных) контроль параллелизма механизм (см. техническое резюме). Поскольку свойство расписания CO является необходимое условие для глобальной сериализации автономные базы данных (в контексте управления параллелизмом) он обеспечивает единственное общее решение для автономных баз данных (т.е. если автономные базы данных не соответствуют требованиям CO, глобальная сериализуемость может быть нарушена). Кажется, что по чистой случайности раствор CO обладает многими привлекательными свойствами:
- не вмешивается ни в какие операции транзакции, в частности не блокирует, не ограничивает и не задерживает любую операцию доступа к данным (чтение или запись) для локальных или Глобальный транзакции (и, следовательно, не вызывает лишних прерываний); Таким образом, обеспечивается бесшовная интеграция с любым механизмом управления параллелизмом.
- позволяет оптимистичный реализации (неблокирующий, то есть без блокировки доступа к данным).
- позволяет неоднородность: Глобальная сериализуемость достигается через несколько транзакционные объекты с разными (любыми) механизмами управления параллелизмом, не мешая работе механизмов.
- позволяет модульность: Транзакционные объекты можно добавлять и удалять прозрачно.
- позволяет полностью КИСЛОТА сопровождение сделки.
- поддерживает каждую базу данных автономия, и не требует какого-либо распределения информации управления параллелизмом (например, отношений локального приоритета, блокировок, временных меток или билетов).
- не требует никаких знаний о транзакциях.
- не требует накладных расходов на связь, поскольку использует только уже необходимые, немодифицированные атомарное обязательство сообщения протокола (любой такой протокол; использование отказоустойчивой протоколы атомарной фиксации и системы баз данных делают решение CO отказоустойчивым).
- автоматически решает глобальные тупиковые ситуации из-за запирание.
- масштабируется эффективно с компьютерная сеть размер и количество баз данных почти без какого-либо отрицательного влияния на производительность, поскольку каждая глобальная транзакция обычно ограничивается определенным относительно небольшим количеством баз данных и сетевых узлов.
- не требует дополнительных операций доступа к искусственным транзакциям (например, "взять отметка времени"или" принять билет "), что обычно приводит к дополнительным искусственным конфликтам, которые уменьшают параллелизм.
- требует низких накладных расходов.
Единственные накладные расходы, которые несет решение CO, - это локальное обнаружение конфликтов (что уже выполняется любым известным механизмом сериализуемости, как пессимистическим, так и оптимистичным) и локальное упорядочение в каждой системе базы данных как (локальных) фиксаций локальных транзакций, так и голосования за атомарную фиксацию глобальных транзакций. Такие накладные расходы низкие. Чистым эффектом CO могут быть некоторые задержки событий фиксации (но никогда не больше, чем SS2PL, и в среднем меньше). Это делает CO инструментом глобального управления параллелизмом систем с несколькими базами данных (например, системы федеративных баз данных). Лежащий в основе Теория упорядочивания обязательств,[6] часть Сериализуемость теория, одновременно здравый и элегантный (и даже "математически красивый"; относится к структуре и динамике конфликтов, циклам графов и взаимоблокировкам), с интересными последствиями для транзакционных распределенные приложения.
Все качества CO в списке выше, кроме первых трех, также принадлежат SS2PL, который является частным случаем CO, но блокирующим и ограничивающим. Это частично объясняет популярность SS2PL как решения (практически единственного решения на многие годы) для достижения глобальной сериализуемости. Однако указанное выше свойство 9, автоматическое разрешение глобальных тупиков, не было замечено для SS2PL в исследовательской литературе по базам данных до сегодняшнего дня (2009 г .; кроме публикаций CO). Это связано с тем, что явление тупиков при голосовании в таких средах и их автоматическое разрешение атомарное обязательство протокол был упущен из виду.
Большинство существующих систем баз данных, включая все основные коммерческие системы баз данных, являются сильная строгая двухфазная синхронизация (SS2PL) основаны и уже соответствуют требованиям CO. Таким образом, они могут участвовать в Решение на основе CO для глобальной сериализации в средах с несколькими базами данных без доработок (кроме популярных многоверсионность, где следует учитывать дополнительные аспекты CO). Достижение глобальной сериализуемости в базах данных на основе SS2PL с использованием атомарной фиксации (в основном с использованием двухфазная фиксация, 2ПК) использовался в течение многих лет (то есть с использованием одного и того же решения CO для конкретного особого случая; однако до CO не известно ни одной ссылки, которая отмечает автоматическое разрешение глобального тупика в этом особом случае с помощью протокола атомарной фиксации расширенный-конфликт-граф процесс исключения глобального цикла). Практически все существующие среды обработки распределенных транзакций и вспомогательные продукты полагаются на SS2PL и обеспечивают 2PC. Фактически SS2PL вместе с 2PC стали стандарт де-факто. Это решение с однородным управлением параллелизмом, субоптимальным (когда и Сериализуемость, и Строгость необходимы; видеть Заказ со строгим обязательством; SCO), но по-прежнему достаточно эффективен в большинстве случаев, иногда за счет увеличения вычислительной мощности, необходимой относительно оптимальной. (Однако для лучшей производительности ослабленная сериализуемость используется всякий раз, когда это позволяют приложения). Он обеспечивает взаимодействие между SS2PL-совместимыми системами баз данных различных типов, то есть допускает неоднородность в аспектах, отличных от управления параллелизмом. SS2PL является очень ограничивающим свойством расписания и «берет верх» в сочетании с любым другим свойством. Например, в сочетании с любым оптимистичное свойство, результат уже не оптимистичен, а скорее характерен для SS2PL. С другой стороны, CO вообще не меняет шаблоны планирования доступа к данным, и любой Характеристики совмещенного имущества остаются неизменными. Поскольку также CO использует атомарное обязательство (например, 2PC) для достижения глобальной сериализуемости, как это делает SS2PL, любая CO-совместимая система базы данных или транзакционный объект может прозрачно присоединяться к существующим средам на основе SS2PL, использовать 2PC и поддерживать глобальную сериализуемость без каких-либо изменений среды. Это делает CO прямым, естественным обобщением SS2PL для любой системы баз данных, основанной на сериализуемости конфликтов, для всех практических целей.
Упорядочивание обязательств было довольно широко известно внутри обработка транзакции и базы данных сообщества в Корпорация цифрового оборудования (DEC) с 1990 года. конфиденциальность компании из-за патентование[4][5] процессы. CO была раскрыта за пределами DEC в ходе лекций и распространения технических отчетов среди исследователей баз данных в мае 1991 года, сразу после первой подачи патента. Многие исследователи баз данных неверно истолковали его через много лет после его появления, о чем свидетельствуют приведенные выше цитаты из статей 1997–1998 годов, в которых упоминаются статьи о порядке выполнения обязательств. С другой стороны, CO широко использовался как решение для глобальной сериализации в работах по Транзакционные процессы,[12][13] и совсем недавно в связанных Re: GRIDiT, [14][15]который является подходом к управлению транзакциями в конвергентных Грид-вычисления и Облачные вычисления. Смотрите больше в История упорядочивания обязательств.
Расслабляющая глобальная сериализуемость
Некоторые методы были разработаны для ослабленная глобальная сериализуемость (т.е. они не гарантируют глобальную сериализуемость; см. также Расслабляющая сериализуемость). Среди них (по несколько публикаций):
В то время как локальные (для системы базы данных) ослабленные методы сериализации ставят под угрозу сериализуемость для увеличения производительности (и используются только тогда, когда приложение может допускать возможные результирующие неточности или его целостность не повреждена), неясно, что различные предлагаемые ослабленная глобальная сериализуемость методы, которые компрометируют глобальная сериализуемость, обеспечить любой прирост производительности по сравнению с заказ на обязательство что гарантирует глобальную сериализуемость. Обычно заявленная цель таких методов заключалась не в улучшении производительности по сравнению с эффективными методами глобальной сериализуемости (которые, очевидно, были неизвестны изобретателям), а скорее в альтернативах критериев корректности из-за отсутствия известного эффективного метода глобальной сериализуемости. Как ни странно, некоторые из них были представлены спустя годы после появления CO, а некоторые даже цитируют CO, не понимая, что он обеспечивает эффективное решение для глобальной сериализуемости, и, таким образом, без сравнения производительности с CO, чтобы оправдать их в качестве альтернативы глобальной сериализуемости для некоторых приложений (например, Двухуровневая сериализуемость[9]). Двухуровневая сериализуемость даже представлен как один из основных методов глобального управления параллелизмом в учебнике по базам данных выпуска 2010 г.[10] (Авторы двух оригинальных авторов Двухуровневой сериализуемости, где один из них, Ави Зильбершатц, также является автором оригинала Высокая восстанавливаемость статьи). В этой книге CO не упоминается и не упоминается, и, как ни странно, очевидно, что CO не рассматривается как действительный Глобальная сериализуемость решение.
Другой распространенной причиной ослабления глобальной сериализуемости в настоящее время является требование доступность из Интернет продукты и Сервисы. На это требование обычно отвечают крупномасштабные данные. репликация. Простое решение для синхронизации обновлений реплик одного и того же объекта базы данных - это включение всех этих обновлений в один атомарный распределенная транзакция. Однако для многих реплик такая транзакция очень велика и может охватывать несколько компьютеры и сети что некоторые из них, вероятно, будут недоступны. Таким образом, такая транзакция, скорее всего, завершится прерыванием и не достигнет своей цели.[17]Как следствие, Оптимистичная репликация (Ленивая репликация) часто используется (например, во многих продуктах и услугах Google, Amazon, Yahooи тому подобное), в то время как глобальная сериализуемость ослаблена и скомпрометирована для возможная последовательность. В этом случае релаксация выполняется только для приложений, которые, как ожидается, не пострадают.
Классы расписаний, определенные ослабленная глобальная сериализуемость свойства либо содержат глобальный класс сериализуемости, либо несовместимы с ним. Что отличает техники для ослабленная сериализуемость глобального конфликта (RGCSR) свойства из расслабленная сериализуемость конфликтов (RCSR) свойства, которые не являются RGCSR, обычно иначе глобальные циклы (охватывают две или более базы данных) в граф глобального конфликта обрабатываются. Для свойств RCSR, не являющихся RGCSR, не существует различия между глобальными и локальными циклами. RCSR содержит RGCSR. Обычно методы RGCSR исключают локальные циклы, т. Е. Обеспечивают локальная сериализуемость (что может быть эффективно достигнуто регулярными, известными контроль параллелизма методы); однако очевидно, что они не исключают все глобальные циклы (что позволило бы достичь глобальной сериализуемости).
Рекомендации
- ^ Амит Шет, Джеймс Ларсон (1990): «Системы федеративных баз данных для управления распределенными, гетерогенными и автономными базами данных» В архиве 2007-10-19 на Wayback Machine, Опросы ACM Computing, Vol. 22, № 3, стр. 183-236, сентябрь 1990 г. (цитата со страницы 227)
- ^ а б Йоав Раз (1992): «Принцип упорядочивания обязательств или гарантии сериализуемости в гетерогенной среде множества автономных менеджеров ресурсов, использующих атомарные обязательства» В архиве 23 мая 2007 г. Wayback Machine, Proc. Восемнадцатого Междунар. Конф. на очень больших базах данных (VLDB), стр. 292-312, Ванкувер, Канада, август 1992 г. (также DEC-TR 841, Корпорация цифрового оборудования, Ноябрь 1990 г.)
- ^ а б Йоав Раз (1994): «Сериализуемость по обязательному порядку», Письма об обработке информации, Том 51, номер 5, pp. 257-264, сентябрь 1994 г. (получено в августе 1991 г.)
- ^ а б Йоав Раз (1990): О значении упорядочивания обязательств - Заявка на патентование, Меморандум, Корпорация цифрового оборудования, Ноябрь 1990 г.
- ^ а б Йоав Раз: патенты США 5,504,899 5,504,900 5,701,480
- ^ а б Йоав Раз (2009): Теория упорядочивания обязательств - Резюме GoogleSites - Сайт Йоава Раза. Проверено 1 февраля 2011 года.
- ^ Авраам Зильбершатц, Майкл Стоунбрейкер, и Джеффри Уллман (1991): «Системы баз данных: достижения и возможности» В архиве 2007-02-11 в Wayback Machine, Коммуникации ACM, Vol. 34, No. 10, pp. 110-120, October 1991 (цитата со страницы 120)
- ^ Питер Мут (1997): «Управление транзакциями для конкретных приложений в системах с несколькими базами данных», Распределенные и параллельные базы данных, Volume 5, Issue 4, pp. 357-403, октябрь 1997 г., ISSN 0926-8782 (цитата из аннотации статьи)
- ^ а б c Шарад Мехротра, Раджив Растоги, Генри Корт, Авраам Зильбершатц (1998):«Обеспечение согласованности в нескольких базах данных за счет сохранения двухуровневой сериализации», Транзакции ACM в системах баз данных (TODS), т. 23, No. 2, pp. 199-230, июнь 1998 г. (цитата из аннотации статьи)
- ^ а б Ави Зильбершатц, Генри Ф. Корт, С. Сударшан (2010): Концепции системы баз данных, 6-е издание, Макгроу-Хилл, ISBN 0-07-295886-3
- ^ Филип А. Бернштейн, Эрик Новичок (2009): Принципы обработки транзакций, 2-е издание В архиве 2010-08-07 на Wayback Machine, Морган Кауфманн (Эльзевьер), июнь 2009 г., ISBN 978-1-55860-623-4 (цитата со страницы 145)
- ^ Хайко Шульдт, Ханс-Йорг Шек и Густаво Алонсо (1999): «Агенты координации транзакций для составных систем», В Труды 3-го Международного симпозиума по проектированию баз данных и приложениям (IDEAS’99), IEEE Computer Society Press, Montrteal, Canada, pp. 321–331.
- ^ Клаус Халлер, Хайко Шульдт, Кан Тюркер (2005): «Децентрализованная координация транзакционных процессов в одноранговой среде», Труды 2005 ACM CIKM, Международная конференция по управлению информацией и знаниями, стр. 28-35, Бремен, Германия, 31 октября - 5 ноября 2005 г., ISBN 1-59593-140-6
- ^ Лаура Кристиана Войку, Хайко Шульдт, Фуат Акал, Юрий Брейтбарт, Ханс Йорг Шек (2009): «Re: GRIDiT - Координация распределенных транзакций обновления реплицированных данных в сети», 10-я Международная конференция IEEE / ACM по грид-вычислениям (Grid 2009), Банф, Канада, 2009/10.
- ^ Лаура Кристиана Войку и Хайко Шульдт (2009): «Как управление реплицируемыми данными в облаке может получить выгоду от протокола Data Grid - подход Re: GRIDiT», Материалы 1-го международного семинара по управлению облачными данными (CloudDB 2009), Гонконг, Китай, 2009/11.
- ^ Вэйминь Ду и Ахмед К. Эльмагармид (1989): «Квазисериализуемость: критерий корректности для глобального контроля параллелизма в InterBase» В архиве 2010-12-21 на Wayback Machine, Труды пятнадцатой международной конференции по очень большим базам данных (VLDB), 22–25 августа 1989 г., Амстердам, Нидерланды, стр. 347-355, Morgan Kaufmann, ISBN 1-55860-101-5
- ^ Грей, Дж.; Helland, P .; О’Нил, П.; Шаша, Д. (1996). Опасности репликации и решение. Труды 1996 г. ACM SIGMOD Международная конференция по управлению данными. С. 173–182. CiteSeerX 10.1.1.43.6498. Дои:10.1145/233269.233330.