MYDB: 一个简单的数据库实现 预告

断断续续写了大半个月,终于可以放一下预告了。

继 MY-RPC-FRAMEWORK 后的又一简历杀手,终于写完了。

算了,不吹了。吹得我都不好意思了。

MYDB 是一个 Java 实现的简单的数据库,部分原理参照自 MySQL、PostgreSQL 和 SQLite。实现了以下功能:

  • 数据的可靠性和数据恢复
  • 两段锁协议(2PL)实现可串行化调度
  • 以 2PL 为基础的 MVCC
  • 两种事务隔离级别(读提交和可重复读)
  • 死锁处理
  • 简单的表和字段管理
  • 简陋的 SQL 解析(因为懒得写词法分析和自动机,就弄得比较简陋)
  • 基于 socket 的 server 和 client

基本是一个看起来可用的数据库,写一写当个 demo,加深下对数据库的理解,自然是极好的。

最近比较忙,相关的实现教程(类似 RPC 的教程)基本会在下个月开始动工,预期一个月完成。教程会在牛客、csdn、我的公众号和我新开的博客(还没开)上同步更新。

感兴趣的同学可以提前看看代码。已经跑过了基本的测试,但是估计 bug 还不少,欢迎 CR 和 PR。

https://github.com/CN-GuoZiyang/MYDB

附上一个客户端的执行序列吧:

客户端执行示例

另,这个项目是在 wsl 下用 idea community 开发的,微软搞的 wslg 可用性还挺高的,用起来完全没障碍。

#秋招#
全部评论
声哥牛逼!
1 回复 分享
发布于 2021-11-24 10:21
声哥您好,请问这个项目需要用到怎样的技术栈呀?适合大三学生写在简历上吗?期待您的回答!
点赞 回复 分享
发布于 2021-12-21 11:59
这是MIT6.830的Lab吗🤣
点赞 回复 分享
发布于 2021-12-12 00:57
期待期待😁😁
点赞 回复 分享
发布于 2021-12-04 10:41
虽然看不懂,但我知道该回什么:声哥牛逼!
点赞 回复 分享
发布于 2021-12-01 23:06
可以加个串行化吗
点赞 回复 分享
发布于 2021-11-24 12:55
声哥牛逼😊
点赞 回复 分享
发布于 2021-11-24 10:25
一个月应该完不成🤣代码都写了大半个月
点赞 回复 分享
发布于 2021-11-24 02:52
自顶沙发
点赞 回复 分享
发布于 2021-11-24 00:53

相关推荐

01-12 19:02
门头沟学院 Java
点赞 评论 收藏
分享
评论
14
42
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务