Skip to content

DraftTin/MyDatabase

Repository files navigation

Contribution Highlights

This project was focusing on designing and implementing a relational database engine from scratch. Key contributions to the project include:

Core Contributions:

  • Database Architecture and Design:

    • Played an integral role in defining the overall architecture and modular design of the database engine.
    • Ensured the design adhered to principles of scalability, maintainability, and performance optimization.
  • Memory and Disk Management:

    • Implemented an efficient buffer management system for caching frequently accessed pages.
    • Designed file handling and disk storage mechanisms to optimize data retrieval and persistence.
  • Indexing with B+ Trees:

    • Developed a B+ tree-based indexing mechanism to enable fast and efficient query processing.
    • Integrated indexing with storage management to handle large datasets and ensure consistency.
  • SQL-Like Statement Support:

    • Designed and implemented support for SQL-like DDL (e.g., table creation) and DML (e.g., insert, delete, update) statements.
    • Created a parser to translate user commands into low-level database operations.

Testing and Debugging:

  • Unit and Integration Tests:
    • Designed and executed a suite of tests covering core functionalities, including concurrency, indexing, and file handling.
    • Identified and resolved edge cases to ensure robust and error-free database operations.

Concurrency Support:

  • Implemented thread-safe operations using reader-writer locks for concurrent data access, ensuring database reliability in multi-threaded environments.

Development Practices:

  • Utilized CMake for cross-platform builds and organized modular components for efficient collaboration.
  • Followed coding standards and documentation practices to enhance code readability and maintainability.

This database serves as a foundation for further exploration of database systems and algorithms, showcasing a comprehensive understanding of relational database design.

About

A Relational Database Engine from scratch

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors