Выполнение транзакций, ориентированное на данные

       

A.2. DORA и системы без совместного использования ресурсов


Одним из основных преимуществ архитектуры DORA является то, что система остается системой с совместным использованием всех ресурсов, но в то же время потоки управления большую часть времени работают со своими частными структурами данных. Другими словами, хотя каждая таблица разделяется на разъединенные поднаборы записей, и эти поднаборы назначаются разным потокам управления, это разделение является чисто логическим, а не физическим.

Система без совместного использования ресурсов может столкнуться с существенной проблемой производительности из-за несбалансированности, вызываемой "скошенностью" данных или запросов, или из-за наличия обращений к данным, которые не согласуются со схемой разделения. Следовательно, производительность таких систем чувствительна к архитектуре приложений [A2]. Системам без совместного использования ресурсов нужны приложения, рабочая нагрузка которых разделяется таким образом, что лишь небольшую ее часть составляют многораздельные транзакции, нагрузка балансируется между разделами и имеется минимальное число обращений к данным, не согласованных со схемой разделения (см., например, [A.8]).

В этом разделе мы приводим доводы в пользу того, что DORA, будучи системой с совместным использованием всех ресурсов, менее чувствительна к таким проблемам, чем системы без совмесного использования ресурсов. В следующих подразделах сравнивается, каким образом типичная система без совместного использования ресурсов и DORA приспосабливается во время выполнения к изменениям паттернов доступа к данным и к "перекашиванию" данных (подраздел A.2.1), и каким образом они обрабатывают обращения к данным, не согласованные со схемами разделения (подраздел A.2.2).



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