前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用 Go 语言写一个数据库—6 完结撒花

使用 Go 语言写一个数据库—6 完结撒花

作者头像
roseduan
发布2021-07-28 17:56:08
4530
发布2021-07-28 17:56:08
举报

Hello 大家好,我是 roseduan,前面的几篇文章,我已经讲述了 rosedb 最基础也是最核心的知识,如果你没有印象的话,可以温习一下:

使用 Go 语言写一个数据库—5 命令行

使用 Go 语言写一个数据库—4 数据结构

使用 Go 语言写一个数据库—3 数据库操作

使用 Go 语言写一个数据库—2 基本数据操作

使用 Go 语言写一个数据库—1 基本结构


前面讲述了最基础的数据库的结构,我们知道了 rosedb 其实是基于 LSM 模型的,基本的数据写入、删除、修改的操作,还有启动、重启、关闭数据库,以及数据结构例如链表,哈希表,跳表。

可以说,前面的这些内容就是目前 rosedb 的核心了,如果你搞懂了,这个数据库就不在话下了,写到简历当中,也一定是非常大的亮点。

今天是讲解 rosedb 的最后一篇文章,内容比较的轻松,不涉及技术问题了,参考视频在文章的底部。

你从这个项目当中学到了什么?

如果仔细看了前面的几篇文章的话,你一定会有所收获吧,你可以把你学到的留言告诉我哦。

其实在我的 README 文件当中我也说了,这其实是一个学习 Go 语言的挺不错的项目,大多数 Go 语言的基础语法知识都涵盖了,还有一些高级特性;还有数据结构的一些内容;还有文件,网络等知识。

我也从这个项目当中学到了很多,锻炼了自己的编程能力,并且帮助我在面试的过程当中更加得心应手。

后续一定会慢慢的完善这个项目,努力为大家带来更大的价值。

你能为这个项目做什么?

相信也有一些朋友,对这个项目比较的感兴趣,然后想亲自参与进来,完善相关的功能,或者修改 bug 等等,这其实是非常值得赞扬的。

针对这些小伙伴,我可以给你一些提示。

目前项目当中,还有非常多待完善的功能,以及可优化的地方,比如:

  • 支持事务,ACID 特性
  • 文件数据压缩存储(snappy、zstd、zlib)
  • 缓存淘汰策略(LRU、LFU、Random)
  • 支持更多的命令操作(type,keys,mset,mget,zcount,etc...)
  • 生成 go dev 文档(需要写 examples)(pkg.go.dev)
  • 其他:发现 bug 并修改做压测,性能优化

当然这些只是我列举到的,还有很多你可以自己去钻研的地方,期待早日收到你的 Pr!如果你有任何想法,也欢迎加我微信 kiss_duan 与我沟通。

视频参考


最后,告知一下大家,我目前建立了这个项目的微信交流群,你进群可以和大家一起交流学习!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 roseduan写字的地方 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档