MiniDataBase -> project moved to DeepDataBase
Data Storage and Retrieval using B+ Tree Indexing.
The database engine is designed on Relational model.
- SHOW Tables
- CREATE Tables
- INSERT INTO Table
- DISPLAY Table contents
- SEARCH INTO Table
- DROP Table
The Database System is designed using C++ and C combined features. It stores the data on physical disk using files.
Features of system include:
The data is stored in blocks.
Benefits of blocking: here
All the separate row data of a particular table is stored in different file creating blocks of data. System reads as well as writes data back to files in blocks.
A separate multilevel B+ tree is created for each table. Each node contains maximum of 50 entries. Right now data storage is based only on primary key, primary key can be INTEGER or VARCHAR.
Meta Data of the tables are stored separately which provides quick access to several information like current number of records, table name, etc.
For searching a record in file for particular table, B+ tree indexed search is implemented. Search is only based on primary key right now.
Advantages of B+ Tree Indexing here
System also calculates the time taken by the search algorithm.
The whole project is initially done on eclipse platform(C/C++ perspective).
Further modifications are done on linux
For execution: Open directory MiniDatabase(branch:master) and on terminal
-
Type make, it will compile the project.
-
Type ./tinydb for running project.
-
Type make clean for recompiling the project.
1.Mandeep Singh -> [email protected] ;; msdeep14