IoTDB Committer+Ratis PMC Member:“两全其美”的秘诀是?

IoTDB & Ratis 双向深耕!

还记得一年前我们采访过拥有 IoTDB 核心研发+ Ratis Committer “双重身份”的社区成员宋子阳吗?(点此阅读)

我们高兴地发现,一年后,他在两个项目都更进一步,已成为 Apache IoTDB Committer + Ratis PMC Member!

时隔一年的追踪采访,再来了解一下这位始终坚持、积极贡献的社区优秀同学的体会:

0fee9bdc4b217ae502477f1df3c42aa9.jpeg

宋子阳

大家好,我是宋子阳,目前是清华大学软件学院研究生二年级学生,主要感兴趣的方向是分布式系统和共识协议。我热爱开源社区,从 2021 年底就开始参与开源社区的贡献,到现在已经 3 年了。

关于 Apache IoTDB

还是先来简单说说你和 IoTDB 的缘分吧?

在本科阶段,我就对数据库、操作系统等基础软件产生了浓厚的兴趣。在大三保研时,我坚定了投身于数据库内核研发的理想,也借保研的机会了解到清华大学软件学院和 Apache IoTDB 工业时序数据库。在这个过程中我被 IoTDB 的技术领先性、性能优势和广泛的应用场景深深吸引,迫切地想成为其中的一份子,于是就加入到了 IoTDB 的发展迭代里来。

我在 Apache IoTDB 中主要负责高可用共识模块。当前的 Apache IoTDB 的分布式版本当中支持了三种不同的共识协议算法,其中囊括了 Raft 协议,不仅能够提供强一致性保障,同时可以保障集群内部元数据和时序数据的高可用性。在精心的设计和持续的优化下,IoTDB 在保证数据架构的高可用、高可靠的同时,以优越的吞吐性能和较低的时延损失获得了数据的强一致性

距离上次的采访也经过一年多了,说说这段时间里你在 IoTDB 的新建树和新收获吧?

在这段时间里,我开始逐渐跳出 Ratis 甚至是共识协议的范畴,开始以一种更高的、更全面、更系统的角度参与到 IoTDB 的贡献中。去年年初我参与到了 Ratis 和可观测性的集成中,感受到了可观测性对于系统内核的深远帮助。去年年末我参与到了 Region 迁移的设计,在保持功能性和稳定性的条件下继续打磨共识协议的 snapshot 传输能力。今年开始我参与到了负载均衡模块的设计。这些工作不但让我更加了解 IoTDB,也让我在一个大系统的视角里持续优化贡献共识协议,完成了 IoTDB-Ratis 社区的“飞轮效应”提升。万事开头难,但随着努力再努力,进步也就越来越快了。

是什么让你能一直坚持参与 Apache IoTDB 项目,最终成为 Committer 呢?

主要有三个原因:

社区成员们非常友好,无论是新手还是有经验的开发者,大家都乐于分享知识和经验,互相帮助。这种包容和支持的氛围促使我愿意长期投身于项目中。

同时,Apache IoTDB 项目为我提供了一个挑战自我、实现技术突破的平台。通过解决实际问题、参与复杂功能的开发,我不仅提升了自己的技术能力,还积累了宝贵的实践经验。

最后是责任感。积极参与项目的开发和维护工作,确保项目的质量和稳定性,开发出能用、好用、管用的软件是我们清华软院学子的追求。

之前采访时,你还是 Ratis Committer,现在也已经是 PMC Member 了,是如何完成的这一转变呢?

从 Committer 向 PMC Member 的转变,基于的是我们不断向 Ratis 贡献的 Patches,也体现了 Ratis 社区对我们的信任和支持。这段时间里,我主导了 Ratis 社区的部分决策,包括发版、Tickets、公告,Ratis 社区也为支持我们做了大量的工作,包括为我们的发版专门加班加点赶了许多PR。

在未来,两个社区会继续加深合作,我们会不断把我们在 IoT 领域的工作和优化点贡献给 Ratis,也让 Ratis 变成一个更加适合处理 IoT 领域数据的 Raft 共识协议。

关于开源社区

你觉得开源社区对 Apache IoTDB 的“加成”是?

开源社区通过广泛的传播和推广,让更多的潜在用户和贡献者了解到 Apache IoTDB。开放的贡献机制为全球开发者和用户提供了平等的参与机会,他们可以提交代码、撰写文档、报告问题和提出改进建议。社区成员因对技术和创新的共同追求而聚集,形成了一个协作网络,共同致力于优化和完善 IoTDB。通过快速响应用户反馈、修复问题、开发新功能和分享知识,开源社区不断推动 IoTDB 项目前进,使其成为一个更加优秀的时序数据库系统。

