#system #idea #database #entity-component #implemented #relational #basic

vdb

基于Rust实现,吸取了实体组件系统和关系数据库思想的数据库系统

4 个版本 (破坏性更新)

0.4.0 2019年7月29日
0.3.0 2019年7月20日
0.2.0 2019年7月19日
0.1.0 2019年7月19日

#1746 in 游戏开发

MIT 许可证

39KB
802

vdb - 基于 Rust 实现的数据库系统

一个基本的数据库系统,吸取了实体组件系统和关系数据库的思想。

使用以下命令运行示例

cargo run --example notebook

项目状态

  • 除了 serde 和 chrono 以外没有依赖
  • 加载和保存
  • 添加/更新/删除键/值对
  • 搜索键/值

计划

  • 增量更新保存文件
    • 不调用 Vdb::save() 不会丢失数据
  • 在存储的键之间建立模型关系,如外键
  • 速度提升
    • 每个键有自己的存储
    • 索引
    • 分区
  • 使用枚举代替 &str 作为键
  • 使用构建器模式查询数据库
  • 大小比较(a > b)
  • 创建更多示例
  • 移除对 serde 的依赖
    • 更紧凑的文本格式
  • 存储配置
    • ~/.config, /var/, 自定义
  • 清理 API

未来的进一步发展

  • 允许多线程访问
  • 客户端-服务器架构
  • 二进制数据存储(带或不带 serde)
  • 模式升级工具
  • diesel 集成

依赖项

~1.6–2.5MB
~49K SLoC