A toy relational-database engine in Python, built to learn how RDBMS internals work.
Status: Schema-driven file storage is implemented; basic inserts and selects succeed.
- Schema-driven: define tables and columns in a JSON file.
- Binary storage: data is written to and read from binary files.
- Simple API: supports
INSERT
and full-tableSELECT
.- Foreign-key enforcement: not yet supported.
- Row filtering: not yet supported.
- Set up primary keys - one b-tree index file per table
- addition of an index to the binary tree
- deletion of an index and taking care how to either mantain or update the memory offsets correspomnding to the oter indexes.
- Enforce foreign-key constraints
- Implement
WHERE
-clause filtering - Support join operations
Parse SQL commands into functions
Build a TCP-socket server with:
- Event listener
- SQL-text parser
- Client authentication
- Develop a minimal web client interface
- Require authentication before quering