![](https://csdnimg.cn/release/download_crawler_static/10583953/bg10.jpg)
List of Figures
3.13. Twin tuples with one updated tuple. . . . . . . . . . . . . . . . . . . . . . 39
3.14. Twin tuples with a newly inserted tuple. . . . . . . . . . . . . . . . . . . . 40
3.15. Hot/cold without changes since snapshot creation. . . . . . . . . . . . . 40
3.16. Hot/cold with one deleted tuple. . . . . . . . . . . . . . . . . . . . . . . . 41
3.17. Hot/cold with one updated tuple. . . . . . . . . . . . . . . . . . . . . . . 41
3.18. Hot/cold with a newly inserted tuple. . . . . . . . . . . . . . . . . . . . . 42
3.19. Techniques classified by granularity and control mechanism. . . . . . . . 43
3.20. Classification overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.21. Refresh delay for soft/hardware approaches . . . . . . . . . . . . . . . . 48
3.22. Memory consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.1. Schematic idea of tentative execution. . . . . . . . . . . . . . . . . . . . . 56
4.2. Detailed schematic approach . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.3. Monitoring alternatives using versions . . . . . . . . . . . . . . . . . . . . 63
4.4. Top-down lock acquisition required to write a tuple. . . . . . . . . . . . . 66
4.5. Broken vertex ordering after x → y insertion. . . . . . . . . . . . . . . . . 67
4.6. Corrected vertex ordering after x → y insertion. . . . . . . . . . . . . . . 68
4.7. TPC-C benchmark results with 2PL . . . . . . . . . . . . . . . . . . . . . . 69
4.8. TPC-C benchmark results with partitioning . . . . . . . . . . . . . . . . . 69
4.9. Cycle distribution during transaction execution. . . . . . . . . . . . . . . 70
4.10. Exemplary account table in Hekaton . . . . . . . . . . . . . . . . . . . . . 72
4.11. Failure to remove anomaly. . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.12. Removed remove anomaly . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.13. Illustration of the ABA problem . . . . . . . . . . . . . . . . . . . . . . . . 80
4.14. Transactional throughput on a TPC-C NewOrder benchmark. . . . . . . . 85
4.15. Throughput while varying crossing transactions . . . . . . . . . . . . . . 86
4.16. Memory consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.17. Scan performance for various relation sizes. . . . . . . . . . . . . . . . . . 88
4.18. Hardware-supported page shadowing . . . . . . . . . . . . . . . . . . . . 91
4.19. Architecture of tentative execution . . . . . . . . . . . . . . . . . . . . . . 91
4.20. Comparison of 2PL and serial execution . . . . . . . . . . . . . . . . . . . 92
4.21. Throughput comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.22. Commit rate when varying the refresh delay. . . . . . . . . . . . . . . . . 95
4.23. Throughput comparison while varying refresh delay. . . . . . . . . . . . 95
5.1. TPC-C throughput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.2. Four tenant classes SLA, HyPer . . . . . . . . . . . . . . . . . . . . . . . . 112
5.3. Four tenant classes SLA, Dummy . . . . . . . . . . . . . . . . . . . . . . . 113
5.4. Linear share distribution, HyPer . . . . . . . . . . . . . . . . . . . . . . . 114
5.5. Standard deviation from average . . . . . . . . . . . . . . . . . . . . . . . 115
5.6. Adjusting distribution at runtime . . . . . . . . . . . . . . . . . . . . . . . 117
5.7. Overhead of SLA enforcement . . . . . . . . . . . . . . . . . . . . . . . . . 118
xvi