FlintDB (Python Version)
Projects — — Links: Documentation — Github Repo

A robust and lightweight NoSQL flat-file database built entirely in Python. A software engineering project that demonstrates my skills in systems design.
FlintDB is a lightweight and robust NoSQL database management system built to fill a critical gap between simple data storage solutions and complex, traditional databases. This project demonstrates the ability to implement advanced database concepts within a simple flat-file architecture.
The Problem
Many developers need a simple, fast way to store data without the overhead and complexity of a traditional relational database. However, simple flat-file solutions often sacrifice critical features like data integrity, security, and transaction support. FlintDB was created to provide a lightweight alternative that does not compromise on core database principles.
Key Features Implemented
- ACID Transactions: Ensures data integrity and reliability, a feature often missing in simple databases.
- Transparent Data Encryption (TDE): Provides an essential layer of security by automatically encrypting and decrypting data at the file level.
- Two-Tier Key System (KEK & DEK): A layered security model that provides a higher level of data protection.
- Lazy Garbage Collection: Automates the deletion of expired cache data to optimize performance and resource management.
- Custom File-Based Cache: Improves read performance by storing frequently accessed data in a dedicated cache.
Technology Used
- Python: The core language for the entire system.
- JSON: The underlying data storage format.