Skip to content

pavosql/pavosql

Repository files navigation

PavoSQL

License: MIT Build Test Build Hugo docs and deploy to pages

This is a learning project and is not meant to be run in production environments.

This project is stil w.i.p.

PavoSQL is a SQL relational Database written in pure Go, meaning only using Go's standard library.

Roadmap

  • Atomic backend store on single file
  • Relational model build on KV Store
    • Point queries
    • Range queries
    • Insert
    • Delete
    • Sorting
    • Group By
    • Joins
  • Lexer and Parser for SQL queries
  • Database server and client to use PavoSQL over the network
  • User and privilege system
  • Implement database/sql driver interface
  • Database Management System in single directory
  • Windows compatibilty of backend store (remain atomic)
  • Documentation
  • Installable as service/daemon (e.g. systemd)
  • Create and release Docker image
  • 80% Test coverage (not needed but nice to have)

Reference material

Build your own Database from Scratch
by James Smith
Book

GoSQL / Writing a SQL database from Scratch
by Phil Eaton
Blog
Repo

Lexical Scanning in Go
by Rob Pike
Video
Slides

SQLite Documentation
by SQLite
Docs

Releases

No releases published

Packages

No packages published

Languages