Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eirinimits/dbms
This project contains basic functions of a DBMS (External Merge sort, Merge Join, Hash Join, Duplicate Elimination) that are designed to work in real-life and extreme circumstances (Huge input data, extremely low available memory).
https://github.com/eirinimits/dbms
dbms duplicate-elimination external-merge-sort hash-join merge-join
Last synced: 19 days ago
JSON representation
This project contains basic functions of a DBMS (External Merge sort, Merge Join, Hash Join, Duplicate Elimination) that are designed to work in real-life and extreme circumstances (Huge input data, extremely low available memory).
- Host: GitHub
- URL: https://github.com/eirinimits/dbms
- Owner: EiriniMits
- License: apache-2.0
- Created: 2017-10-20T08:09:21.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2017-12-19T09:56:56.000Z (about 7 years ago)
- Last Synced: 2024-10-27T22:20:15.451Z (2 months ago)
- Topics: dbms, duplicate-elimination, external-merge-sort, hash-join, merge-join
- Language: C++
- Homepage:
- Size: 21.5 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DBMS
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).
## Examples
**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
```
## External Merge sort
**-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-**## Duplicate Elimination
**-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-**## Merge Join
**-Input File 1 & Input File 2-**
```
N1 = 10, N2 = 10, B = 3, MAX_RECORDS_PER_BLOCK = 10, field = 1
```
**-Output File-**## Hash Join
**-Input File 1 & Input File 2-**
```
N1 = 10, N2 = 10, B = 3, MAX_RECORDS_PER_BLOCK = 10, field = 1
```
**-Output File-**## More examples in bigger input data sets
### MergeSort:
### EliminateDuplicates:
### MergeJoin & ΗashJoin: