In-Memory Database with Transaction Support This project implements an in-memory key-value database with transaction support in C++.
Overview Transactions in databases ensure atomicity, consistency, isolation, and durability (ACID properties) for data manipulation. This database system is designed to maintain these properties while supporting key-value pairs in an in-memory environment. It allows users to perform operations within a transaction and commit or rollback changes accordingly.
Usage Running the Code To run the code:
Clone this repository. Open your preferred C++ compiler or IDE. Compile the code. Execute the compiled binary. Example using GCC compiler:
bash Copy code g++ main.cpp -o main ./main Ensure any necessary dependencies or headers are accessible within your build environment.
Future Improvements To evolve this project into an official assignment, several enhancements can be considered:
Comprehensive Error Handling: Include detailed error messages for various scenarios to aid users and developers in understanding issues. Test Suite Implementation: Develop a robust test suite to cover different functionalities and edge cases, ensuring the database's reliability. Expanded Functionality: Extend the database to handle more complex queries, support additional data types, or introduce more advanced transactional features. Documentation & Comments: Enhance code documentation and comments to provide clarity on the implementation and logic behind different methods and functionalities. Performance Optimization: Explore ways to optimize the database for better efficiency, especially with larger datasets or high transactional loads. These modifications would make the assignment more comprehensive, user-friendly, and aligned with industry standards.
Contributors Jamesline Jeudy - Main Contributor