My New Hugo Site logo
  • Home 
  • Tags 
  1.   Zhs
  1. Home
  2. Zhs
  3. 从零实现 KV 存储

从零实现 KV 存储

Posted on October 6, 2023 • 1 min read • 168 words
KV  
KV  
Share via
My New Hugo Site
Link copied to clipboard

¥450 | 使用 Rust 和 Go 两种语言实现,手把手教学,只需要基础的语法知识,即可学会一个硬核实战项目!

On this page
  • 关于我
  • 课程形式
  • 课程内容
  • 适用人群
  • 前置知识
  • 是否可以试看
  • 课程目前的进度
  • 课程评价
  • 如何购买
  • 咨询服务
  • 其他 Q&A
从零实现 KV 存储

本课程是从零实现一个完整的、兼容 Redis 协议的 KV 数据库项目,比起其他的项目,本课程最大的特点是,我会在视频当中,带着大家从第一行代码开始编写,而不是对着代码进行讲解,或者让你自己去看。

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

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

关于我  

我的网名叫 roseduan,是开源项目rosedb、lotusdb 的作者,目前总共约累计 6k star,在存储引擎方面有自己的一些经验,目前担任数据库内核研发的职位。

我的 Github 主页:https://github.com/roseduan

1280X1280.JPEG

课程形式  

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

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

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

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

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

课程内容  

课程大致分为了几个部分

  • 一是 KV 存储基本功能的实现,包含数据读写、Merge、WriteBatch 等
  • 二是一些常见的优化策略,主要包含内存索引、文件 IO、Merge 操作的优化
  • 三是对 Redis 数据结构以及 Redis 协议的支持
  • 数据备份、测试、HTTP 接口接入
  • 加餐内容:Go、Rust、数据库、存储学习资料分享总结,课程项目面试要点&回答

课程目录如下:

output.png

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

适用人群  

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

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

前置知识  

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

是否可以试看  

可以,课程的前 2 节和第 18 节内容可以试看

01 从零实现 KV 存储—初识 KV 数据库

02 从零实现 KV 存储—bitcask 论文详解

18 从零实现 KV 存储—基准测试

第 18 节内容包含理论讲解以及代码演示,课程的其他内容都是这样的形式。

本节内容较少,所以视频只有十几分钟,但是其他章节会根据内容而定,时长 1-3 小时不等。

课程目前的进度  

课程目前已经全部更新完毕,后续会根据同学们的实际需求更新一些加餐内容!

课程评价  

课程上线以来,大家好评如潮,学习氛围浓厚,纷纷表示学到了很多东西,做出真正硬核、对大家有帮助的项目,也是我的初衷!

以下是一些同学的反馈,感谢支持!

Snipaste_2025-01-19_16-10-26.png

如何购买  

售价:450 元(原价:500元)

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

想要购买的同学,请加我 vx 并转账(vx号:kiss_duan,请备注KV课程),或扫描下面的二维码,有其他任何疑问都可以咨询。

购买成功后,将会为你开启对应的权限。

wechat.png

咨询服务  

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

其他 Q&A  

购买后在什么平台学习?

课程内容都在飞书云文档,购买成功后,为你开启对应的权限,然后可以在线观看

两个语言的实现是同步更新吗?

是的,同步更新,进度保持一致

课程时长?代码量?

课程的视频总时长大概在 25 小时左右,每个语言各自的代码量大概在 4500 行

如何获取项目中的代码?

购买成功后将会开启代码 pull 的权限,也可以到课程专属飞书用户群中下载

文档和视频对应的吗?

是的,每一节课程,都有对应的一个文档和一个视频

没有任何数据库或者存储的基础,能学会吗?

当然可以,本课程只需要熟悉 Rust 或者 Go 的语言基础就可以了。其他的内容,例如论文讲解、架构设计,我都会在课程中详细讲述,你也可以在用户群中进行咨询,完全可以学会

购买后是否有有效期?

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

可以退款吗

虚拟内容服务,一经购买,概不退款,多谢支持与理解。

从零实现 SQL 数据库 
On this page:
  • 关于我
  • 课程形式
  • 课程内容
  • 适用人群
  • 前置知识
  • 是否可以试看
  • 课程目前的进度
  • 课程评价
  • 如何购买
  • 咨询服务
  • 其他 Q&A
关于作者

roseduan,开源项目rosedb、lotusdb 的作者,目前累计超过 6k star,目前担任数据库内核研发的职位,主要研究 Postgres 数据库,在数据库内核开发方面有丰富的经验。购买课程请添加微信(kiss_duan),备注“课程购买”。

 
Copyright © 2025 My New Hugo Site All rights reserved. | Powered by Hinode.
My New Hugo Site
Code copied to clipboard