上承云原生、下接RDS,中移苏州开源的数据库如何权衡?

2

主题

5

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2022-11-30 16:27:51 | 显示全部楼层

我们正处在一个开源数据库大爆发的年代。
尤其是伴随国产数据库替代潮的涌现以及中国互联网的飞速发展和业务多样化,猛增海量数据量,传统的数据库已无法满足当下需求的高并发,且海外领头数据库厂商带来的高昂 IT 运维支出也令人瞠目结舌。
在此背景之下,本土市场的开发者们看到了这样一个机会:中国亟待诞生出自研的新兴数据库,突破技术限制,占领数据库市场,吃上数据库生态的这块蛋糕。
自此,在政策的利好、需求的拉动和供应链厂商的联合与培育之下,国内也崛起了不少优秀的开源数据库产品。之前,Gitee 星球曾梳理过一些在 Gitee 开源的优质国产数据库。


RDS 与云原生之间的权衡

从数据库的落地与应用上看,一般小型业务上云较看重低成云,所以更偏向于使用 RDS(关系型数据库) 服务。而中大型业务对性能或者可用性要求更高,不得不选择云原生数据库。
因此当前各大国产云厂商的云原生数据库从产品力的角度看已经大幅领先 RDS,但是从市场占有率来看, RDS 依然占据大头。有业内人士分析,其中较为重要的原因就是 RDS 成本优势
不过,今天我们要推荐项目的作者中移(苏州)软件有限公司团队有这么个认知:他们认为对于 RDS 成本和云原生数据库产品力之间存在一个权衡,而正是这种权衡既能向下占据部分 RDS 市场,又能向上承接部分云原生数据库业务。基于此定位,他们决定研发并开源 云原生数据库——He3DB。这究竟是空想还是能落地,真的存在这种权衡吗?抱着这样的疑问,我们今天就一起来了解这个项目。
He3DB 是什么?

He3DB 是移动云开源的云原生数据库产品,它是受到 Aurora 论文的启发,基于开源数据库 PostgreSQL 改造的云原生数据库产品。
项目作者:中移(苏州)软件技术有限公司
开源许可证:MulanPSL-2.0
项目地址:https://gitee.com/he3db
Aurora 是 亚马逊公司旗下的一个高性能、高可靠的数据库,它不仅作为云基础设置的组成部分存在,同时还构建在 亚马逊自身的基础设施上。
在架构上,He3DB 实现计算存储分离,主备节点共享一份数据(容量上限 100T ),支持一主 15 备,RTO (系统崩溃之后,把系统还原到支持各部门正常工作状态所需的时间)绝对时间小于 30 秒。
架构分析

He3DB 架构分 4 层:

代理层, 计算层, 高性能存储层, 低性能持久层


中间件

用户通过中间件请求数据库服务,中间件支持 PG 协议,100% 兼容 PG SQL 。中间最核心的能力就是选择合适的备机节点,保证读写数据的一致性以及备节点负载均衡,未来中间件能够自动感知业务负载,动态扩缩容备节点,保证服务的持续稳定。
计算引擎

基于 PostgreSQL 源码改造,架构上实现了计算存储分离,主备共享数据。
其中,部分模块也做了相关优化:即实现 Aurora 论文中提到的 log is database,以及为了 RTO 时间绝对可控,实现 wal 日志的 Delay Replay。
存储引擎

实现冷热分层:高性能存储层,以及冷数据持久层。
如何部署?

部署前准备

1.部署 PostgreSQL 数据库:作为 he3fs 的元数据库
2.部署 Redis 服务:用来储存数据页与wal的链表关系
目前访问 Redis 的 url 需要指定为 redis://:VlJi7uBV@127.0.0.1:6379/0
部署存储服务 He3FS

1.安装客户端

  • 克隆代码
git clone https://gitee.com/he3db/he3fs.git

  • 进入源代码目录
cd he3fs

  • 在 master 分支下执行编译
make最后,将编译好的 he3fs 二进制程序位于当前目录,然后将文件放在 /uer/local/bin 目录下
2.单机模式运行

  • 创建文件系统
he3fs format --trash-days 0 [command options] META-URL NAME

  • 挂载文件系统
he3fs mount --redis-meta=redis://:VlJi7uBV@127.0.0.1:6379/0 --enable-clean --he3data=dirname [command options] MEAT-URL MOUNTPOINT注意:
He3FS 在 juicefs 参数的基础上,mount 的时候增加了三个参数选项,具体参数可前往 Gitee 仓库查看
部署计算服务 He3PG

