< 返回版块

mr小卓X 发表于 2021-12-15 21:00

Tags:database, cache, storage

一个在学习 Rust 语言时开发的练习项目:Dorea Key-Value 数据库系统。

我是一名高中生,一直研究的方向是 Web 开发,最近在学习 Rust 期间做了这个项目(边学边做嘛)

这个项目在设计和代码层面有很多问题(很有自知之明qwq),这本身也是我对新领域的一次尝试。

如果可以的话,我希望能在社区中看到一些大佬们的提议和反馈,能让我把这个项目做得更好。

  • 采用 Bitcask 的存储模型,数据类型层面支持结构化(使用了自制的一种 JSON 拓展格式来完成存储)
  • 数据传输使用了自制的 TCP 协议,为了方便还内置了使用 Axum 开发数据库 Api 接口。
  • 制作了个人常用的几门语言的 Driver ,包括:Deno、Rust、Python (Deno和Python基于Web接口)
  • 数据库索引是在内存中保存的,并且是按需加载(在做了);有缓存淘汰机制。
  • 简单的拓展(插件)系统设计,采用 Lua 语言做插件,目前已经可以实装了qwq(包含了基本接口)
  • 单机可运行多个服务,并配置不同的 workspaceconfig-file

DB开发本身就是一个门槛较高的方向,虽然我没啥这方面的经验,但多做做多学学也不是啥坏事嘛qwq

主页: https://dorea.mrxzx.info/


Ext Link: https://github.com/mrxiaozhuox/dorea/

评论区

写评论
WanderHuang 2022-02-11 09:32

thumb_up

duzhaosongyue 2021-12-16 13:19

差距真大,我上高中的时候都不知道java是啥

作者 mr小卓X 2021-12-16 13:18

我的QQ: 3507952990 我的Wechat: mrxiaozhuox

--
👇
JesseAtSZ: Rust新手想要一起参与这个项目,请问方便留个联系方式吗?

rex-ma-2015 2021-12-16 11:37

现在都卷成这样了?高中就学rust了。真厉害。

1 共 4 条评论, 1 页