Skip to content

Bachelor's Practical Course Capstone Project: Implement the MVCC feature of the DBMS Hekaton

Notifications You must be signed in to change notification settings

anhmt90/hekaton-db

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Implementing the MVCC feature of Hekaton DBMS

The semantic of the program is described in file '_project_report.pdf'.

The master branch contains the program executing the (original) transaction newOrder with single thread. The other branches are used for correctness and performance testing:

  • Branch 'test-visibility-validation': test for read stability.
  • Branch 'test-phantom-avoidance': test for phantom detection.
  • Branch 'test-cascaded-aborts: test for cascaded aborts in the context of commit dependencies.
  • Branch 'test-scanning': test scan speed of the program by scanning the OrderLine table multiple times.
  • Branch 'read-only': test performance of read-only transactions.
  • Branch 'update-only': test performance of update-only transactions.

In edge cases, a transaction behaves as follows:

  • SELECT: if the required tuples donot exist, a transaction must abort and rollback because the variables from this SELECT-statement will be needed below.
  • INSERT: if inserting an duplicate PK into a table, the transaction must abort and rollback.
  • UPDATE and DELETE: if updating/deleting a non-existing tuple, the statement is ignored.

About

Bachelor's Practical Course Capstone Project: Implement the MVCC feature of the DBMS Hekaton

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages