前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >推荐教程—Build A Simple Database

推荐教程—Build A Simple Database

作者头像
roseduan
发布2022-11-21 20:01:23
7980
发布2022-11-21 20:01:23
举报
文章被收录于专栏:roseduan写字的地方

最近在学习 C 语言,偶然看到了一个 Let`s Build A Simple Database 的教程,瞬间吸引了我的兴趣。

教程地址:https://cstack.github.io/db_tutorial/

然后简单了解一下,这个教程就是实现一个类似 SQLite 的嵌入式关系型数据库,但是比 SQLite 更加轻量,旨在体现它的核心思想,并且让我们了解一下数据库的基本实现原理,例如内存数据结构、解析器、磁盘存储等,麻雀虽小五脏俱全。

正如作者开篇所说:

这个教程由 13 篇文章组成,前面 6 篇的内容比较简单,主要就是将固定格式的数据解析,然后持久化到磁盘当中,内存当中用数组存储全部的数据。

剩下的 7 篇文章难度稍微大点,就是在持久化存储之上,构建一个 B+ 树结构,使数据的插入、查找、删除都更加高效,教程大纲如下:

我目前做了前 6 篇简单的内容,每一篇文章作者都讲得比较详细,并且将代码都贴上来了,还标明了代码的前后变化,可以说是很贴心了:

这个教程有这几个点需要说明一下:

1、文章都是英文的,英文吃力的可能看起来会痛苦一点

2、所有的代码都在一个文件(db.c)里面,写着写着可能会晕

3、C 语言实现的,需要对 C 有一定的了解

我在写这个的时候,并没有把全部代码放到一个文件里面,而是做了拆分,可以参考下我的这个 repo:

https://github.com/flower-corp/simple-db-in-c

通过这个教程,能够对数据库的基本实现原理有一定的了解,是非常不错的学习和入门材料。

要是后续有空的话,我可以将这个教程翻译一下,并且提供 Go 语言的实现。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档