精雕细琢了几个月的时间之后,《从零实现 KV 存储》课程终于上线了,打造此课程的目的,是看到很多人想要入行数据库内核或者分布式存储,但是苦于没有一个很好的实战项目来进行系统性的学习。
结合自己从 Java 业务开发转行数据库内核的经历,我认为从零实现 KV 存储是一个很好的起点,希望这个课程可以帮助到一部分同学。
本课程是从零实现一个完整的 KV 存储项目,比起其他的项目,一个很大的不同在于,我会在视频当中,带着大家从第一行代码开始编写,而不是对着代码进行讲解,或者让你自己去看。
并且本课程将会使用 Rust 和 Go 两种语言实现。
通过每一行代码的编写,你会对整个系统了如指掌,这样对自己基本功的锻炼、对编程能力的提升都是很大的,下面是关于本课程的一些基本情况:
关于我
我的网名叫 roseduan,是开源项目rosedb、lotusdb
的作者,目前约累计 4.6k star,在存储引擎方面有自己的一些实践经验。
我的 Github 主页:https://github.com/roseduan
课程形式
课程提供了两种展现的方式,文档+视频。
文档中描述了一小节内容的基本流程,例如数据读写流程、删除流程等,以及一些代码细节,主要是方便你随时温习,在手机端也能够很好的观看。
另一个是视频,在视频当中,我会专注于代码细节,带着你一行一行的来完成每一个章节,你可以先跟着我把代码敲一遍,然后自己不断的反思学习,提出自己的思考,以及可能的优化思路,这样才能够不断的提升自己。
课程的每一篇文档开头,都有一个对应的视频,建议你先通过观看视频的方式,跟着我把代码写完。
课程的视频演示中,将使用 Rust 和 Go 两种语言来实现,一次付费购买,相当于可以用两种语言来学习实现一个 KV 数据库。
课程内容
课程大致分为了几个部分
- 一是 KV 存储基本功能的实现,包含数据读写、Merge、WriteBatch 等
- 二是一些常见的优化策略,主要包含内存索引、文件 IO、Merge 操作的优化
- 三是对 Redis 数据结构以及 Redis 协议的支持
- 以及其他的例如数据备份、测试、HTTP 接口接入等等。
课程目录如下:
如果你在学习的过程当中,发现有任何问题,或者可以补充的内容,都可以提出来,如果合理的话,我会再加入到课程内容中。
适用人群
这个课程对以下同学应该都非常的合适,包括但不限于:
- 想入门数据库的同学,存储对一个数据库来说是必不可少的,存储也是一个数据库当中非常重要的模块,通过自己动手写 KV 存储可以掌握一些数据库的基本概念,以及数据库的基本设计思路
- 想入门分布式存储的同学,单机 KV 存储是分布式存储岗位的必备,可以了解单机存储引擎的设计思路,优化思路等,增强自己对存储引擎的深入理解
- 增加 Go 项目经验的同学,如果学习了一些 Go 的基础知识,但是苦于没有项目经验,想要进一步巩固自己的知识
- 增加 Rust 项目经验的同学,这个和 Go 类似,课程支持了两种语言,所以想要进一步巩固自己的 Rust 基础知识,这个课程也很合适
- 想要巩固基本功的同学,基本功对一个程序员来说非常重要,但是平常的一些课程,例如操作系统,学完了之后总是没有太多的使用场景,没过多久就忘记了,这个课程当中涉及到操作系统、文件、磁盘等知识,可以帮助你打牢基本功
- 做毕业设计,对于尚未毕业的同学,苦于无法找到一个合适的毕设项目,这个项目应该会让导师们眼前一亮
前置知识
学习本课程,不需要什么特别的前置知识,只需要熟悉 Go 或者 Rust 的基础语法即可,课程当中涉及到的一些内容,我将会详细的为大家讲解,前期先跟着视频中敲代码,是完全可以学会的,没有任何障碍。
是否可以试看
可以,课程的前两节可以试看:
课程目前的进度
课程目前更新到了第七节,KV 引擎的数据读写接口都定义好了,后续每周将会更新 1-2 节内容。
如何购买
售价:450 元
课程提供了文档+视频,并且使用 Rust 和 Go 两种语言实现,在市面基本上没有同类型的课程。学习一个硬核的项目,为自己的职业发展提供更多的可能,我自己就是从业务 Java 后端转到数据库内核的,我的启蒙项目就是自己从零实现了一个 KV 引擎,所以对于这一点我是深有体会。
想要购买的同学,请加我 vx(vx号:kiss_duan),或扫描下面的二维码,有其他任何疑问都可以咨询。
购买成功后,将会为你开启对应的权限。
购买后是否有有效期?
没有,购买后永久持有,无限次观看。
咨询服务
购买后,我会拉你进课程用户专属的飞书群,我会亲自为你解答学习过程中的疑难杂症,保证你肯定能够完全学会课程中的内容!
PS. 课程主页详情请点击这里:https://w02agegxg3.feishu.cn/docx/Ktp3dBGl9oHdbOxbjUWcGdSnn3g