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

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
性能测试 PTS,5000VUM额度
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
简介: 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
相关文章
|
13天前
|
存储 SQL Apache
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
Apache Doris 是一个基于 MPP 架构的高性能实时分析数据库,以其极高的速度和易用性著称。它支持高并发点查询和复杂分析场景,适用于报表分析、即席查询、数据仓库和数据湖查询加速等。最新发布的 2.0.2 版本在性能、稳定性和多租户支持方面有显著提升。社区活跃,已广泛应用于电商、广告、用户行为分析等领域。
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
|
8天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
22 4
|
6天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
19 1
|
15天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
76 1
|
3天前
|
运维 关系型数据库 MySQL
安装MySQL8数据库
本文介绍了MySQL的不同版本及其特点,并详细描述了如何通过Yum源安装MySQL 8.4社区版,包括配置Yum源、安装MySQL、启动服务、设置开机自启动、修改root用户密码以及设置远程登录等步骤。最后还提供了测试连接的方法。适用于初学者和运维人员。
26 0
|
16天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第26天】数据库作为现代应用系统的核心组件,其性能优化至关重要。本文主要探讨MySQL的索引策略与查询性能调优。通过合理创建索引(如B-Tree、复合索引)和优化查询语句(如使用EXPLAIN、优化分页查询),可以显著提升数据库的响应速度和稳定性。实践中还需定期审查慢查询日志,持续优化性能。
47 0
|
1月前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
122 6
|
1月前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
61 3
Mysql(4)—数据库索引
|
1月前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
69 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
17天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
59 2