{"id":14972136,"url":"https://github.com/msdeep14/deepdatabase","last_synced_at":"2025-10-26T17:31:32.467Z","repository":{"id":94900073,"uuid":"87659637","full_name":"msdeep14/DeepDataBase","owner":"msdeep14","description":"A relational database engine using B+ tree indexing","archived":false,"fork":false,"pushed_at":"2021-08-08T05:49:44.000Z","size":7294,"stargazers_count":43,"open_issues_count":1,"forks_count":12,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-31T21:52:50.162Z","etag":null,"topics":["algorithms","b-plus-tree","bplus-tree","bplustree","btree-indexes","cpp","data-storage","database","development","indexing","mysql-database","relational-databases","search-algorithm"],"latest_commit_sha":null,"homepage":"https://msdeep14.github.io/projects/deepdatabase.html","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/msdeep14.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-04-08T19:41:43.000Z","updated_at":"2024-12-08T14:11:04.000Z","dependencies_parsed_at":"2023-04-15T21:01:06.885Z","dependency_job_id":null,"html_url":"https://github.com/msdeep14/DeepDataBase","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msdeep14%2FDeepDataBase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msdeep14%2FDeepDataBase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msdeep14%2FDeepDataBase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msdeep14%2FDeepDataBase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/msdeep14","download_url":"https://codeload.github.com/msdeep14/DeepDataBase/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238375233,"owners_count":19461569,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","b-plus-tree","bplus-tree","bplustree","btree-indexes","cpp","data-storage","database","development","indexing","mysql-database","relational-databases","search-algorithm"],"created_at":"2024-09-24T13:46:26.324Z","updated_at":"2025-10-26T17:31:26.751Z","avatar_url":"https://github.com/msdeep14.png","language":"C++","readme":"# DeepDataBase\n\n#### A Relational database model, data storage based on B+ tree indexing\n\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n\n\u003cimg src=\"https://github.com/msdeep14/DeepDataBase/blob/master/images/deepdb.png\" width=\"300\" height=\"200\" /\u003e\n\n*initial development* : [MiniDataBase](https://github.com/msdeep14/MiniDataBase)\n\nReferences from - https://github.com/Bug-Assassins/DFC_query_builder\n\n## QUERIES SUPPORTED BY SYSTEM\n1. SHOW Tables\n2. CREATE Table\n3. INSERT INTO Table\n4. DISPLAY Table contents\n5. SEARCH INTO Table\n6. DROP Table\n\n\n## SYSTEM DESIGN\nThe Database System is designed using C++ programming language.\nIt stores the data on physical disk using files.\n\nFeatures of system include:\n\n#### 1. Custom Blocks for each table:\nThe data is stored in blocks.  \n\nBenefits of block storage: [here](https://en.wikipedia.org/wiki/Block_(data_storage))\n\nAll 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.\n\n#### 2. B+ Tree Indexing:\nA 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. By default, first column is choosen as primary key.\n\n#### 3. Storing Meta Data of Tables:\nMeta Data of the tables are stored separately which provides quick access to several information like current number of records, table name, etc.\n \n#### 4. Search:\n\n##### 1. B+ Indexed Search\nFor searching a record in file for particular table, B+ tree indexed search is implemented. B+ indexed search is based on primary key\n \n##### 2. Brute Force Search\nFor searching records without providing primary key from table, brute force search algorithm is implemented. You can display selected number of columns and limit results based on where clause(see section In Development below).\n \nAdvantages of B+ Tree Indexing [here](https://www.tutorialcup.com/dbms/b-plus-tree.htm)\n \nSystem also calculates the time taken by the search algorithm.\n \n## DEVELOPMENT:\nThe whole project is initially done on eclipse platform(C/C++ perspective)-\u003e in repo [MiniDataBase](https://github.com/msdeep14/MiniDataBase)\n\nFurther modifications are done on Ubuntu System, [Atom](https://atom.io/) editor. Recent project is compiled on MacOS X.\n\nFor execution: Open directory DeepDatabase(branch:master) and on terminal\n\n1. Type **make clean** to clean all binary files.\n\t\n2. Type **make**, it will compile the project.\n\t\n3. Type **./deepdb -u user -p** for running project. Password is `pass`\n\n## IN DEVELOPMENT:\nFor displaying the table contents, you have to select option 5 from menu and the queries supported by it are, do care about syntax, since complete parser is not implemented.\n\nselect * from table_name;\n\nselect id,name from table_name;\n\nselect id,name from table_name where id = 1;\n\n## CONTRIBUTE:\nYou can contribute in following modules:\n\n\t1. parser implementation\n\t2. AES encryption of data, in branch dev-aes\n\t3. Suggestion for more efficient implementation\n \n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmsdeep14%2Fdeepdatabase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmsdeep14%2Fdeepdatabase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmsdeep14%2Fdeepdatabase/lists"}