摘要: GaussDB数据库技术解读——高性能关键技术 内容概要:本章节介绍GaussDB中实现的高性能关键技术,内容涉及优化器、执行器、分布式数据库、存储引擎等多个方面。 目的:通过对GaussDB数据库关键高性能技术的学习,能够让读者更加清晰的理解数据库内核哪些优化是性能关键点同时也为类似的应用系统实现 阅读全文
posted @ 2024-12-18 16:48 MySQL成长之路 阅读(17) 评论(0) 推荐(0)
摘要: GaussDB数据库技术解读——分布式执行 分布式执行主要为分布式数据库提供一套完备的支撑数据跨节点交换,协同计算的计算框架,能够支撑位于不同地点的许多计算分片机通过网络互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库,数据的分布式切片方式从大的分类上有3种: (1)Share 阅读全文
posted @ 2024-12-18 16:48 MySQL成长之路 阅读(35) 评论(0) 推荐(0)
摘要: GaussDB技术解读——轻量全局事务管理GTM-lite GTM,全称Global Transaction Manager,即全局事务管理器,负责全局事务号的分发,事务提交时间戳的分发以及全局事务运行状态的登记,作为事务管理中的重要模块,为支持事务一致性提供必要的保证。 事务开始和提交时与GTM进 阅读全文
posted @ 2024-12-18 16:48 MySQL成长之路 阅读(46) 评论(0) 推荐(0)
摘要: GaussDB技术解读——高性能之查询处理流程 查询处理流程查询在经典数据库实现中需要依次进行以下4个环节, (1)查询解析:对用户输入查询进行编译,把查询从文本方式翻译成执行引擎可以识别的语句。 (2)查询优化:对查询的进行基于规则的逻辑优化RBO和基于代价CBO的物理优化 (3)查询执行:将查询 阅读全文
posted @ 2024-12-18 16:48 MySQL成长之路 阅读(16) 评论(0) 推荐(0)
摘要: GaussDB技术解读高性能——物理优化CBO 在优化器处理完RBO的优化以后,路径的选择往往不能通过实现制定好的规则进行变换,而是需要根据数据的分布(统计信息)情况来对查询执行路径进行评估,从可选的路径中选择一个执行代价最小的路劲进行执行,例如是否选择索引SeqScan vs. IndexScan 阅读全文
posted @ 2024-12-18 16:48 MySQL成长之路 阅读(22) 评论(0) 推荐(0)
摘要: GaussDB技术解读高性能——数据分区与分区剪枝 在数据系统中,数据分区是在一个实例内部按照用户指定的策略对数据做进一步的数据切分,将表按照指定规则划分为多个数据互不重叠的部分。从数据分区的角度来看是一种水平分区(horizontal partition)分区策略方式。分区表增强了数据库应用程序的 阅读全文
posted @ 2024-12-18 16:48 MySQL成长之路 阅读(90) 评论(0) 推荐(1)
摘要: GaussDB技术解读高性能——计划缓存计划技术 数据库接收到SQL语句后通常要经过如下处理:词语法解析->优化重写->生成执行计划-> 执行,从开始解析到计划生成其实是一个比较耗时的过程,一个常用的思想就是将计划缓存下来,当执行到相似的SQL时,从而可以复用计划,跳过SQL语句生成执行计划的整个过 阅读全文
posted @ 2024-12-18 16:48 MySQL成长之路 阅读(16) 评论(0) 推荐(0)
摘要: 由于GaussDB采用的是无共享Shared-nothing的架构,由众多独立且互不共享CPU、内存、存储等系统资源的逻辑节点组成。在这样的系统架构中,业务数据被分散存储在多个物理节点上,数据分析任务会被推送到数据所在位置就近执行,通过控制模块的协调,并行地完成大规模的数据处理工作,实现对数据处理的 阅读全文
posted @ 2024-12-18 16:48 MySQL成长之路 阅读(64) 评论(0) 推荐(0)
摘要: GaussDB技术解读高性能——分布式优化器 分布式数据库场景下表分布在各个节点上,数据的本地性Data Locality是分布式优化器中生成执行计划时重点考虑的因素,基于Share Nothing的分布式数据库中有一个很关键概念就是“移动数据不如移动计算”,之所以有数据本地性就是因为数据在网络中传 阅读全文
posted @ 2024-12-18 16:48 MySQL成长之路 阅读(19) 评论(0) 推荐(0)
摘要: 在数据库里RBO基于规则的优化一般指查询重写技术,按照一系列关系代数表达式的等价规则,对查询的关系代数表达式进行等价转换,从逻辑上减少执行的总量从而提高查询执行效率,例如,通过条件的推导得出非必要的表扫描、避免非必要的计算表示等。 查询重写RBO优化是非常重要的一种逻辑优化手段,通常应用和实施在查询 阅读全文
posted @ 2024-12-18 16:47 MySQL成长之路 阅读(40) 评论(0) 推荐(0)
摘要: 智能关键技术一:自治运维系统GaussDB 自治运维系统“DBMind”的整体系统框图如下图所示,包含四个维度:数据采集层数据采集层主要功能实现指标数据采集,采集频率分为秒级采集和分钟级采集。 其中秒级采集包括操作系统资源信息采集和数据库实例信息采集,例如操作系统层面CPU、内存、IO读写、网络资源 阅读全文
posted @ 2024-12-18 16:47 MySQL成长之路 阅读(9) 评论(0) 推荐(0)
摘要: 贝叶斯网络模型原理贝叶斯网络是一种概率图模型,拓扑结构通常为一个有向无环图。 贝叶斯网络的优势在于能够利用条件独立假设对多变量数据进行建模,并且自适应变量之间的相关性,具体是指每个变量的概率分布只和与它直接连接的父亲节点有关。使用这种方法能够比基于简单的独立性假设的模型获得更高的建模准确率,也能够比 阅读全文
posted @ 2024-12-18 16:47 MySQL成长之路 阅读(10) 评论(0) 推荐(0)
摘要: GaussDB 库内AI引擎架构如下图: 图4 DB4AI架构图用户接口层 在用户接口层,实现SQL-like语法,提供Create Model、Predict等关键字,支持AI算法训练和预测。当前支持的AI算法包括:GD(梯度下降法)、KMeans(聚类)、XGBoost、决策树等。 查询优化层查 阅读全文
posted @ 2024-12-18 16:47 MySQL成长之路 阅读(29) 评论(0) 推荐(0)
摘要: 云原生数据库SQL引擎继承原来openGauss的词法解析,语法解析,查询重写,查询优化和执行引擎的能力。 由于云原生数据库是shared disk 架构,一个事务在一个节点上执行,所以不需要原来分布式根据分布式key进行数据分布,分布式执行和分布式2PC提交的能力。为了支持数据库粒度的异地多活,云 阅读全文
posted @ 2024-12-18 16:47 MySQL成长之路 阅读(19) 评论(0) 推荐(0)
摘要: 分层原则。整体层次分为三层,分别为Application Layer,Computer Layer和Storage Layer。Application Layer应用层主要是客户端各种语言的驱动,这些驱动通过通信与计算层Computer Layer进行交互,对数据库进行操作。 下面是Computer 阅读全文
posted @ 2024-12-18 16:47 MySQL成长之路 阅读(7) 评论(0) 推荐(0)
摘要: 事务存储组件 云原生数据库支持透明多写,所有节点对等,每个计算节点都可以读写全部的数据页面,事务在本节点执行,没有分布式事务。每个计算节点都有Local buffer pool,采用Remote memory pool扩展计算节点的内存,在多个计算节点之间共享buffer地址,避免页面在多个计算节点 阅读全文
posted @ 2024-12-18 16:47 MySQL成长之路 阅读(6) 评论(0) 推荐(0)
摘要: 云原生数据库以OLTP为主,同时也支持基于OLTP数据的OLAP需求,如每日报表。在云原生数据库中,DBA可以选择为这部分表创建列存索引。创建完列存索引之后,执行器在做顺序扫描的时候,会自动选择列存索引进行数据的读取,实现快速扫描计算的能力。 云原生数据库以行存为基础,数据的增删改都先以行存的形式落 阅读全文
posted @ 2024-12-18 16:47 MySQL成长之路 阅读(15) 评论(0) 推荐(0)
摘要: GaussDB集群管理组件 云原生数据库支持全球集群部署和区域集群部署,相应的,故障检测也分为全球集群故障检测和区域 集群内故障检测,全球集群故障主要检测区域集群网络故障、区域集群脑裂故障。区域集群内检测节点网络故障、租户节点分区、集群管理节点分区、DFV存储故障。不同的故障需要不同的心跳链路来检测 阅读全文
posted @ 2024-12-18 16:47 MySQL成长之路 阅读(33) 评论(0) 推荐(0)
摘要: GaussDB关键技术方案_通信组件 云原生数据库采用shared disk架构,各个计算节点对等,计算节点之间通过页面交换实现缓存数据的一致性,为了提高页面传递的效率,需要利用RDMA或UB单边读写的能力;云原生数据库为了管理动态资源,需要对动态资源的owner分配进行加锁,分布式锁管理需要利用原 阅读全文
posted @ 2024-12-18 16:47 MySQL成长之路 阅读(11) 评论(0) 推荐(0)
摘要: 云原生数据库支持多租户,通过多租户资源共享,一是降低租户的成本,二是通过共享资源的池化实现租户的资源弹性,提高租户业务的可用性。 租户的资源弹性支持两种模式,Scale Up和Scale Out。Scale Up是在单个计算节点上对租户的分配资源进行弹性处理,Scale Out是在计算节点之间对租户 阅读全文
posted @ 2024-12-18 16:47 MySQL成长之路 阅读(16) 评论(0) 推荐(0)