StoneDB:开源MySQL HTAP数据库及其演进计划(二)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: StoneDB:开源MySQL HTAP数据库及其演进计划(二)

云原生实时数仓-StoneDB:开源MySQL HTAP数据库及其演进计划(二)

嘉宾信息
李浩 StoneDB首席架构师 StoneDB PMC


StoneDB:开源MySQL HTAP数据库及其演进计划(二)


二、Present of StoneStoneDB

我们主要从几个角度来看,首先第就是功能性,可用性,的角度来看,首先,StoneDB增强了dma的能力,与其他的一些app,数据库一些处理平台不同,对于我们在上增强了delet能力支持,比如说update一些能力,我们在后面也会提到,我们也支持了一些并行处理的能力,通过肉格式的以及并行回放的一些能力的,使得在储备的场景下,储备的延时可以大大的去减少原生的一码;第三个就是8.0,我们8.0也在积极的开发内测过中,第5个就是从环境下或者主备环境下的强制的天默引擎,也就是说,无论是你使用引擎或者引擎。

image.png

我们可以强制的为天空引擎,当主上发展数据变化时候,在背机上,就实时的转成劣势存储,那么在我的背机上提供对外的app分析的能力,这是一种主备的方式;通我们这种,第6个就是我们这是一种比较复杂的像utf,用户自定义的函数以及处罚器等等,对于我们数据类型的支持,现在这是一种decimal,这种方式为这种在金融方面,对于数据类型或者精度要求比较高的情况下,提供了更好的数据类型的一些支持,最后就是8.0版本的支持能力,当然,比如说像企业级特性,比如审计,包括一些ck镜像的一些知识,我们基本的能力,当前已经得到完全的一些支持,那么从性能的角度来看,除了刚才我们提及的一些粗造级过滤以及知识网格,用来加速查询处理,包括并行执行,现代化执行,我们还从查询优化的一些角度,比如说sql优化的角度,提供一exist转化为相应的的方式。

大家可能知道,对于exist,比如说转化为官方的8.0版本上,有相应的支持,但是把这部分的能力,我们会把它移植到我们都具有相同的查询优化的能力,再就是全表扫描条件的,就是说,我们在解锁的过程中,可以大大去减少我们满无关数据。

我们只需要检索到满足查询条件的一些数据集合,节约了io的消耗,再就是我们数据的一些加载的能力这表格就是我们与其他产品在100g的数据量的情况下,在tb的场景下,我们那些表现形式,测试的结果,这里就不再大做详细的介绍,大家可以去看一下。

image.png

那么作为数据库,作为基础软件,它的稳定性是至关重要的,为了加强稳定性,从主要从以下几个方面着手,首先第就是说我们在开发或者在开发的过程中常规的一些保证,不但需要通过StoneDB的一些case,同时我们需要也需要通过tm test case,再就是我们代码的覆盖率,使得所有的提交的代码或者运行的代码,基本上都要进行一覆盖,从而可以减少到覆盖代码的一些比较细微的,比较复杂场景下比较少的场景下的bug的发生的概率,第三个是按安全漏洞的扫描,我们在开发过程中,一些bug,无论是涉及到MySQL的官方的一些bug,还是说引擎的一些bug,代码的持续的一些治理,只有在代码持续治理的过程中,才会减少,进一步去减少bug的产生。

image.png

从社区的情况来看,截止从去年六月底开源截止到现在,基本上github上收获的大概是707个star,然后外部的贡献者大概有31位左右,那么社区的情况下,我们也会积极的进行国产化适配,无论是从操作系统还是从基础的一些硬件平台或者软件平台上,做了一些积极的一些适配。

社区包括,在社区自动开源以来,获得社区的一致的一些好评,获得了2022年的优秀开源技术团队,也获得了2022技术卓业评的年度创新产品奖,这都是对我们产品的一些认可,刚才介绍了我们StoneDB当前的一些情况。


三、Where StoneStoneDB will go?

未来动StoneDB会走向哪里呢?研究的方向是什么?

image.png

