Anton is a lightweight SQL-like database built in Java, created from scratch as a learning project. The goal of AntonDB is to explore the inner workings of databases, from parsing queries to executing them, while providing a minimal, working database engine.
- Create Table: Define tables with schema (column names & types).
- Insert Tuples: Add records into tables.
- Select Tuples: Query and retrieve data by columns.
- Basic CRUD: Full cycle of Create, Read, Update, and Delete operations.
- Query Parser + Executor: SQL-like syntax parsing with execution on in-memory structures.
- WHERE Clause: Conditional filtering of results.
- Caching: Add result caching for repeated queries.
- Filtering: Improve filtering mechanisms for faster data retrieval.
- Update by Condition: Update rows based on WHERE filters.
- Delete by Condition: Remove rows selectively.
- Indexing: Implement basic indexing (B+ Tree) for faster lookups.
- Transactions: Explore commit/rollback for safer operations.
- Joins: (Ambitious, but planned) support basic inner joins between tables.
- Create a table.
CREATE TABLE users (id INT, name STRING) - Insert data.
INSERT INTO users VALUES (1, 'Alice') - Select data.
SELECT * FROM users
Language: Java
Core Concepts: Query parsing, execution engine, file I/O, indexing (planned)
Anton is a learning project, not meant for production use. The purpose is to understand the fundamentals of how databases work by building one from scratch.
This project is licensed under the MIT License.