A relational database management system (RDBMS) in Python.
You should not actually use this, you should use sqlite instead! But if you want to try it,
- make sure poetry and Python >= 3.7 is installed.
- Run
poetry installto install - Run
poetry run vgdbto launch a command line REPL (orpoetry shelland thenvgdb) - Run
poetry run vgdb-benchto run a benchmark ofINSERTandSELECTperformance compared to sqlite (warning: vgdb is crushed)
-
REPL
-
Storage: Some storage scheme. Stores each table in a separate file.
-
Redundancy: Persist on write.
-
Data Types:
TEXTandINTfor now. -
Schemas Compulsory singular primary keys, unique and foreign key constraints, indexes.
-
Transactions
-
Query Engine: Query execution engine.
-
Query Language: Support for SQL statements:
CREATE TABLEwithTEXTandINT, no indexINSERTSELECTwithWHERE,ORDER BYandLIMIT(withOFFSET)
-
Query Parser: Hand-written lexer and parser.
