FlintDB (Python Version)

FlintDB (Python Version)

A robust and lightweight NoSQL flat-file database built entirely in Python. A software engineering project that demonstrates my skills in systems design.

Github issues Github stars Github release

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.

© 2025 Shuaib Yusuf Shuaib