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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
性能测试 PTS,5000VUM额度
简介: StoneDB:开源MySQL HTAP数据库及其演进计划(一)

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

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


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


内容介绍

一、 Who am I? A brief introduction of StoneStoneDB

二、Present of StoneStoneDB

三、Where StoneStoneDB will go?


今天给大家带来的分享是开源的MySQL htp数据库及其演进的计划,那么首先介绍一下StoneDB的应用场景是什么?我们为什么会做StoneDB这样产品?


一、Who am I? A brief introduction of StoneStoneDB

image.png

那么StoneDB是作为开源的MySQL http的数据库,其主要是为了解决在MySQL生态下面MySQL在app分析能力上的不足,那么从以下几个方面来讨论一下我们StoneStoneDB产品的优势或者是一些能力。
首先第就是完全兼容力MySQL时代,因为我们是基于MySQL上面做的htp数据库,因此,对于生态我们是完全兼容的,无论是从语法使用习惯上带来的好处是如果业务可以频发的迁移到我们自从StoneDB上面,第二个就是事务分析的一体化,因为我们是htp数据库,因此,无论是tp负载或者说我们均可以承载,同时在app上面,也保留了事物的acid的特性,第三个就是完全的开源,带来的好处是,我们可以去利用社区广大的一些人才资源,同时在互联网上存在着关于MySQL海量的一些解决方案,或者说一些知识库,这也是我们给我们StoneDB带来一个好处,就是我们所有遇到的问题,可以得到快速的社区的响应,以及相应的一些丰富的人才,再是十倍特性,主要是因为我们采用了触造级过滤以及知识网格的方式,同时,我们在执行的时候,会引入项量化执行的策略,因此带来十倍的性能,十倍的导入速度,那么是主要是通过预处理方式,将数据进行预处理,使得我们在导入的过程中无需经过层的一些解析,直接会把数据去加载到存储引擎上面,来获得十倍的导入速度,那最后是成本是,我们是完全进入MySQL生态的,因此,以前的解决方案,或者etf工具,或者运文的习惯,运维的人员的一些能力,支持他完全可以去兼容到我们,因此,总体t c o成本上可以最多给原来的1/10的成本。


1、产品架构

image.png

我们从产品的架构来讨论一下,上边是我们StoneDB的鉴临版本,另外是2.0版本,那么一在我们StoneDB中,我们引入了目的,劣势存储引擎,它主要的作用就是使得我们所有的app上的一些数据,会以列存的方式去存储在天目引擎上面,带来的好处在下面,会比较详细的去来分析一下,

 

2、数据组织


image.png

首先直观的好处就是我们在StoneDB上,一条查询涉及到一些大数据上的app的分析的时候,使得查询能力可以得到飞速的提升,那么从数据的组织上我们可以看出是采用的方式及我们在StoneDB上存在着行存和列存两种存储格式,那么主要是为了方面及引擎,那么,基于内存的存储引擎,就是我们所引入的新的天目存储引擎,

所有的数据是列存的方式进行组织,组织的方以列存的方带来好处就是可以对数据进行一些压缩,可以选择一些高效的压缩算法,可以进步,同时对于一些catch也是比较友好的,那么在查询的过程中,会利用各种针对于列运算进行一些并发的执行,使得我们查询的效率或者现场进一步的提升。
同时,在在查询扫描的过程中,创建索引,因为我们是利用测套集合知识网格的方式提供这样方式,不需要进行索引,给获得相对比较高效的,相较于MySQL来说,高效的app的处理的能力,从数据压缩的角度来看,由于我们是列存的方式,同时,每一列这种数据的类型,它的分布情况是比较比较比较有大量的一些冗余或者比较相似,为我们数据加缩提供了很好的使用的场景,所以因为支持多到20种以上的自信的压缩方法,你方式等压缩算法,从查询处理的部分来看,首先我们查询优化是基于知识网格的进行优化。


3、数据处理

image.png

那么就是说,在我们数据加载或者在执行的过程中,会构建知识网格,构建知识网格是为了在我们查询过程中,通过知识网格和塑造集来进行数据的减值,对于在查询中无关数据,会把它舍弃掉,我们只会关注相关的数据么带来的好处就是我们那io可以进入去节约。

我们在检索的过程中所涉及到的数据量的一些io,会大大的减少。


 4、数据导入

image.png

进一步会提高我们在查询处理方面的一些能力,再就是从数据导入方面看,刚才也提到了,我们导入是经过server层的一些处理直接是通过预处理,直接从二进制的方式导入天目引擎,好处就是说,与传统的逻辑导入的方式不同,那么逻辑导入方式,需要经过有层的一些sq解析,那么在解析包括这部分的处理过程中会消耗大量的cpu资源,因此双StoneDB的导入,是无需要经过的一些serve处理,带来的好处就是我们可以节约大量的cpu资源,使得我们cpu可以更好的利用到我们在真正的导入过程中,处理能力。

image.png

再就是所支持的部署方式,总共有以下几种部署方式,最简单的是基础方式,就是我们单节点单实例的部署方式,除了这种单节点的部署方式,主要是面向于中小的客户,要求不是特别高的情况下,如果需要对于高可用业务的一些稳定性有相关的要求的时候,可以采用高可用的部署方式,那么再可以提供读,读写分离部署方式,最后就是三节点的部署方式,那么接下来我们会介绍一下当前的情况。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
58 15
|
7天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
11天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
19天前
|
关系型数据库 MySQL 数据库
GBase 数据库如何像MYSQL一样存放多行数据
GBase 数据库如何像MYSQL一样存放多行数据
|
27天前
|
运维 关系型数据库 MySQL
安装MySQL8数据库
本文介绍了MySQL的不同版本及其特点,并详细描述了如何通过Yum源安装MySQL 8.4社区版,包括配置Yum源、安装MySQL、启动服务、设置开机自启动、修改root用户密码以及设置远程登录等步骤。最后还提供了测试连接的方法。适用于初学者和运维人员。
153 0
|
SQL Java 数据库连接
MySQL---数据库从入门走向大神系列(十五)-Apache的DBUtils框架使用
MySQL---数据库从入门走向大神系列(十五)-Apache的DBUtils框架使用
194 0
MySQL---数据库从入门走向大神系列(十五)-Apache的DBUtils框架使用
|
SQL 关系型数据库 MySQL
MySQL---数据库从入门走向大神系列(六)-事务处理与事务隔离(锁机制)
MySQL---数据库从入门走向大神系列(六)-事务处理与事务隔离(锁机制)
143 0
MySQL---数据库从入门走向大神系列(六)-事务处理与事务隔离(锁机制)
|
存储 SQL 关系型数据库
MySQL---数据库从入门走向大神系列(五)-存储过程
MySQL---数据库从入门走向大神系列(五)-存储过程
142 0
MySQL---数据库从入门走向大神系列(五)-存储过程
|
数据库
MySQL---数据库从入门走向大神系列(四)-子查询、表与表之间的关系(3)
MySQL---数据库从入门走向大神系列(四)-子查询、表与表之间的关系
204 0
MySQL---数据库从入门走向大神系列(四)-子查询、表与表之间的关系(3)
|
SQL 关系型数据库 MySQL
MySQL---数据库从入门走向大神系列(二)-用Java对MySQL进行增删改查
MySQL---数据库从入门走向大神系列(二)-用Java对MySQL进行增删改查
214 0
MySQL---数据库从入门走向大神系列(二)-用Java对MySQL进行增删改查