有没有给想要参与 Apache IoTDB 开源社区贡献的小伙伴一点小建议?

欢迎加入 Apache IoTDB 社区!作为新手,不要害怕提问,大家都是很耐心的人,愿意帮助你解决疑惑。社区提倡知识共享和合作,你的问题和想法都是宝贵的。可以从一些简单的 issue 开始,比如修复小 bug 或完善文档,这不仅能让你快速上手项目,还能逐步积累经验和信心。通过这些初步的贡献,你将熟悉项目结构和开发流程,为后续参与更复杂的任务打下基础。期待你的积极参与,让我们一起把 IoTDB 变得更好!

成为 Committer 的感言!

成为 Apache IoTDB 的 committer 是一段令人难忘的旅程。我深感荣幸,感谢社区给予的信任和支持。回顾这段历程,社区温暖的氛围、强烈的责任感以及对卓越的追求是我坚持不懈的动力源泉。每一次解决问题、每一次代码提交,都让我感受到技术进步带来的成就感和满足感。我见证了项目的成长,也从中收获了宝贵的经验和友谊。未来我会继续致力于 IoTDB 项目的高可用共识模块领域,在自己擅长的方面提供力量,为开源铸就独特而辉煌的下一篇章!

28751e43d0edaa624d1f142b8a462126.gif

e0613e05498a06f99fbc4bfe1e9bd4e9.jpeg

e7eee179a3304a173336e4bef67bc8c0.jpeg

e70a0e5cb0a9d43bc4ee46fb28a5d750.jpeg

ba72a63b3c0d0f4f681c83669471ef4d.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/39096.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue 结合 Element-UI ,管理系统快速生成指南(一)

前言 Element UI 作为一个基于 Vue.js 的 UI 组件库,提供了丰富的界面元素和交互组件,大大提高了开发效率。结合这两大前端技术栈,开发者能够快速搭建出一个功能强大、界面优雅的管理系统。 由于管理系统实现流程还是相对较多,所以分几篇文章进行讲解 本章主要先…

TCP单进程循环服务器程序与单进程客户端程序

实验目的 理解并掌握以下内容: 网络进程标识(即套接字地址)在Linux中的数据结构与地址转换函数。网络字节序与主机字节序的定义、转换以及相关函数在网络编程中的应用。数据结构内存对齐的基本规则,以及基于数据结构构建PDU的基本方法。TCP单进程循环服务器与单进程客户端的…

电影交流平台小程序的设计

管理员账户功能包括:系统首页,个人中心,电影类型管理,留言反馈管理,电影中心管理,系统管理 微信端账号功能包括:系统首页,电影中心,留言反馈 开发系统:Window…

kvm虚拟机启用console登录

kvm虚拟机console登录,就是执行 virsh console 的时候,宿主机可以控制虚拟机。 一、centos7的kvm虚拟机开启console登录(在虚拟中操作) 1、备份文件 [roothadoop51 ~]# cp /etc/grub2.cfg /etc/grub2.cfg_back 2、用下面命令可…

Git 命令学习之推送本地项目到 Gitee 托管

引言 在软件开发中,版本控制是不可或缺的一环。Git 作为目前最流行的分布式版本控制系统,广泛应用于各种项目中。而 Gitee(原名码云)作为国内知名的代码托管平台,为开发者提供了稳定、安全的代码托管服务。下面将详细…

mysql mgr集群断电重启

一、前言 mysql mgr集群所有节点都断电重启时,就会面临一个问题,应该怎么重新构建mgr集群 二、操作 查询所有节点的master状态 show master status; 查看同步状态,可以通过uuid知道是通过哪个节点进行同步的数据 查看所有节点的uuid&#x…

【工具推荐】Clink

文章目录 Clink介绍Clink安装删除版权信息 Clink介绍 Clink 是一个工具,它将 GNU Readline 库的强大命令行编辑功能与 Windows 原生的 cmd.exe 命令提示符结合在一起。Readline 是 Bash shell 中众所周知的库,Bash 是许多 Linux 发行版的标准 shell。通…

基于C语言+控制台的学生信息管理系统

博主介绍: 大家好,本人精通Java、Python、Php、C#、C、C编程语言,同时也熟练掌握微信小程序和Android等技术,能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验,能够为学生提供各类…

备份SQL Server数据库并还原到另一台服务器

我可以将SQL Server数据库备份到另一台服务器吗? 有时您可能希望将 SQL数据库从一台服务器复制到另一台服务器,或者将计算机复制到计算机。可能的场景包括测试、检查一致性、从崩溃的机器恢复数据库、在不同的机器上处理同一个项目等。 是的&#xff0c…

【嵌入式】探索嵌入式世界:在ARM上构建俄罗斯方块游戏的奇妙之旅

文章目录 前言:1. 简介2. 总体设计思路及功能描述2.1 设计思路2.2 功能描述2.3 程序流程图 3. 各部分程序功能及详细说明3.1 游戏界面函数3.1.1 游戏界面中的图片显示3.1.2 游戏开始界面3.1.3 游戏主界面3.1.4 游戏结束广告界面3.1.5 游戏界面中的触摸反馈3.1.6 游戏…

C++11新特性【下】

一、lambda表达式 在C98中,如果想要对一个数据集合中的元素进行排序,可以使用std::sort方法。如果待排序元素为自定义类型,需要用户定义排序时的比较规则,随着C语法的发展,人们开始觉得上面的写法太复杂了&#xff0c…

化身李时珍弟子,演绎中医药故事,李良济花神戏,创新传承中医药文化

6月29日,李良济与花神戏联袂举办的儿童剧本,在李良济嵩山店强势开启。 20余名小朋友,一起在这次中医药儿童剧本活动中,化身李时珍弟子,学中医,识草药,传承中医智慧,沉浸式学习传统文…

关于一维,二维正态分布的绘制

绘制一维正态分布代码 % 给定的均值和标准差 mu 0; % 例如,你可以改变这个值 sigma 1; % 例如,你可以改变这个值 % 定义x的范围(例如,从mu-3*sigma到mu3*sigma,步长为0.1) x mu - 3*sigma:0.1:m…

STM32 中断编程入门

目录 一、中断系统 1、中断的原理 2、中断类型 外部中断 定时器中断 DMA中断 3、中断处理函数 中断标志位清除 中断服务程序退出 二、实际应用 中断控制LED 任务要求 代码示例 中断控制串口通信 任务要求1 代码示例 任务要求2 代码示例 总结 学习目标&…

ROS学习笔记(17):建图与定位(1)

目录 0.前言 1.定位和建图 1.里程计(Odometry) 2.扫描匹配(Scan Matching) 3.结尾 0.前言 好久不见各位,前段时间忙着考试(6级和一些专业课)和摆烂断更了近30天,现在哥们回来更…

计算机毕业设计Python+Spark股票基金推荐与预测系统 股票基金可视化 股票基金推荐系统 股票基金可视化系统 股票基金数据分析 股票基金爬虫大数据

目 录 摘 要 Abstract 第1章 前 言 1.1 项目的背景和意义 1.2 研究现状 1.3 项目的目标和范围 1.4 论文结构简介 第2章 技术与原理 2.1 开发原理 2.2 开发工具 2.3 关键技术 第3章 需求建模 3.1 系统可行性分析 3.2 功能需求分析 3.3 非功能性…

高职人工智能专业实训课之“生成对抗网络(GAN)”

一、前言 生成对抗网络(GAN)作为人工智能领域的一项重要技术,已经在图像生成、风格迁移、数据增强等多个领域展现出巨大的潜力和应用价值。为了满足高职院校对GAN专业实训课程的需求,唯众人工智能教学实训凭借其前沿的教育技术平…

mst[讲课留档]

最小生成树(Minimum Spanning Tree) (1)概念 我们知道,树是有 n n n个结点, n − 1 n-1 n−1条边的无向无环的连通图。 一个连通图的生成树是一个极小的连通子图,它包含图中全部的 n n n个顶点,但只有构成一棵树的 n − 1 n-1 …

内容营销专家刘鑫炜:越是赚不到钱,越要加大推广力度

这两天,一位跟我们有长期合作关系的小微企业主老苏问我。 “现在钱这么不好赚,品牌推广应该怎么做?” 我说:“这是好机会,加大投放力度!” 老苏很是不解,这时候不开源节流,还要加…

使用Git从Github上克隆仓库,修改并提交修改

前言 本次任务主要是进行github提交修改的操作练习实践,本文章是对实践过程以及遇到的问题进行的一个记录。 在此之前,我已经简单使用过github,Git之前已经下好了,所以就省略一些步骤。 步骤记录 注册github账号,gi…