An open API service indexing awesome lists of open source software.

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.

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