4 releases (breaking)
0.4.0 | Jul 29, 2019 |
---|---|
0.3.0 | Jul 20, 2019 |
0.2.0 | Jul 19, 2019 |
0.1.0 | Jul 19, 2019 |
#1746 in Game dev
39KB
802 lines
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
Dependencies
~1.6–2.5MB
~49K SLoC