Skip to content

Dr-Nekoma/RacketowerDB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

fff2659 · Mar 13, 2024
Mar 10, 2024
Nov 20, 2023
Mar 10, 2024
Nov 18, 2023
Aug 11, 2023
Mar 9, 2024
Jan 6, 2024
Aug 11, 2023
Mar 13, 2024
Mar 11, 2024
Oct 8, 2023
Nov 18, 2023
Mar 9, 2024
Nov 11, 2023
Jan 6, 2024
Nov 13, 2023
Nov 18, 2023
Mar 13, 2024
Mar 11, 2024
Nov 11, 2023
Mar 10, 2024
Mar 13, 2024
Mar 11, 2024

Repository files navigation

Racket Tower DB 🎾 🏰

This is a toy relational database using unclustered indexing for queries.

It is written in Racket for us to be able to practice Scheme lisp and also leverage the ecosystem.

Do not use it professionally (it’s always good to warn).

RoadMap

RacketowerDB 1.0 [6/6]

  • [X] Write the logical schema onto disk
  • [X] Reads of tables and schemas
  • [X] Persistent storage
  • [X] Constraints
    • [X] Add row-id to row reading from the disk
    • [X] Add local constraints to table struct
    • [X] Do a proof of concept using the back-ticked lambdas for local constraints
    • [X] Do a proof of concept using the hashed values for set constraints
    • [X] Add a serialization for constraints
  • [X] Keys (logical and indexing)
  • [X] Internal tooling for searches

RacketowerDB 2.0 [0/8]

  • [ ] Persist Indexing
  • [ ] Query Language
  • [ ] Improve searching with different types
  • [ ] Server
  • [ ] Client
  • [ ] Procedures
  • [ ] Transactions
  • [ ] Cascading

How to use RacketowerDB

Nix

> nix develop
> just run
> just test

Guix

TODO

Developers

  • EduardoLR10
  • MMagueta
  • z-silver

Dr.Nekoma

Built live on Twitch and archived on Youtube.