深入了解 MariaDB 的 Clang Sanitizer 测试

MariaDB 使用 Clang 的内存、地址和未定义行为 sanitizers 来识别持续开发和测试过程中的编码缺陷。MariaDB 希望通过在线活动分享如何轻松执行相同的 sanitizer 检查。

MemorySanitizer 环境的创建尤其繁琐。由于 MariaDB 使用基于容器的构建和测试,我们拥有一个可供任何人重复使用的环境。

我们的“深入探讨”曾是内部技能转移机制,但我们首次将其开放给所有人参加。

本次深入探讨将涵盖

在 MariaDB 中始终使用正确的 UUID

以下文章由Stefano Petrilli撰写,他为 MariaDB 贡献了 UUIDv4UUIDv7 的实现。谢谢你,Stefano!


通用唯一标识符 (UUID) 的最初版本,现在称为 UUIDv1,于 20 世纪 80 年代首次出现。它们提供的最有趣的保证是生成的 ID 在空间和时间上始终是唯一的。

为了实现这一承诺,它使用了三种元素的组合

  • 节点,这是一个识别生成 UUID 的机器的字段。

参与 MariaDB 贡献的第一步

在二月份布鲁塞尔的 MariaDB Day 活动上,工程副总裁 Vicențiu Ciurbaru 发表了一场题为“开启你的开源职业生涯:参与 MariaDB 贡献的第一步”的精彩演讲。

鉴于最近关于 MariaDB 新贡献的积极统计数据,让我回顾一下 Vicentiu 为所有希望做出首次贡献的人提供的建议。 

参与 MariaDB 的贡献不仅仅是编写代码,更是加入一个充满活力的社区,在这里,每一个贡献,无论大小,都推动着创新。我们希望新来者能够看到一条切实可行的参与之路。

如何开始贡献? 

为何贡献?解决自身痛点!

解决你自己的痛点,同时帮助他人!

人们为何贡献开源项目?

这个问题和开源及其前身自由软件一样古老:人们为什么贡献?我们重新提出了这个经典问题,结果证实了那句关于解决自身痛点的老话。

解决工作或个人需求

最流行的答案是什么?解决工作或个人需求它获得了 44% 的票数,几乎占了一半。你只是需要完成这项工作,并且已经有一个开源项目几乎可以做到这一点了。

用于提交事务的“Amen”语句

MariaDB 时不时会收到一些真正鼓舞人心的贡献。今天的及时贡献来自Sigma,他们令人振奋的贡献是pull request 3937,其中添加了用于提交事务的 AMEN 语句。将文化规范与 SQL 标准协调一致的需求在工程领域很大程度上尚未得到充分探索,而这里似乎是一个很好的起点。

正如描述的

此拉取请求引入了一个新语句 amen,作为 MariaDB 中传统 commit 命令的替代方案。此更改的动机是提供一种更具主题性和文化共鸣的方式来结束事务,反映了“MariaDB”名称的宗教内涵。

MariaDB 贡献统计,2025 年 1 月

这是 2024 年第四季度的贡献报告。包含截至今日统计数据的原始数据可以在GitHub 上找到,点此

服务器贡献

就像上个季度一样,我将从 2024 年期间为 MariaDB Server 做出贡献的所有组织细分开始。

组织贡献者提交次数
MariaDB Plc. 31 1707
MariaDB 基金会 9 201
Codership 7 103
Amazon 12 51
独立贡献者 19 48
GSoC 3 14
Arch Linux 1 6
阿里巴巴 1 4
IONOS 1 4
Workato 1 4
乐天 1 3
OpenBSD 1 2
HardenedBSD 1 2
悉尼大学 1 2
Arm 1 1
ClearCode 1 1
FreeBSD 1 1
IBM 1 1
NetBSD 1 1
Chainguard 1 1
CloudLinux 1 1
总计 96 2158

MariaDB Server 2024 年 1 月 1 日至 2024 年 12 月 31 日的贡献

与 2024 年第三季度报告相比,我们可以看到一些新名字,包括 CloudLinux、NetBSD 和 Workato 的贡献。

MariaDB 贡献统计,2024 年 10 月

又一个季度过去了,在 MariaDB 的世界里,又到了贡献报告的时间。这份报告的原始数据可以在GitHub 上找到,点此

服务器贡献

就像上个季度一样,我将从今年至今为 MariaDB Server 做出贡献的所有组织细分开始。

组织贡献者提交次数
MariaDB Plc 29 1262
MariaDB 基金会 6 123
Codership 7 77
独立贡献者 17 57
Amazon 12 50
Arch Linux 1 6
GSoC 3 5
IONOS 1 4
阿里巴巴 1 3
乐天 1 3
HardenedBSD 1 2
OpenBSD 1 2
悉尼大学 1 2
Arm 1 1
Chainguard 1 1
ClearCode 1 1
FreeBSD 1 1
IBM 1 1

MariaDB Server 2024 年 1 月 1 日至 2024 年 10 月 8 日的贡献

这里有一些有趣的事情需要注意。

Amazon 贡献 MariaDB Vector

MariaDB Vector 预览版 最近发布,为 MariaDB Server 带来了备受期待的向量搜索功能。Amazon 是 MariaDB Vector 的主要开源贡献者之一。为了分享喜悦并了解为 MariaDB Server 做贡献是怎样的体验,我与 Amazon RDS 团队的软件工程师 Hugo Wen 进行了交流。 

Hugo 对 MariaDB Vector 的贡献

Hugo Wen 在 MariaDB 和 MySQL 中进行向量相似度搜索的工作始于 Amazon 领导层将向量搜索功能确定为关键新增功能,并决定投入 Amazon RDS 团队的时间来为 MariaDB Vector 做贡献。