The occurrence of transaction failures is often unavoidable in most database processing environments and such failures can have a particularly detrimental effect on long-duration transactions. In this paper, the impact of failures on the performance of long-duration database transactions is studied, and results for the transaction response time and failure overhead are presented for general failure patterns, which include Poisson failures as a special case. It is found that the failure overhead can be excessive for long-duration transactions and the transaction response time can increase sharply with increased failure rates. The benefits of transaction nesting to arrest performance deterioration is considered and results for quantifying the extent of restructuring improvement are provided. A procedure based on branch and bound techniques for determining the optimal restructuring strategy to minimize total transaction response time is also presented. It is shown that restructuring optimization can bring about significant performance advantages.
Read full abstract