下面我们从主要几个方面去来给大家去讨论一下,第一是架构的一些引进的方向,未来会我们会向全内存的方式,内存计算加内存的演进的方向,在2.0版本中我们会去支持,我们想打造的是中国款的MySQL,这样开源的对标的产品,使得我们把在MySQL生态上的app的一些能力给给社区,给更多的广大的用户来获取到,我们就是比较方便的一些app处理的能力,比较低成本的app处理的能力。

在我们架构眼进的过程中,导致的一些变化主要从几个方面,首先第就是用户界面一些变化,无论是从语法,还是从1.0上面的一些使用的方式,那么都会发生一些稍微的变化;第二个就是查询引擎,由于我们是in memory的,对于查询引的改造需要涉及到几个方面,首先我们要去知道负载的类型,同时我们要知道负载的我们根据cost,把负载去智能的,比较自动化的,到无论是;第二,对用户来说,它是不感知的,再就是变化,就是执行引擎方面的一些变化,未来我们会继续加强执行引擎方面的一些优化,第4个我们也提到了,其实是最大的不同,就是引入了劣势的内存引擎,那么除了以后,数据导入,数据的安全,资源的隔离,包括生态建设,这些也都是未来所努力的发展方向,或者说未来我们需要去引进的努力的目标。

image.png

单机版的未来,未来2.0相对来说处理能力相较于1.0上有有个比较大的提升,为了进一步提升在app处理方面的一些使用的产品无论从数据量还是从业务的类型。

image.png

我们将会支持所谓的集群方式的部署及部署的方式,会在后面的app上面会提供p集群,带来好处是候进一步扩大我们所能处理的数据,毕竟单节点的处理能力还是受限于一些技术架构,因为在2000版本中是memory的,由于内存的物理限制,使得数据量处理的能力是有一定使用场景是有移动的限制,通过我们这样方式,把我们节点进行使得我们所能够处理的数据量会进步的扩大,在天目class里面会涉及到几个主要的点,大概这里面会大家去介绍一下。
首先第就是数据的一些分布策略,数据去加载进来的时候,数据的一些分布方式,我们首要的目的,就是将负载数据去均匀的分布到我们天目引擎的数据节点上面去,再是数据的一些重分布的策略,因为我们在业务的运行的过程中,会涉及到不断的一些操作,带来的一些问题,我们经过长时间的运行,使得我们数据在各个节点上的分布情况可能变得不那么均匀,会有一定的数据倾斜的情况存在。数据全分布的策略,就是非常重要的问题,怎样保证在迁移的过程中不会影响到上面的业务,因为数据迁移可能会涉及到io,网络这些方面的资源的消耗,怎么样能保证我们gts或者q ps不下降的情况下,做到平滑的,数据的一些分布的也是我们面临的问题,是我们未来进的方向。

再是元数据的管理,包括后面一些问题,其他a p p架构涉及到众多的,各种各样的一些细节的问题,这里面就不再详细的展开了。我们未来会支持多存储的解决方案,除了我们常用硬盘的一种方式的,比如说在有个2.0版本的memory方式,未来我们希望基于这种这样架构的方式,支持nfs对象存储,那么带量的好处使得我们StoneDB的一些存储成本会下降,我们会与阿里云采用阿里云的存储平台,它是本地的统一的存储平台提供了统一的,多协议的这样接入的方式为我们带来低成本,把高可用的,本地存储,我们基于阿里云的存储平台上存储方面的一些要求,比如说一些安全。


image.png

阿里云存储平台去负责,我们只关心上面的一些计算方面的一些计算的计算能力,除了本地化的部署方式,未来我们会也会上,那么在上云的以后,我们未来的点就是会使用,阿里云的就是阿里云的cds基础设施,云化的新的一代存储引擎。

image.png

的特点就是打破了存储的架构,采用于公有员一样的架构体系,由此,可以去很平滑的未来迁移到我们私有云等比较灵活的部署方式,这里面会涉及到几个问题,首先就是我们存算分离,从刚才在介绍也可以知道,我们无论是1.0还是2.0,它其实是从存储,并不是存储分离的方式,因此,未来比如说StoneDB未来方式上云,最重要的一点就是要做到存储分离,第二个是说资源的池化,资源的池化是为了更好的存分,未来我们cpu的资源的实化,内存资源的实化,存储资源的实化,使得我们这样在我们存在分离的架构下,可以去更好地利用我们池化的资源,做到弹性的扩容。