1.安装
useradd postgres
su - postgres
git clone https://gitee.com/he3db/he3pg.git2.配置主机环境变量
export LD_LIBRARY_PATH=/home/postgres/psql14/lib
export PGHOME=/home/postgres/psql14
export PATH=$PGHOME/bin:/home/postgres:$PATH3.初始化数据
mkdir ~/he3data
rm -rf ~/he3data/*
initdb -D  /data/jfspg/pg    //子目录pg为he3fs mount中--he3data配置的目录
cd /data/jfspg/
rsync -av --exclude pg/base --exclude pg/global --exclude pg/pg_wal --exclude pg/pg_tblspc pg ~/he3data                               //拷贝非共享数据给主目录
cd initdata  
cp -r pushconf/* /data/jfspg/pg/     //拷贝推进配置到共享存储目录,用于启动推进节点   
cp -r masterconf/* ~/he3data/pg/          //拷贝主配置数据到本地主库数据目录,用于启动主节点
ln -sf /data/jfspg/pg/base ~/he3data/pg/base
ln -sf /data/jfspg/pg/global ~/he3data/pg/global
ln -sf /data/jfspg/pg/pg_wal ~/he3data/pg/pg_wal
ln -sf /data/jfspg/pg/pg_tblspc ~/he3data/pg/pg_tblspc   //主节点与推进节点共享base、global、pg_wal、pg_tblspc这四个目录4.启动节点(主节点与推进节点)
pg_ctl start -D ~/he3data/pg  
psql -p15432 //在主节点操作
create role repl with replication login password '123456'; //创建流复制用户,如果不创建推进无法启动

pg_ctl start -D  /data/jfspg/pg/
psql -p15431  //登录推进可以查看主操作的数据注意:
目前仅支持 He3PG 的主节点与推进节点部署在同一台机器,并且部署 He3PG 时需要以非 Root 用户部署
数据库这么多,为何还要重新开发?

项目作者方表示通过分析发现当前许多开发者在使用云的时候,更多人使用的还仅仅是云资源,并未真正发挥云的数据智能作用。简单说,他们希望开发者们在使用 He3DB 时只需专注于业务开发,不用关心数据容量、负载峰值、高可用等和业务不相关的内容,降低企业成本,使开发者能更专注于大数据业务开发。
He3DB 理念是什么?

He3 是氦元素同位素,是一种核聚变燃料,具有清洁、安全、高效等特点。正如 He3DB 核心理念是:高性能,低成本。
项目作者们认为,自己并非一味追求更大,更快,更强,而是会设置一个产品力上限,而这个上限能够满足移动云绝大多数用户使用场景,在这个前提下,会把 降低成本 作为 He3DB 持续追求的目标。
现状如何?

实际上,目前 He3DB 的开源版本仅为 0.6 版本,还无法用于生产。这个版本主要验证计算存储分离,以及共享架构的正确性,重点是关注计算引擎以及中间件,存储部分使用的开源 juicefs 作为共享存储层,项目做了部分模块的改造。
之所以才开源第一个版本0.6,项目作者们表示希望借助社区的力量,推动整个项目的发展,同时希望尽早能够以完全开源的方式推动项目向前发展,包含后续需求的确认,模块管理,问题沟通的方式,项目月报等。
接下来,他们将重点开发模块就是高性能存储层,也就是性能将作为最重要的目标。如果你想要了解项目的发展进程,你也可以前往 Gitee 追踪最新进展,如果你对这个项目有更好的建议,你也可以前往项目仓库给作者们提个 issue。
我已经是成熟的 Gitee,可以帮你做事了

自 11 月 8 日以来,Gitee 企业版已经开启了 「年终狂欢季」 活动,点击我立即开启三重惊喜福利,新老用户均可享受!
新老同享 好礼畅领

现在购买 Gitee 企业版任意版本,即可获得使用时长赠送,最多可享六个月使用时长,且购买任意版本两年及以上即可获赠价值 488 元的办公室好礼一份。


高阶功能 不限时免

在 Gitee 企业版年终狂欢季进行的同时,Gitee 团队也在努力为企业和团队提供更强的产品能力,继项目流水线和 GiteeScan 的全新进化后,Gitee 企业版也在近日全新上线了 Gitee 自动化(Gitee Automation)功能。感兴趣的快去 Gitee 企业版试试吧。




友福同享 荐者有份

同时,Gitee 推荐官计划也将在活动期间火热升级,活动期间奖励提升至 150%,成为推荐官,最高躺赢 45% 现金!


现在,点击我立即前往年终狂欢主会场,和 25 万企业一起为高效研发创造无限可能吧!
回复

举报 使用道具

您需要登录后才可以回帖 登录 | 立即注册
快速回复 返回顶部 返回列表