OLTP в Зазеркалье

         

Варианты транзакций


Хотя для многих систем OLTP, несомненно, требуется транзакционная семантика, в последнее время появились предложения (в частности, из области Internet) по поводу систем управления данными с ослабленной согласованностью. Обычно требуется некоторая форма конечной согласованности [Bre00, DHJ+07] при наличии убежденности в том, что доступность более важна, чем транзакционная семантика. Системы баз данных для таких сред, по всей вероятности, мало нуждаются в механизмах, разработанных для поддержки транзакций (например, журналы, блокировки, двухфазная фиксация и т.д.).

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

И, наконец, современные исследования показывают, что имеются ограниченные формы транзакций, для поддержки которых требуется гораздо меньше механизмов, чем для поддержки стандартных транзакций над базами данных. Например, если все транзакции являются «двухфазными» – то есть все операции чтения в них выполняются до первой операции записи, и для них гарантируется отсутствие аварийного окончания после завершения фазы чтения, – то не требуется журнализация UNDO [AMS+07, SMA+07].



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