首页
学习
活动
专区
工具
TVP
发布

roseduan写字的地方

专栏成员
68
文章
43125
阅读量
14
订阅数
Postgres 源码学习 5—FSM 空闲空间映射
前面提到了 Postgres 中的数据文件是被换分为了多个 page,每个 page 的大小默认是 8 KB。当我们向表中插入数据的时候,就需要从这些 page 中找到一个能够放得下这条数据的 page。
roseduan
2024-07-04
1180
近期对 wal 组件的性能提升
wal 是我去年写的一个小组件,主要用于 LSM Tree 或者 Bitcask 的预写日志文件,以及任意的 append-only 文件读写都可以使用,第一次发布是 2023.6.13,刚好开源一年了:
roseduan
2024-06-19
1110
rose 聊开源—1 你为什么需要一个开源项目
我自己从最开始开源 rosedb/lotusdb,以及一些其他组件,折腾开源也有很多年了,这次想写一个关于开源项目的系列,结合我自己的实际经历,讲讲开源项目的开发、参与、维护、流程规范、收获、盈利等内容,希望这个系列对大家有所帮助。
roseduan
2024-06-11
940
Postgres 源码学习 4—表文件 Page 结构概览
前面一节主要从宏观上了解 Postgres 表数据文件的组织方式,接下来我们深入到一个表文件的 page 内部,查看 page 的具体结构表示。
roseduan
2024-06-11
1320
Postgres 源码学习 3—Postgres 存储管理器
前面一节说到,在 Postgres 的 VFD 机制之上,我们可以避开打开文件数量的系统限制,通过 VFD 可以进行打开、读写、关闭、删除文件等操作,简单来说就是 VFD 为我们提供了一个抽象,屏蔽了操作系统文件描述符的接口,后续我们对文件的 open、close,以及 CRUD 操作都在 VFD 的基础之上。
roseduan
2024-05-30
1220
推荐一本手写数据库的书籍
发现一本不错的书籍,名叫《Build Your Own Database From Scratch》,也就是从零实现一个你自己的 SQL 数据库,书中有完整的代码演示,用 Go 语言实现。
roseduan
2024-05-30
2640
Rust 练手项目—实现 MVCC 多版本并发控制
数据库的事务是一个经久不衰的话题,相信大家都已经耳熟能详了,事务是指数据库中单一逻辑工作单元的操作集合。这些操作要么全部成功执行,要么全部失败,从而确保数据库的一致性和完整性。
roseduan
2024-05-11
1480
太优雅了!Rust 200 行代码实现表达式解析
表达式解析、计算是一种基本和常见的任务,例如最常见的算术表达式,计算的方法有很多,比如逆波兰表达式、LL、LR 算法等等。
roseduan
2024-04-30
1510
开源一个 Rust 练手小项目
之前写过一个 Go 语言的 mini-bitcask,实现了一个基于 bitcask 存储模型的极简 KV 存储引擎。可以结合之前的文章食用:
roseduan
2024-04-28
2700
Postgres 源码学习 2—Postgres 的 VFD 机制
数据库的本质其实就是用来存储数据的,所以免不了和文件系统、存储进行交互,万丈高楼平地起,存储一般是一个数据库的最底层,Postgres 在存储的文件管理方面也有很多的设计与抽象。
roseduan
2024-04-19
1280
Postgres 源码学习 1—Postgres 源码编译和 debug
这里我使用了一个纯净的 Ubuntu 环境来进行演示,为了方便,使用了 docker。
roseduan
2024-04-18
3570
后端开发和数据库内核开发最全总结,详细对比!
我自己在毕业的前 2 年,其实都是做的后端业务开发,后来才转到了数据库内核开发,结合我自己的实际经历,跟大家聊一聊这两种不同类型的岗位都有什么区别。我会分别从编程语言、难易程度、工作流程、市场就业、薪资情况、稳定性方面进行全方位对比,最后也会对两种方向的选择给出自己的建议。
roseduan
2024-04-18
2110
细数自己学习过的编程语言,附学习建议
今天给大家分享一下我从大学自学编程,然后毕业四年多以来,学习过的编程语言,然后也会对这些编程语言做一个简单的比较,最后也会给出我的学习建议。
roseduan
2024-03-20
2180
raft 算法、分布式 KV 面试汇总
基于 MIT 6824 课程 lab 框架,实现一个基于 raft 共识算法、高性能、可容错的分布式 KV 存储系统,保证系统的一致性和可靠性。
roseduan
2024-02-29
7170
2023 年小结
去年六月份加入到现在的公司,目前已经一年多了,今年全年的时间,逐步深入的参与到数据库内核的一些 feature 开发中来,做了非常多的事情,包括:
roseduan
2023-12-26
2000
C,C++,还是 Rust?
最近工作中,对我司的 MPP 数据库产品 (https://github.com/cloudberrydb/cloudberrydb) 进行存算分离的改造,我们的组件最开始是 C++ 写的,但是由于产品本身是基于 Postgres (C 语言),所以又引入了非常多的 C 代码。
roseduan
2023-12-11
4240
我的编程故事—8 数据库内核
上一回说到,在从业务转到基础架构岗位之后,我开发了自己的第二个开源项目 LotusDB,并且因为一些原因,我在 2022 年中,也就是去年上海解封之后,开始打算看看新的机会了。
roseduan
2023-11-17
2420
从零实现 KV 和分布式 KV 有什么区别?
在众望所归之下,前两天终于出了一个全新的课程《从零实现分布式 KV》,大家的学习热情都非常高涨,其中有很多同学都问到了一个共同的问题,那就是这个课程和我之前的《从零实现 KV 存储》有什么区别呢?
roseduan
2023-11-17
3760
LotusDB 2.0 重磅发布!
经过差不多两个月的重构,在社区小伙伴的共同协作努力下,LotusDB V2.0.0版本正式发布!
roseduan
2023-09-12
2490
使用 WAL 构建你自己的 KV 存储
这篇文章将主要描述,如何使用我最近新开发的 WAL(Write Ahead Log)构建属于你自己的 KV 存储引擎。
roseduan
2023-09-01
3180
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档