An SQL database from scratch in Java. Inspired by Cassandra.
Features:
- Uses an LSM Tree to store and persist data (More about LSM trees at https://www.geeksforgeeks.org/introduction-to-log-structured-merge-lsm-tree/)
- Insertion, creation of tables and universal selection ("SELECT * FROM table;") queries are implemented successfully.
- The SQL is parsed using a Parser generated by an ANTLR grammar.
To-Do List:
- Implement specific (filter) selection ("SELECT * FROM TABLE WHERE FIELD = VALUE;")
- Implement compaction of SSTables. Will have multiple ways to compact them.
- Persist the table catalog to disk.