Implementation of Document Database

This project implements a JSON Document model NoSQL database from scratch using Python, with support for CRUD operations, B+ Tree indexing, and concurrency.

Utilizes Multi-Version Concurrency Control to allow multiple transactions to read and write to the database simultaneously without interfering with each other while maintaining data consistency.

Improved query speeds by 50% with 200 microseconds to 1 second query time for sizes ranging from 10 documents to 1 million documents respectively for complex queries with filtering and projection.

Documented the database architectures and API, including examples of how to use the database for common use cases, to facilitate ease of use and adoption as libraries by other developers on the team.

Tools and Libraries used: Python, Pickle, JSON, OS, UUID, DATETIME.

Find code here: Github Repository-Implementation of Document Database