https://github.com/lexzaiello/toydb
Toy database implemented for fun in Rust with asynchronous I/O and actor concurrency.
https://github.com/lexzaiello/toydb
actix dbms-project relational-database tokio
Last synced: 9 months ago
JSON representation
Toy database implemented for fun in Rust with asynchronous I/O and actor concurrency.
- Host: GitHub
- URL: https://github.com/lexzaiello/toydb
- Owner: lexzaiello
- Created: 2023-11-02T04:47:01.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-12-18T21:55:27.000Z (over 2 years ago)
- Last Synced: 2025-07-13T05:38:48.989Z (11 months ago)
- Topics: actix, dbms-project, relational-database, tokio
- Language: Rust
- Homepage:
- Size: 337 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.org
Awesome Lists containing this project
README
#+TITLE: ToyDB
#+AUTHOR: Dowland Aiello
#+DATE: 11/26/23
ToyDB is a relational database implemented in Rust for learning purposes. ToyDB is unique in that it uses an actor concurrency model with [[https://github.com/actix/actix][Actix]], and asynchronous I/O with [[https://github.com/tokio-rs/tokio][Tokio]]. However, besides these implementation details, this database seeks to follow database systems textbook implementation guidelines.
* TODO To-Do [3/5]
** DONE Buffer Manager
CLOSED: [2023-11-26 Sun 17:14]
Largely complete: see [[./src/engine/buffer_pool.rs][buffer_pool.rs]].
** DONE Record Utilities / Heap Files
CLOSED: [2023-11-26 Sun 17:12]
Largely complete: see [[./src/engine/heap.rs][heap.rs]].
** DONE Indexing
CLOSED: [2023-12-01 Fri 14:49]
Largely complete: see [[./src/engine/index.rs][index.rs]].
** TODO Query Processor [0/0]
*** Catalogue [1/3]
**** DONE Type lookups
CLOSED: [2023-12-05 Tue 09:02]
**** TODO Index records
**** TODO Constraints
*** Table creation [1/2]
**** DONE Basic tables
CLOSED: [2023-12-05 Tue 09:02]
**** TODO Constraints
*** Insertion
** TODO Connection Manager
... and more