项目作者: Smrati8

项目描述 :
Built a single-user database management system from scratch using C++ supporting some SQL & relational algebra operations
高级语言: C++
项目地址: git://github.com/Smrati8/Database-System-Implementation.git
创建时间: 2020-09-24T20:22:50Z
项目社区:https://github.com/Smrati8/Database-System-Implementation

开源协议:

下载


Database System Implementation

It is an project implementation of course Database System Implementation (COP6726) taught in University of Florida.

Click here to see end to end demo.

About the Project

  • Designed a single-user database management system that supports a subset of SQL.
    • Implemented heap and sorted file organization to manage database records.
    • Added some basic relational algebra operations like select, project, join, sum, group by, and duplicate removal.
    • Devised query optimization module to decide and execute the optimized query plan using histograms.
    • Added lexer and parser to support sql statement given by user.
  • Project was developed in 7 different milestones.
  • Project documentation can be found here.
  • GTests can be found here.

Initial Setup

  • To test the database, we are using tpch-dbgen as sample data.
  • Clone the tpch-dbgen repo to test.
  • Compile it:make
  • To generate 10MB data, run ./dbgen -s 0.01. To generated 1GB data ./dbgen -s 1.
  • This will generate 8 *.tbl files containing the data in CSV format with | separator

Different Milestones

Milestone Requirement and Implementation Details Final Report and Sample Outputs
Heap File Implementation Click here Click here
BigQ Implementation Click here Click here
Sorted File Implementation Click here Click here
Relational Operations Click here Click here
Statistical Estimation Click here Click here
Query Compilation and Optimization Click here Click here
Putting it All Together Click here Click here