快讯 | openGauss6.0.0 登陆RISC-V架构

文摘   2024-11-20 17:30   中国香港  

近日,openGauss RISC-V SIG 成功将 openGauss6.0.0 版本适配在 RISC-V 架构!这一成果由中国科学院软件研究所的谭小凡@xfan1024和黄吉@XiaoXiaoXiaoJi共同完成。目前,该项目已经能在如意BOOK甲辰版(TH1520芯片)上启动运行 openGauss6.0.0 轻量版。

openGauss6.0.0 LTS 是社区最新发布的长期支持版本,版本生命周期为3年。本次发布包含两个数据库服务端安装版本:企业版、轻量版,用户可根据使用场景需要下载不同版本。这一适配成果对于 RISC-V SIG 完善 openGauss RISC-V 生态系统的能力意义重大,也为开发者们创造了新的合作与发展机遇。

欢迎大家访问相关源码和仓库:https://gitee.com/opengauss/riscv

如有任何疑问或建议,欢迎通过邮件与我们交流:riscv@opengauss.org

路径探索:详细的适配流程

基于openGauss5.1.0版本完成的 RISC-V 架构基础移植工作是由2023年第一届 RISC-V 软件移植优化锦标赛(RVSPOC)开发者 @zhangfeiv0 @nexplorer-3e 完成的。

详情可查阅比赛的Github PR:https://github.com/rv2036/rvspoc-s2305-openGauss-server/pulls

图片来源:中国科学院软件研究所在读硕士许佳凯
openGauss6.0.0 版本是在 openGauss5.1.0 版本的基础上进行迭代的,开发者在以下几个方面进行了深入的探索:

完成对 openGauss6.0.0 的版本升级工作

为了适配 openGauss6.0.0,开发者更新了 rpm 构建描述文件,详细标注了新版本的软件依赖信息和构建安装过程。为减少 openGauss 对外部第三方库的依赖,我们尽可能的使用系统软件包依赖,对于其余的外部第三方库,使用 openGauss-thirdparty 官方的源码包作为构建依赖。

openGauss-server 6.0.0 安装过程

开箱即用的服务与测试脚本

开发者提供了 openGauss systemd 中的服务安装脚本,安装完成后,用户即可使用 systemctl 相关命令来管理 openGauss 数据库的启动、关闭、重启等操作。同时,还提供了对于 openGauss 数据库的简单测试脚本,测试人员可以通过执行测试脚本来验证 openGauss 数据库的运行是否正常。

openGauss-server 6.0.0 测试流程

适配挑战与未来规划

openGauss 官方的编译流程较为复杂,它需要提供一个适配完成的第三方软件包集合 目录 binarylibsbinarylibs 中包含 openGauss 全量版可能需要的所有第三方软件包的动态链接库、头文件、二进制程序等内容。
  • 一方面,binarylibs 需要在 riscv64 的系统上提前编译,还需要维护第三方库的 bug 补丁或者漏洞补丁,不方便维护和管理;
  • 另一方面,binarylibs 整体打包压缩后的体积大约在800MB大小,无法直接提交到 gitee 上。

为解决这些问题,开发者将 binarylibs 的依赖尽可能的替换为系统依赖,尽量使用 openEuler 系统仓库已有的软件包,同时只使用目前 openGauss 轻量版所依赖的第三方库,大大减少了维护成本。

为了进一步提升 openGauss RISC-V 架构上的应用价值和发展潜力,RISC-V SIG计划:

  • 版本功能拓展:目前适配的 openGauss 版本是轻量级版本,如果社区有相关需求的话,会逐步引入全量级版本的高级分布式特性和存储优化等特性。

  • 代码整合:将适配代码合入 openGauss-server 主仓库,以便社区及开发者更好地利用。

  • 测试流程改进:结合官方的 CI 流程对测试流程进行改进,确保测试流程覆盖度更加全面。

  • 同时,openEuler RISC-V SIG 正在将 openGauss 移植到 MUSE PI 上,基于 Pioneer Box MUSE PI 构建测试平台,完成进一步的应用集成验证工作。

加入我们,探索RISC-V的未来!

openGauss RISC-V SIG 目前长期招募相关实习生,如果您对 RISC-V 生态感兴趣,欢迎扫描二维码加入 RISC-V SIG 交流群,我们期待与您共同探讨更多关于 RISC-V 的技术话题!

请备注 OGRV

详细情况见甲辰计划开源实习生联合招聘及培养计划:https://github.com/lazyparser/weloveinterns/blob/master/open-internships.md

在此,感谢中国科学院软件研究所和 openEuler RISC-V SIG 的大力支持,感谢深圳群星闪耀(Milk-V)和跃昉科技的大力支持!感谢第一届 RISC-V 软件移植优化锦标赛(RVSPOCs2305所有开发者的贡献!

关于 RISC-V SIG

近年来,RISC-V 正迅速成为 ISA 国际开放标准,从2023年开始,RISC-V 高性能服务器和桌面计算、笔记本计算大量涌现。openGauss 作为一款企业级开源关系数据库,始终秉持鼓励社区贡献和开源协作的理念。在此背景下,为了有效应对 RISC-V 变革带来的挑战和机遇,openGauss RISC-V SIG 应运而生,我们希望 openGauss 能在所有 RISC-V 厂商的设备中实现流畅、稳定和高效的运行。

这无疑是 RISC-V openGauss 的双向奔赴,在不久的将来,openGauss 会在 RISC-V 全球生态中发挥更为基础和重要的作用。RISC-V SIG openGauss 社区将携手共进,共同展望一个技术更丰富、创新空间更广阔的未来。

关于贡献者

谭小凡,就职于中国科学院软件研究所,任软件研发工程师。乐于探索开源世界,乐于从开源社区中学习,乐于向开源社区贡献代码。

个人gitee主页:https://gitee.com/xfan1024

谭小凡(xiaofan@iscas.ac.cn)

黄吉,就职于中国科学院软件研究所,任项目软件开发工程师,擅长后端业务开发、 linux 运维和软件移植,喜欢参与开源社区共建工作。

个人gitee主页:https://gitee.com/XiaoXiaoXiaoJi

黄吉(huangji@iscas.ac.cn) 

关于作者

杨延玲,中国科学院软件研究所 PLCT 实验室社区运营经理,openGauss RISC-V SIG 成员,负责 Gleam 光灵小队和 openGauss RISC-V SIG 的运营。

openGauss
开源关系型数据库
 最新文章