OceanBase 社区年度之星专访:北控水务纪晓东,社区铁杆开发者
编者按:作为开源数据库,社区的发展和持续进步,来自于每一位贡献者的智慧与支持。2024年度,OceanBase社区特别设立了“年度之星”奖,以表彰和感谢在过去一年中,为社区发展作出突出贡献的朋友。
今日,我们荣幸邀请到了“年度之星”的获得者——北控水务的纪晓东老师,这位社区铁杆开发者,分享他一路走来的点滴故事。
纪晓东老师与OceanBase的缘分始于2024年,出于对数据库的深厚热情,同年他投身于OceanBase在北控水务集团的部署实施工作,并热心参与到OceanBase社区SIG(特别兴趣小组)的建设中。凭借其出色的技术实力与坚持不懈的努力,纪老师迅速崛起,成为obdiag SIG和operation SIG的核心成员。他在OceanBase社区中表现活跃,全年深度参与了超过50场由OceanBase社区举办的线上线下活动及SIG工作组会议,更在OceanBase年度发布会上担纲开源交流之夜的主持人一职。更为重要的是在 2024 年向 OceanBase 提交了超过 20 次 Pull Requests,累计贡献了 2000 多行高质量代码。

🙋♂️ 小编:请您简单介绍一下您自己,以及您的职业经历。
👨💻 纪晓东:我的职业生涯是以 Oracle DBA 开始的,当时 Oracle RAC 正流行,穿梭在各个项目间,主要做的就是日常巡检、RAC+DG 环境搭建、POC 技术测试、升级迁移、故障处理、数据恢复、性能优化等这类工作。在后来的工作中又接触并学习了 MySQL、MongoDB、Redis、ES、TiDB、OceanBase 等。一直以来都想窥探数据库内核以及探索数据库自动化运维的先进手段,所以我也去做了专职开发,最后又回归到了 DBA,工作之余现在在专注研究 OceanBase 相关自动化诊断及运维工具。
🙋♂️ 小编:2024 年 5 月 16 日 OceanBase 社区第一个 SIG —— obdiag SIG 成立,您加入时间很早,是什么契机加入进来?为什么当时会想要加入 SIG?
👨💻 纪晓东:缘起 OceanBase,当时公司想要尝试引进 OceanBase,经过对 OceanBase 的学习,便被 OceanBase 深深吸引了,于是想从代码层面进一步研究 OceanBase,就给 hnwyllmm(github账号)大神发了一封邮件,他根据我 DBA 的背景建议我从 obdiag SIG 开始,从那时开始我便义无反顾的加入了 obdiag SIG,和大家一起学习一起写代码。
🙋♂️ 小编:我们注意到短短半年左右的时间,您在 obdiag 中已经晋升为 Committer,给大家讲讲这段历程,这段过程中有啥有意思的事情吗?
👨💻 纪晓东:因为之前做过 3 年左右的 Go 开发工作,所以对 obdiag 工具的开发不是太畏惧。我通勤路上的时间比较长,利用通勤时间又把 Python 基础知识恶补了一遍,接着便是尽量多的去要需求,去完成自己能力范围内的 issue,这个过程中多亏社区老师的帮助,他们经常会开小灶细心的给我解释代码架构里的细节,很多时候都是顺着他们的思路继续向前探索的。我的成长离不开大家的帮助,很开心可以为社区共建贡献自己的力量。
🙋♂️ 小编:作为 obdiag SIG 的核心成员,您如何看待该 SIG 的发展方向?
👨💻 纪晓东:SIG 是集思广益,汇聚大家聪明才智的地方。我非常赞成社区里经常说的一个词:“共建”。我个人认为 obdiag SIG 的发展方向应该是让 OceanBase 诊断更简单、更智能、更全面。就好像你在和一个经验丰富的专家对话,你碰到的所有问题他都能最快的给你最准确的答案。
🙋♂️ 小编:2024 年您深度参与超过 50 次由 OceanBase 社区举办的线上线下会议,尤其是 SIG 的会议,obdiag SIG 和 operation SIG 的周会您几乎每次都参加了,您从中有何收获?
👨💻 纪晓东:积极从社区吸收好想法,然后积极推动落实,往往从实践中来的方案更实用。将一个大目标分解成周任务后,要严格按照计划执行完成,才能保证大目标的最终实现。人多力量大,一项困难的工作分解分摊到多个人后,往往会变的容易。社区把大家聚到一起后,往往可以放大一个人的能量,同时可以感染更多人。
🙋♂️ 小编:2024 年 OceanBase 发布会上您担任开源交流之夜的主持人是一次怎样的体验?
👨💻 纪晓东:第一次在这么大的活动上担任主持人很紧张,在克服紧张的过程中本身也是一次历练。OceanBase 这个圈子真的像一个大家庭一样,大家看到我很紧张后会包容和鼓励。很充实很奇妙的一次体验。
🙋♂️ 小编:参与 OceanBase 社区活动时,您最喜欢的是哪种形式:是站在讲台上的演讲,还是坐在圆桌边的讨论?为什么?
👨💻 纪晓东:我会更喜欢坐在圆桌边的讨论,因为讨论过程是一个输出和输入并存的过程,大家说出自己想法时同时可以验证自己的想法,并且还可以交换想法,这样会放大自己的见识,达到 1+1>2 的效果。
🙋♂️ 小编:您向 OceanBase 提交了超过 20次 Pull Requests,这期间是否有特别的技术难题或创新点可以分享?
👨💻 纪晓东:其实大多都是跟着项目规划及 issue 进行 PR 提交的,其中使用通义千问协助完成单元测试的部分还是挺受触动的,积极利用 AI 可以很大程度的提高我们的工作效率。
🙋♂️ 小编:您认为一个成功的 Pull Request 应该具备哪些要素?从提交到合并的过程中需要注意些什么?您如何看待代码 Review 过程中的反馈?
👨💻 纪晓东:具备要素:充分沟通、满足功能需求、符合规范、充分测试等等。
注意点:充分和需求方或项目维护者进行沟通,弄清楚需求要实现的目标,对于新的功能特性,编写设计文档,进行细节讨论,确定好方案后再进行编写代码,每完成一个小功能建议进行功能测试,以保证代码的健壮性。
对于 Review 的观点:Review 是一个很重的环节,是一个保证代码质量的环节,同时在该环节也可以积累很多经验,也是一个相互学习的环节。
🙋♂️ 小编:对于想要参与开源项目并作出实质性贡献的新手,您有什么具体的建议?
👨💻 纪晓东:这个就从我的新手之路说一下吧,首先是先把项目语言补一下课,比如 obdiag 就先把 Python 语言补一下。其次把官方文档看一遍,最好一边实验一边看,从总体上对项目有一个认识。前期准备好后就可以从开发手册开始部署开发环境及熟悉开发规则了。最后就可以开始挑选适合自己的 issue 去写代码了。这期间可以找到社区的开发者咨询,有疑惑就多问问,之后整个路径熟悉了就游刃有余了。
🙋♂️ 小编:您如何平衡日常工作与社区活动的时间分配?
👨💻 纪晓东:积极利用所有空闲时间穿插着参与社区活动,只要日常工作完成后就看看 GitHub 上的 Issue,写写已经领取的任务。可以把一项大任务分解成多个小任务,利用日常工作中的碎片时间穿插着完成这些小任务,如果项目需要大块时间去仔细规划思考,就利用周末拿出一整块时间来完成这项任务。
🙋♂️ 小编:在技术交流方面,您认为面对面交流(如线下活动)和在线交流各有哪些优势?
👨💻 纪晓东:线下交流更有利于人和人之间的了解,拉进人和人之间的距离。在线交流更加灵活,可以随时随地来讨论问题。一个有温度的社区需要线下交流作为催化剂,充分利用时间在线消化问题,两者结合能达到更好的效果。
🙋♂️ 小编:您对未来与 OceanBase 社区的合作有何期待?2025 年的计划如何?
👨💻 纪晓东:还是一如既往的利用自己所有的空闲时间参与到社区中来。当然也比较期待给大伙分配专项模块,这样每个人就可以利用有限的时间针对一个方向比较深入的持续的研究和贡献,然后再利用周会时间分享自己的短期成果,扩展每个人的知识范围,达到 Buff 加成的效果。
🙋♂️ 小编:最后,请总结一下您过去一年在 OceanBase 社区的经历带给您的最大收获。
👨💻 纪晓东:结交了志同道合的朋友,在 OceanBase 生态开拓了眼界,提升了技术能力,过去一年在 OceanBase 社区收获满满。遨游在浩瀚的数据海洋中,来社区让我们一起乘风破浪。
通过专访我们对纪晓东老师在社区的贡献与理解更加深刻。从最初接触 OceanBase 时的好奇探索者,逐步成长为如今社区不可或缺的核心开发者,这一路见证了他与 OceanBase 社区共同成长的足迹。感谢纪老师为社区所做的贡献。愿每一位热爱技术的人都能在像 OceanBase 这样的开源社区中找到自己的舞台,携手共进共建,共创美好未来。
相关文章:
OceanBase 社区年度之星专访:北控水务纪晓东,社区铁杆开发者
编者按:作为开源数据库,社区的发展和持续进步,来自于每一位贡献者的智慧与支持。2024年度,OceanBase社区特别设立了“年度之星”奖,以表彰和感谢在过去一年中,为社区发展作出突出贡献的朋友。 今日&#x…...
Docker 实现MySQL 主从复制
一、拉取镜像 docker pull mysql:5.7相关命令: 查看镜像:docker images 二、启动镜像 启动mysql01、02容器: docker run -d -p 3310:3306 -v /root/mysql/node-1/config:/etc/mysql/ -v /root/mysql/node-1/data:/var/lib/mysql -e MYS…...
农业农村大数据应用场景|珈和科技“数字乡村一张图”解决方案
近年来,珈和科技持续深耕农业领域,聚焦时空数据服务智慧农业。 珈和利用遥感大数据、云计算、移动互联网、物联网、人工智能等先进技术,搭建“天空地一体化”监测体系,并创新建设了150的全球领先算法模型,广泛应用于高…...
doris 2.1 Queries Acceleration-Hints 学习笔记
1 Hint Classification 1.1 Leading Hint:Specifies the join order according to the order provided in the leading hint. 1.2 Ordered Hint:A specific type of leading hint that specifies the join order as the original text sequence. 1.3 Distribute Hint:Speci…...
STM32 FreeRTOS 任务挂起和恢复---实验
实验目标 学会vTaskSuspend( )、vTaskResume( ) 任务挂起与恢复相关API函数使用: start_task:用来创建其他的三个任务。 task1:实现LED1每500ms闪烁一次。 task2:实现LED2每500ms闪烁一次。 task3:判断按键按下逻辑,KE…...
Ubuntu 24.04 LTS 通过 docker desktop 安装 seafile 搭建个人网盘
准备 Ubuntu 24.04 LTSUbuntu 空闲硬盘挂载Ubuntu 安装 Docker Desktop [我的Ubuntu服务器折腾集](https://blog.csdn.net/jh1513/article/details/145222679。 安装 seafile 参考资料 Docker安装 Seafile OnlyOffice 并配置OnlyOffice到Seafile,实现在线编辑…...
Open3D 最小二乘拟合平面(直接求解法)【2025最新版】
目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 博客长期更新,本文最近更新时间为:2025年1月18日。 一、算法原理 平面方程的一般表达式为:...
【CC2640R2F】香瓜CC2640R2F之SPI读写W25Q80
本文最后修改时间:2022年01月08日 10:45 一、本节简介 本节以simple_peripheral工程为例,介绍如何使用SPI读写W25Q80(外部flash)。 二、实验平台 1)CC2640R2F平台 ①协议栈版本:CC2640R2 SDK v1.40.00.4…...
探秘Shortest与Stagehand:开启高效测试与自动化新篇
探秘Shortest与Stagehand:开启高效测试与自动化新篇 在数字化浪潮的推动下,网页自动化工具如同繁星般涌现,为众多行业带来了效率的变革。在这些工具中,Shortest和Stagehand凭借其出色的表现,成为了众多开发者、测试人…...
llama 3 笔记
0.简介 llama 3 是在 15 万亿个 Token 上预训练的语言模型,具有 8B 和 70B 两种参数规模,可以支持广泛的用户场景,在各种行业基准上取得了最先进的性能,并提供了一些新功能,包括改进的推理能力。 1.改进亮点 参数规模与模型架构:Llama 3提供了8B和70B两种参数规模的模…...
写作利器:如何用 PicGo + GitHub 图床提高创作效率
你好呀,欢迎来到 Dong雨 的技术小栈 🌱 在这里,我们一同探索代码的奥秘,感受技术的魅力 ✨。 👉 我的小世界:Dong雨 📌 分享我的学习旅程 🛠️ 提供贴心的实用工具 💡 记…...
【文件篇】11.磁盘文件系统
上一篇博客中我们介绍到如果我们要访问文件首先需要打开这个文件,而文件是在磁盘上存储的,也就是说需要在磁盘上找到这个文件的路径。但是磁盘上有很多文件,这些文件都有自己的路径的,这些文件还有内容和属性,它们都是…...
嵌入式产品级-超小尺寸热成像相机(从0到1 硬件-软件-外壳)
Thermal_Imaging_Camera This is a small thermal imaging camera that includes everything from hardware and software. 小尺寸热成像相机-Pico-LVGL-RTOS 基于RP2040 Pico主控与RTOS,榨干双核性能实现LVGL和成图任务并行。ST7789驱动240280屏,CST8…...
三维扫描赋能文化:蔡司3D扫描仪让木质文化遗产焕发新生-沪敖3D
挪威文化历史博物馆在其修复工作中融入现代3D扫描技术,让数百年的历史焕发新生。 文化历史博物馆的工作 文化历史博物馆是奥斯陆大学的一个院系。凭借其在文化历史管理、研究和传播方面的丰富专业知识,该博物馆被誉为挪威博物馆研究领域的领先机构。馆…...
《自动驾驶与机器人中的SLAM技术》ch8:基于预积分和图优化的紧耦合 LIO 系统
目录 1 预积分 LIO 系统的经验 2 预积分图优化的顶点 3 预积分图优化的边 3.1 NDT 残差边(观测值维度为 3 维的单元边) 4 基于预积分和图优化 LIO 系统的实现 4.1 IMU 静止初始化 4.2 使用预积分预测 4.3 使用 IMU 预测位姿进行运动补偿 4.4 位姿配准部…...
Linux下PostgreSQL-12.0安装部署详细步骤
一、安装环境 postgresql-12.0 CentOS-7.6 注意:确认linux系统可以正常连接网络,因为在后面需要添加依赖包。 二、pg数据库安装包下载 下载地址:PostgreSQL: File Browser 选择要安装的版本进行下载: 三、安装依赖包 在要安…...
STL—stack与queue
目录 Stack stack的使用 stack的模拟实现 queue queue的使用 queue的模拟实现 priority_queue priority_queue的用法 priority_queue的模拟实现 容器适配器 种类 Stack http://www.cplusplus.com/reference/stack/stack/?kwstack stack是栈,后入先出 stack的…...
docker 使用远程镜像启动一个容器
使用前提: 首先你得安装docker,其次你得拥有一个远程镜像 docker run --name io_11281009 --rm -it -p 2233:22 -v .:/root/py -e ed25519_rootAAAAC3NzaC1lZDI1********Oy7zR7l7aUniR2rul ghcr.lizzie.fun/fj0r/io srv对上述命令解释: 1.docker run:…...
简述mysql 主从复制原理及其工作过程,配置一主两从并验证
第一种基于binlog的主从同步 首先对主库进行配置: [rootopenEuler-1 ~]# vim /etc/my.cnf 启动服务 [rootopenEuler-1 ~]# systemctl enable --now mysqld 主库的配置 从库的配置 第一个从库 [rootopenEuler-1 ~]# vim /etc/my.cnf [rootopenEuler-1 ~]# sys…...
oracle之行转列
对于Oracle的行转列功能一直云里雾里,马马虎虎,对行转列的使用场景和使用方法都不够深刻,最近有空理解一下。 Oracle 11g后有专门的函数pivot,对于特定的场景可以直接套用。 需求:求各份job不同员工工资是多少…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
