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

https://github.com/xblackicex/mini-sqldb-rs

πŸš€ This project is aimed at understanding how SQL databases work internally and implementing a tiny SQL database using Rust. It serves as a learning tool to explore database concepts while gaining familiarity with Rust programming.
https://github.com/xblackicex/mini-sqldb-rs

rust sql sqldb

Last synced: about 2 months ago
JSON representation

πŸš€ This project is aimed at understanding how SQL databases work internally and implementing a tiny SQL database using Rust. It serves as a learning tool to explore database concepts while gaining familiarity with Rust programming.

Awesome Lists containing this project

README

        

# mini-sqldb-rs πŸ¦€πŸ“š

**mini-sqldb-rs** This is a personal learning project where I'm diving into the world of SQL databases by building one from scratch using Rust. The primary goal here is to solidify my understanding of Rust while exploring the inner workings of a database system. (๑‒̀ㅂ‒́)و✧

> *Yes, the real goal is to write more Rust, explore database internals, wrestle with async & ownership, and maybeβ€”just maybeβ€”make peace with lifetimes. πŸ§˜β€β™‚οΈ)*

## Architecture πŸ—οΈ

To better understand how this database engine works, here are two architecture diagrams:

### High-Level Architecture 🌎
This diagram gives an overview of how the SQL execution pipeline is structured.

Detailed Architecture βš™οΈ (Click to expand)

## Project Status 🚧
> *Still at the beginning of the journey! 🌱
This project is my attempt to build a SQL database from scratch, and so far, I’ve only scratched the surface. There's a lot more to come!*

### βœ… Implemented:
- **Database Core**
- βœ… Database architecture
- βœ… Basic SQL execution (`SELECT`, `CREATE TABLE`, `INSERT`)
- βœ… In-memory and basic disk-based storage
- βœ… Transactions ACID properties and MVCC

### In Progress πŸ”¨:
- **Next Focus: Refinement Basic sql**
- πŸ”œ add update, delete, order by
- πŸ”œ limit, offset
- πŸ”œ projection