การใช้คุณสมบัติ MVCC ของ Hekaton DBMS
ความหมายของโปรแกรมอธิบายไว้ในไฟล์ '_project_report.pdf'
สาขา master
ประกอบด้วยโปรแกรมที่ดำเนินการธุรกรรม (ดั้งเดิม) newOrder ด้วยเธรดเดียว สาขาอื่นๆ ใช้สำหรับการทดสอบความถูกต้องและประสิทธิภาพ:
- สาขา 'test-visibility-validation': ทดสอบความเสถียรในการอ่าน
- สาขา 'test-phantom-avoidance': ทดสอบการตรวจจับ Phantom
- สาขา 'test-cascaded-aborts: ทดสอบการยกเลิกแบบเรียงซ้อนในบริบทของการขึ้นต่อกันของคอมมิต
- สาขา 'ทดสอบการสแกน': ทดสอบความเร็วการสแกนของโปรแกรมโดยการสแกนตาราง OrderLine หลายครั้ง
- สาขา 'อ่านอย่างเดียว': ทดสอบประสิทธิภาพของธุรกรรมแบบอ่านอย่างเดียว
- สาขา 'อัปเดตเท่านั้น': ทดสอบประสิทธิภาพของธุรกรรมที่อัปเดตเท่านั้น
ในกรณี Edge ธุรกรรมมีลักษณะดังนี้:
- SELECT: หากไม่มีสิ่งอันดับที่ต้องการ ธุรกรรมจะต้องยกเลิกและย้อนกลับ เนื่องจากตัวแปรจากคำสั่ง SELECT นี้จำเป็นด้านล่าง
- INSERT: หากแทรก PK ที่ซ้ำกันลงในตาราง ธุรกรรมจะต้องยกเลิกและย้อนกลับ
- UPDATE และ DELETE: หากอัพเดต/ลบทูเพิลที่ไม่มีอยู่ คำสั่งจะถูกละเว้น