再就是这样东西,现在已成为数据库方面的基本的,标准的能力,最后是ai能力,为什么会说ai会是未来在数据库上的非常重要能力,从我们StoneDB的角度考虑。

image.png

业务的的复杂度,包括我们用户的情况是未知的,希望通过ai方式减少用户的使用成本,提供自动化的一些集群的部署数据的加载,比如说可以通过机器学习的一种方式,哪类负载,哪类用户它的负载的情况,可以做到使得整体的成本做到最低包括,查询处理,故障处理,这些都是我们在做,引入机器学习以后,或者我们未来所引进的方式,就是说通过构建查询代价模型并更据负载的情况,历史数据,我们可以去更新,查询已经获得比较好的查询计划,好的查询计划所对应的就是好的执行计划,执行计法,带来优势就是对于查询性能一些质的提升,我要基于故障的数据,历史的负载数据做一些故障预测,因要考虑用户一些业务的连续性,不希望用户在我们使用我们服务的时候,出现较大的一些故障等等,同时也会一些负载的高峰期是什么样。

我们可以合理的规划一些资源的使用,从企业特性来看,会进一步去加强数据安全,同时也会在数据的一些协同方面,我们会做一些努力,我们会打通StoneDB的一些相关的上下游,数据的一些分享,同步等等,未来是做到一些数据的一些同步,协同方面的一些能力,再就是审计方面的一些能力,包括运维,包括生态,包括一些平台,多平台支持,这里面就会包括云平台上的东西,以及底层一些架构,比如说wr这样东西。

StoneDB已经在阿里云计算上已经上线了,欢迎大家去适应StoneDB云上阿里带来好处就是运维各方面的东西还是比较友好的,购买使用的东西也是比较方便。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
Java 关系型数据库 MySQL
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口(下)
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口
12 0
|
3天前
|
Java 关系型数据库 MySQL
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口(上)
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口
18 0
|
1天前
|
关系型数据库 MySQL API
实时计算 Flink版产品使用合集之可以通过mysql-cdc动态监听MySQL数据库的数据变动吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
13 0
|
3天前
|
前端开发 关系型数据库 MySQL
【MySQL × SpringBoot 突发奇想】全面实现流程 · 数据库导出Excel表格文件的接口
【MySQL × SpringBoot 突发奇想】全面实现流程 · 数据库导出Excel表格文件的接口
24 0
|
3天前
|
SQL 关系型数据库 Serverless
阿里云关系型数据库RDS
阿里云关系型数据库RDS
16 2
|
3天前
|
关系型数据库 MySQL 数据库
mysql 设置环境变量与未设置环境变量连接数据库的区别
设置与未设置MySQL环境变量在连接数据库时主要区别在于命令输入方式和系统便捷性。设置环境变量后,可直接使用`mysql -u 用户名 -p`命令连接,而无需指定完整路径,提升便利性和灵活性。未设置时,需输入完整路径如`C:\Program Files\MySQL\...`,操作繁琐且易错。为提高效率和减少错误,推荐安装后设置环境变量。[查看视频讲解](https://www.bilibili.com/video/BV1vH4y137HC/)。
24 3
mysql 设置环境变量与未设置环境变量连接数据库的区别
|
3天前
|
关系型数据库 MySQL 数据库
docker MySQL删除数据库时的错误(errno: 39)
docker MySQL删除数据库时的错误(errno: 39)
23 0
|
3天前
|
关系型数据库 MySQL 数据库连接
用Navicat备份Mysql演示系统数据库的时候出:Too Many Connections
用Navicat备份Mysql演示系统数据库的时候出:Too Many Connections
19 0
|
3天前
|
存储 Oracle 关系型数据库
oracle 数据库 迁移 mysql数据库
将 Oracle 数据库迁移到 MySQL 是一项复杂的任务,因为这两种数据库管理系统具有不同的架构、语法和功能。
24 0
|
3天前
|
关系型数据库 MySQL Linux
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)