Skip to content
/ vdb Public

A database system implemented in rust that takes ideas from Entity Component Systems and relational databases.

License

Notifications You must be signed in to change notification settings

rvputten/vdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vdb - a database system implemented in rust

A basic database system that takes ideas from Entity Component Systems and relational databases.

Run example with

cargo run --example notebook

State of the project

  • no dependencies except for serde and chrono
  • loads and saves
  • add/update/delete key/value pairs
  • search for keys/values

Planned

  • incremental updates to the save files
    • not calling Vdb::save() will not lose data
  • model relationships between stored keys, like foreign keys
  • speed improvements
    • separate store for each key
    • indexes
    • partitions
  • use of enums instead of &str for keys
  • use builder pattern to query database
  • bigger & smaller comparisons (a > b)
  • create more examples
  • remove dependency on serde
    • custom more compact text format
  • configuration of storage
    • ~/.config, /var/, custom
  • cleanup api

Further in the future

  • allow access from multiple threads
  • client-server architecture
  • binary data storage (with or without serde)
  • tooling for schema upgrades
  • diesel integration

About

A database system implemented in rust that takes ideas from Entity Component Systems and relational databases.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages