This project was created for academic purposes on the subject of 'Database Technology' at the Aristotle University of Thessaloniki.
This project contains basic functions of a DBMS (External Merge sort, Duplicate Elimination, Merge Join, Hash Join) that are designed to work in real-life and extreme circumstances (Huge input data, extremely low available memory).
Input:
- N: number of blocks in the file, N1: number of blocks in the file1, N2: number of blocks in the file2
- B: number of blocks in the memory buffer
- field: which field will be used for sorting: 0 is for recid, 1 is for num, 2 is for str and 3 is for both num and str
Output:
- nsorted_segs: number of sorted segments produced
- npasses: number of passes required for sorting
- nios: number of IOs performed
-Input File-
1. N = 10, B = 3, MAX_RECORDS_PER_BLOCK = 10, field = 1
-Output File-
2. N = 10, B = 3, MAX_RECORDS_PER_BLOCK = 10, field = 2
-Output File-
-Input File-
1. N = 10, B = 4, MAX_RECORDS_PER_BLOCK = 10, field = 1
-Output File-
2. N = 10, B = 4, MAX_RECORDS_PER_BLOCK = 10, field = 2
-Output File-
-Input File 1 & Input File 2-
N1 = 10, N2 = 10, B = 3, MAX_RECORDS_PER_BLOCK = 10, field = 1
-Output File-
-Input File 1 & Input File 2-
N1 = 10, N2 = 10, B = 3, MAX_RECORDS_PER_BLOCK = 10, field = 1
-Output File-