Project : Implement SQL-RDBMS from Scratch in C/C++

Project Development in C/C++, System programming, Implement Postgresql clone, SQL Parser, B+ Trees, Query Execution Plan

Ratings: 5.00 / 5.00




Description

** 29 DEC 2023  Under Dev **


This Course is about Learning Internal Design and Implementation of RDBMSs. Several times you have used RDBMSs and written a few SQL queries - but, never given a thought to how RDBMSs internally work. This Course is exactly about this.


This course is not about learning SQL queries or how to work with RDBMSs. This course is for developers.


We shall explore step by step - The Design, Implementation, Data Structures, and Algorithms in place which work together to make your SELECT queries work!


This Course Will be delivered as two courses -  In the first Course (this course), we would implement a basic working RDBMS (PostgreSQL clone ) which can handle basic SQL select, create, insert, and delete queries. We will enhance the functionality further by supporting advanced features such as Aggregate functions, Joins, Where, and Group by Clauses. Nested Queries can also be supported. This RDBMS completely exists in RAM, and all data would vanish upon process termination.


In the sequel part of the course, We will take our RDBMS implementation onto the disk for persistent storage ( like real RDBMS do ) and also Implement other Database complexities such as Concurrnet readers/Writers , Write-Ahead-Logging ( WAL), Transactions, DB Update Hooks etc.


Talk to your prof - Do it as a Semester or Final year project. Best of luck!


Needless to say - This course is Advanced and for Champs who are chasing knowledge and excellence rather than degrees and jobs.


Warning: The Level of this course is intermediate to Advanced. Those who are still struggling with basic data structures, better excuse this course. You are expected to be thorough with Coding.

What You Will Learn!

  • How to Write (SQL) Parsers using Lexical Analyzer Tool
  • How to parse and evaluate Expressions ( Mathematical or logical Expressions )
  • Implement RDBMS internals from Scratch in C and various SQL queries
  • Advance Data Structures such as B+Trees , Hashtables etc
  • Storing / Organize the Data on the Disk and retrieve on demand
  • Implement SQL query Execution Plan

Who Should Attend!

  • Students - Developer profile
  • Working Professionals
  • RDBMS developers or working on similar technologies