Классика баз данных - статьи

       

Протокол XDGL


В SXTM используется новый протокол XDGL [], основанный на двухфазном протоколе синхронизационных блокировок (2PL) [].

При определении блокировок необходимо учитывать, что для SXTM узлы XML-документа физически недоступны. Поэтому в SXTM блокировки устанавливаются не на узлах самого XML-документа, а на узлах дополнительной структуры, которая в литературе [] называется описывающей схемой XML-документа. Описывающая схема представляет собой структурное обобщение XML-документа. В схеме представлены все пути в XML-документе, и только они. Поскольку одному пути в XML-документе, как правило, соответствуют несколько узлов, обычно размер описывающей схемы гораздо меньше размера соответствующего XML-документа. Например, схема гигабайтного XML-документа XMark [] занимает всего 10 килобайт. Поэтому SXTM может полностью кэшировать описывающую схему в основной памяти, что существенно сокращает накладные расходы, связанные с установкой блокировок на схеме. Другой особенностью схемы является ее относительно редкая изменчивость. Последнее обстоятельство существенно облегчает задачу поддержку согласованности схемы и соответствующего ей XML-документа.

В XDGL поддерживаются три вида блокировок на схеме XML-документа: (1) структурные блокировки, (2) предикатные блокировки и (3) логические блокировки. Следующие подразделы посвящены описанию этих типов блокировок.



Содержание раздела