使用 Go 从零构建 KV 存储

精雕细琢了几个月的时间之后,《从零实现 KV 存储》课程终于上线了,打造此课程的目的,是看到很多人想要入行数据库内核或者分布式存储,但是苦于没有一个很好的实战项目来进行系统性的学习。

结合自己从 Java 业务开发转行数据库内核的经历,我认为从零实现 KV 存储是一个很好的起点,希望这个课程可以帮助到一部分同学。

本课程是从零实现一个完整的 KV 存储项目,比起其他的项目,一个很大的不同在于,我会在视频当中,带着大家从第一行代码开始编写,而不是对着代码进行讲解,或者让你自己去看。

并且本课程将会使用 Rust 和 Go 两种语言实现。

通过每一行代码的编写,你会对整个系统了如指掌,这样对自己基本功的锻炼、对编程能力的提升都是很大的,下面是关于本课程的一些基本情况:

关于我

我的网名叫 roseduan,是开源项目rosedb、lotusdb的作者,目前约累计 4.6k star,在存储引擎方面有自己的一些实践经验。

我的 Github 主页:github.com/roseduan


课程形式

课程提供了两种展现的方式,文档+视频

文档中描述了一小节内容的基本流程,例如数据读写流程、删除流程等,以及一些代码细节,主要是方便你随时温习,在手机端也能够很好的观看。

另一个是视频,在视频当中,我会专注于代码细节,带着你一行一行的来完成每一个章节,你可以先跟着我把代码敲一遍,然后自己不断的反思学习,提出自己的思考,以及可能的优化思路,这样才能够不断的提升自己。

课程的每一篇文档开头,都有一个对应的视频,建议你先通过观看视频的方式,跟着我把代码写完。

课程的视频演示中,将使用 Rust 和 Go 两种语言来实现,一次付费购买,相当于可以用两种语言来学习实现一个 KV 数据库。

课程内容

课程大致分为了几个部分

  • 一是 KV 存储基本功能的实现,包含数据读写、Merge、WriteBatch 等
  • 二是一些常见的优化策略,主要包含内存索引、文件 IO、Merge 操作的优化
  • 三是对 Redis 数据结构以及 Redis 协议的支持
  • 以及其他的例如数据备份、测试、HTTP 接口接入等等。

课程目录如下:

如果你在学习的过程当中,发现有任何问题,或者可以补充的内容,都可以提出来,如果合理的话,我会再加入到课程内容中。

适用人群

这个课程对以下同学应该都非常的合适,包括但不限于:

  • 入门数据库的同学,存储对一个数据库来说是必不可少的,存储也是一个数据库当中非常重要的模块,通过自己动手写 KV 存储可以掌握一些数据库的基本概念,以及数据库的基本设计思路
  • 入门分布式存储的同学,单机 KV 存储是分布式存储岗位的必备,可以了解单机存储引擎的设计思路,优化思路等,增强自己对存储引擎的深入理解
  • 增加 Go 项目经验的同学,如果学习了一些 Go 的基础知识,但是苦于没有项目经验,想要进一步巩固自己的知识
  • 增加 Rust 项目经验的同学,这个和 Go 类似,课程支持了两种语言,所以想要进一步巩固自己的 Rust 基础知识,这个课程也很合适
  • 想要巩固基本功的同学,基本功对一个程序员来说非常重要,但是平常的一些课程,例如操作系统,学完了之后总是没有太多的使用场景,没过多久就忘记了,这个课程当中涉及到操作系统、文件、磁盘等知识,可以帮助你打牢基本功
  • 毕业设计,对于尚未毕业的同学,苦于无法找到一个合适的毕设项目,这个项目应该会让导师们眼前一亮

    前置知识

    学习本课程,不需要什么特别的前置知识,只需要熟悉 Go 或者 Rust 的基础语法即可,课程当中涉及到的一些内容,我将会详细的为大家讲解,前期先跟着视频中敲代码,是完全可以学会的,没有任何障碍。

    是否可以试看

    可以,课程的前两节可以试看:
    01 从零实现 KV 存储—初识 KV 数据库
    02 从零实现 KV 存储—bitcask 论文详解

    课程目前的进度

    课程目前更新到了第七节,KV 引擎的数据读写接口都定义好了,后续每周将会更新 1-2 节内容。

    如何购买

    售价:399 元
    课程提供了文档+视频,并且使用 Rust 和 Go 两种语言实现,在市面基本上没有同类型的课程。学习一个硬核的项目,为自己的职业发展提供更多的可能,我自己就是从业务 Java 后端转到数据库内核的,我的启蒙项目就是自己从零实现了一个 KV 引擎,所以对于这一点我是深有体会。

想要购买的同学,请加我 vx(vx号:kiss_duan),或扫描下面的二维码,有其他任何疑问都可以咨询。
购买成功后,将会为你开启对应的权限。

购买后是否有有效期?

没有,购买后永久持有,无限次观看。

咨询服务
购买后,我会拉你进课程用户专属的飞书群,我会亲自为你解答学习过程中的疑难杂症,保证你肯定能够完全学会课程中的内容!


PS. 课程主页详情请点击这里:w02agegxg3.feishu.cn/docx/Ktp3dBGl...

本作品采用《CC 协议》,转载必须注明作者和本文链接
roseduan
讨论数量: 3
fatrbaby

很吊,支持。

1年前 评论
fatrbaby

这个课程实现KV是单机版的吗?

1年前 评论
roseduan (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!