Внутритранзакционный параллелизм
В DORA внутритранзакционный параллелизм используется не только в качестве механизма снижения давления на конкурентный менеджер блокировок, но также и для сокращения времени ответа, когда рабочая нагрузка не перегружает доступную аппаратуру. Например, внутритранзакционный параллелизм оказывается полезным для приложений, демонстрирующих ограниченный межтразакционный параллелизм из-за высокого уровня конкуренции за логические блокировки, или для организаций, которые просто недоиспользуют имеющуюся у них процессорную мощность.
Рис. 7. Время ответа для простых транзакций. В DORA используется внутритранзакционный параллелизм, свойственный многим транзакциям.
В эксперименте, результаты которого показаны на рис. 7, мы сравнивали среднее время ответа на запрос в базовой системе и в DORA, достигаемой в ситуации, когда от одного клиента поступают запросы на образование транзакций с внутренним параллелизмом из трех рабочих нагрузок, и журнал располагается в файловой системе в основной памяти. В DORA используется доступный внутритранзакционный параллелизм и достигается меньшее время ответа. Например, транзакции NewOrder из тестового набора TPC-C выполняются в среде DORA на 60% быстрее.
Рис. 8. Сравнение максимальной пропускной способности DORA и базовой системы на заданных рабочих нагрузках. Пиковая пропускная способность достигается при разных коэфициентах использования процессора.