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

       

Эксперименты


Рассмотренный семантический менеджер управления XML-транзакциями был реализован на языке С++ в виде расширения к реляционной СУБД MS SQL Server 2005. Для определения временных характеристик РСУБД при использовании SXTM были проведены эксперименты с измерением производительности. Эксперименты определяют пропускную способность РСУБД при использовании плоской модели и двухуровневой модели транзакций (SXTM). При проведении экспериментов параллельно запускалось два потока транзакций: первый поток состоял из читающих транзакций, а второй - из транзакций, содержащих операции модификации.

Для экспериментов использовался 10-мегабайтный XML-документ, сгенерированный утилитой xml-gen []. В качестве запросов использовались стандартные запросы XMark []. Поскольку в тестовом наборе XMark нет запросов на изменения, мы разработали набор таких запросов, которые отражают основные операции работы с аукционами: операции преобразования открытого аукциона в закрытый, добавление на аукцион нового участника, изменение базовой цены для продаваемого предмета, изменение способа доставки предмета и т. д. Каждая транзакция состоит из нескольких запросов на выборку или изменение. Оба потока транзакций включают по 100 транзакций. Эксперименты проводились на 2-х процессорной системе AMD Athlon MP 2000+, на которой была установлена ОС Microsoft Windows 2003 Server.

На рис. 8 показана пропускная способность РСУБД при использовании SXTM (слева) и плоской модели транзакций (справа). На диаграмме видно, что SXTM позволяет существенно увеличить пропускную способность РСУБД. Наибольший прирост производительности получается для читающих транзакций. Это связано с тем, что в MS SQL Server 2005 существуют специальные путевые индексы и индексы по значениям, применение которых позволяет выполнять запросы эффективно. В результате, если выполнять только читающие транзакции, то они выполнятся очень быстро. С другой стороны, при использовании плоской модели транзакций читающие транзакции большую часть времени ждут освобождения монопольной блокировки всего XML-документа, которую устанавливает изменяющая транзакция. Фактически, в плоской модели читающие и пишущие транзакции выполняются последовательно через одну: после выполнения пишущей транзакции выполняется читающая транзакция, затем снова выполняется пишущая транзакция и т. д. Именно поэтому временные характеристикт выполнения потоков транзакций на чтение и изменение в плоской модели практически совпадают. В SXTM же за счет применения семантических блокировок XDGL читающие транзакции конфликтуют с пишущими транзакциями гораздо реже, что и приводит к существенному уменьшению времени выполнения потока читающих транзакций.

Рис. 8.Экспериментальные результаты: SXTM (1) и плоская модель транзакций (2)

Второй вывод заключается в том, использование SXTM не порождает существенные накладные расходы, которые бы могли ухудшить временные показатели РСУБД.



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