基础软件加速自主创新,openGauss成就业务“新箭头” 徐勇openGauss2023-06-0918:00 不久前,想必业界都注意到了MetaERP横空出世的消息。作为企业经营的核心系统,MetaERP突破外部封锁,实现完全自研替代,是华为有史以来牵涉面较广、复杂性较高的项目。这其实是国产基础软件迅速崛起的一个缩影。 基础软件产业是关系国民经济和社会发展全局的基础性、战略性、先导性产业,对于支撑经济社会发展、提升国家安全保障能力具有重要意义。2023年2月21日,国家高层强调“要打好科技仪器设备、操作系统和基础软件国产化攻坚战”,这无疑吹响了基础软件加速自主创新的号角。 作为基础软件的“...

  lYE0sTgD5uUi   2023年11月02日   67   0   0 基础软件数据库opengauss

李士福:openGauss自驾驶数据库内核在AI领域的探索和创新 openGauss2023-04-2017:59 智能化正在不断颠覆传统生产力。随着数智时代的到来,AI技术在提升管理效率、降低运维成本等方面发挥着越来越重要的作用。当DB与AI相结合,数据库产品也变得更加智能化。目前智能数据库技术是业内的研究热点,openGauss作为国内数据库根技术的重要一支,在这一领域取得了哪些成就?未来有哪些发展规划? 2023年4月7日,华为openGauss数据库AI领域负责人李士福在第十二届『数据技术嘉年华』【数智趋势:智能运维与自治】专题论坛发表了题为《openGauss:自驾驶数据库内核》的演...

  lYE0sTgD5uUi   2023年11月02日   26   0   0 运维SQL数据库opengauss

联通云数据库CUDB:基于openGauss打造新一代自主创新云原生数据库 openGauss2023-06-0118:01发布于opengauss 总体概述 联通云彰显央企担当,围绕国家对信息技术基础软件的政策要求,开展数据库自主研发。在openGauss开源社区版软件基础上,聚焦政企市场,坚持内核创新,完善工具生态,基于海量云存储能力、存算分离架构等先进技术,面向联通内外部用户需求,推出新一代自主创新云原生数据库产品CUDB,打造联通云创新产品,提升品牌价值。 产品定义 云数据库CUDB(ChinaUnicomDataBase)是联通云基于openGauss内核打造的企业级关系型数据库。拥...

  lYE0sTgD5uUi   2023年11月02日   25   0   0 云数据库数据库opengauss

深入浅出openGauss的执行器基础 openGauss2023-04-1718:03 火山模型 执行器各个算子解耦合的基础。对于每个算子来说,只有三步: 向自己的孩子拿一个tuple。即调用孩子节点的Next函数; 执行计算; 向上层返回一个tuple。即当前节点Next函数的返回结果。 所以整个执行器的内核可以用下面这个伪代码来表达。 ExecutePlan { for(;;) slot=ExecProcNode(planstate); ------->if(node->chgParam!=NULL) ExecReScan(node); result=g_execPr...

  lYE0sTgD5uUi   2023年11月02日   35   0   0 存储引擎数据结构数据opengauss

openGaussDBMind自治运维系统的安装和部署 openGauss2023-04-2418:05发布于openGauss公众号 DBMind作为openGauss数据库的一部分,为openGauss数据库提供了自动驾驶能力,是一款领先的开源数据库自治运维平台。通过DBMind,您可以很容易地发现数据库的问题,同时可以实现秒级的数据库问题根因分析 本文将详细描述如何安装部署openGaussDBMind自治运维平台。 1安装准备 1.1环境信息 假设在主控节点192.168.100.4上部署DBMind,有一套端口号为19999的集群环境,环境信息如下: node no...

  lYE0sTgD5uUi   2023年11月02日   61   0   0 安装包数据库opengausslinux

openGauss:共建数据库根社区,打造开源数据库核心竞争力 openGauss2023-04-1320:12发表于广东 在刚刚结束的第十二届数据技术嘉年华上,CCF数据库专委会副主任、openGauss社区技术委员会主席、清华大学计算机系副主任、长聘教授李国良发表了《openGauss:聚焦数据库内核创新,共建开源数据库根社区》的主旨演讲。李国良提到,尽管经过50多年的发展,数据库发生了翻天覆地的变化,但数据库向下充分利用硬件资源发挥算力优势,向上支撑各种不同应用繁荣创新却是持续不变的。 CCF数据库专委会副主任,openGauss社区技术委员会主席,清华大学计算机系副主任、长聘教授李国...

  lYE0sTgD5uUi   2023年11月02日   51   0   0 高可用核心技术数据库opengauss

openGauss都做了哪些算子优化工作? openGauss2023-04-1217:58 openGauss在代码里面实现了大量的算子级优化工作,为了更进一步便于用户理解,我们对这些工作进行了总结,并且对内部具体的一些算法进行详细介绍,其总结如下。 【索引扫描算子优化】 对索引扫描算子进行了一定程度的重构与优化,以提升算子性能。优化主要包括以下几个方面: 识别到程序中存在影响性能的噪点,对其进行屏蔽; 在现有执行流程下,为多数场景下的高频操作建立fast-path,以提高执行效率; 对一些数据结构与算法的实现进行了优化重构,以提升性能。最终经过测试,IndexScan算子性能提升10%,...

openGauss数据库源码解析系列文章——执行器解析(三) openGauss2023-04-2117:59 六、向量化引擎 传统的行执行引擎大多采用一次一元组的执行模式,这样在执行过程中CPU大部分时间并没有用来处理数据,更多的是在遍历执行树,就会导致CPU的有效利用率较低。而在面对OLAP场景巨量的函数调用次数,需要巨大的开销。为了解决这一问题,openGauss中增加了向量化引擎。向量化引擎使用了一次一批元组的执行模式,能够大大减少遍历执行节点的开销。一次一批元组的数据运载方式也为某些表达式计算的SIMD(singleinstruction,multipledata,单指令多数据)化提...

  lYE0sTgD5uUi   2023年11月02日   45   0   0 元组初始化opengauss执行流程

openGauss5.0.0支持用户级全量审计解密 [openGauss](javascript:void(0);)2023-04-0418:00发表于广东 引言 无论是用户本人回顾自己的历史操作记录,还是管理员监督用户的高风险行为,大家都希望在使用审计功能的时候既能万无一失地保存所需地记录,又能实现高效检索查询。精准配置审计开关是实现这一目标必不可少的步骤,虽然开关种类繁多,但我们可得仔细研究配置。在实际生产中,可能会存在某些用户的权限和风险和其他用户不一样,针对这些用户的审计要求相较于其他用户也要更为严格。如果为了这类用户而打开所有的审计开关,虽然保证了完整性,但是其他低风险用户的日志又被...

  lYE0sTgD5uUi   2023年11月02日   44   0   0 参数设置字符串数据库opengauss

openGauss数据库源码解析系列文章——SQL引擎源码解析(1.1) SQL引擎作为数据库系统的入口,主要承担了对SQL语言进行解析、优化、生成执行计划的作用。对于用户输入的SQL语句,SQL引擎会对语句进行语法/语义上的分析以判断是否满足语法规则等,之后会对语句进行优化以便生成最优的执行计划给执行器执行。故SQL引擎在数据库系统中承担着承上启下的作用,是数据库系统的“大脑”。 一、概述 SQL引擎负责对用户输入的SQL语言进行编译,生成可执行的执行计划,然后将执行计划交给执行引擎进行执行。SQL引擎整个编译的过程如图1所示,在编译的过程中需要对输入的SQL语言进行词法分析、语法分析、语义...

  lYE0sTgD5uUi   2023年11月02日   50   0   0 执行计划SQLopengauss

openGauss数据库源码解析系列文章——SQL引擎源码解析(1.2) 二、SQL解析 1970年,埃德加·科德(EdgarFrankCodd)发表了关系模型的论文,奠定了关系数据库的理论基础,随后在1974年,Boyce和Chamber在关系模型的基础上推出了Sequel语言,后来演进成了SQL(structuredauerylanguage,结构化查询语言)语言。SQL语言是一种基于关系代数和关系演算的非过程化语言,它指定用户需要对数据操作的内容,而不指定如何去操作数据,具有非过程化、简单易学、易迁移、高度统一等特点。因此,SQL语言在推出之后就快速地成为数据库中占比最高的语言。 SQL...

  lYE0sTgD5uUi   2023年11月02日   127   0   0 语法树SQLopengauss语义分析

openGauss数据库源码解析系列文章——SQL引擎源码解析(二) 三、查询优化 openGauss数据库的查询优化过程功能比较明晰,从源代码组织的角度来看,相关代码分布在不同的目录下,如表1所示。 表1查询优化模块说明 模块 目录 说明 查询重写 src/gausskernel/optimizer/prep 主要包括子查询优化、谓词化简及正则化、谓词传递闭包等查询重写优化技术 统计信息 src/gausskernel/optimizer/commands/analyze.cpp 生成各种类型的统计信息,供选择率估算、行数估算、代价估算使用 代价估算 src/co...

  lYE0sTgD5uUi   2023年11月02日   40   0   0 数据分布子查询数据库opengauss

openGauss数据库源码解析系列文章——执行器解析(1.1) 一、执行器整体架构及代码概览 本节整体介绍执行器的架构和代码。 1.1执行器整体结构 在SQL引擎将用户的查询解析优化成可执行的计划之后,数据库进入查询执行阶段。执行器基于执行计划对相关数据进行提取、运算、更新、删除等操作,以达到用户查询想要实现的目的。 openGauss在行计算引擎的基础上,增加了编译执行引擎和向量化执行引擎,执行器模块架构如图1-1所示。openGauss的执行器采用的是火山模型(volcanomodel),这是一种经典的流式迭代模型(pipelineiteratormodel),目前主流的关系型数据库大多...

  lYE0sTgD5uUi   2023年11月02日   31   0   0 子节点位图数据opengauss

openGauss数据库源码解析系列文章——执行器解析(1.2) 二、执行流程 整个执行器的执行流程主要包括了策略选择模块Portal、执行组件executor和ProcessUtility,如图3所示。下面逐个进行介绍。 图3执行器总体执行流程 2.1Portal策略选择模块 Portal是执行SQL语句的载体,每一条SQL对应唯一的Portal,不同的查询类型对应的Portal类型也有区别,如表2-1所示。SQL语句经过查询编译器处理后会生成优化计划树或非优化计划树,是执行器执行的“原子”操作,执行策略根据需要选择SQL的类型、调用相应的模块。Portal的生命周期管理在exec_sim...

  lYE0sTgD5uUi   2023年11月02日   55   0   0 向量化执行引擎初始化opengauss

三、执行算子 执行算子模块包含多种计划执行算子,算子类型如表7-4所示,是计划执行的独立单元,用于实现具体的计划动作。执行计划包含4类算子,分别是控制算子、扫描算子、物化算子和连接算子,如表3-1所示。这些算子统一使用节点(node)表示,具有统一的接口,执行流程采用递归模式。整体执行流程是:首先根据计划节点的类型初始化状态节点(函数名为“ExecInit+算子名”),然后再回调执行函数(函数名为“Exec+算子名”),最后是清理状态节点(函数名为“ExecEnd+算子名”)。本节主要介绍行执行算子,面向列存储的算子在后续章节(向量化引擎)介绍。 表3-1执行算子类型 算子类型 ...

  lYE0sTgD5uUi   2023年11月02日   59   0   0 元组初始化迭代opengauss

openGauss数据库源码解析系列文章——执行器解析(2.1) 四、表达式计算 表达式计算对应的代码源文件是“execQual.cpp”,openGauss处理SQL语句中的函数调用、计算式和条件表达式时需要用到表达式计算。 表达式的表示方式和查询计划树的计划节点类似,通过生成表达式计划来对每个表达式节点进行计算。表达式继承层次中的公共根类为Expr节点,其他表达式节点都继承Expr节点。表达式状态的公共根类为ExprState,记录了表达式的类型以及实现该表达式节点的函数指针。表达式内存上下文类为ExprContext,ExprContext充当了计划树节点中Estate的角色,表达式计算...

  lYE0sTgD5uUi   2023年11月02日   55   0   0 ci表达式计算opengauss执行流程

五、编译执行 为了提高SQL的执行速度,解决传统数据处理引擎条件逻辑冗余的问题,openGauss为执行表达式引入了CodeGen技术,其核心思想是为具体的查询生成定制化的机器码代替通用的函数实现,并尽可能地将数据存储在CPU寄存器中。openGauss通过LLVM编译框架来实现CodeGen,LLVM是“LowLevelVirtualMachine”的缩写,开发之初是想作为一个底层虚拟机,但随着开发,以及功能的逐渐完善,慢慢变成一个模块化的编译系统,并能支持多种语言。LLVM的系统架构如图23所示。 图23LLVM系统架构 LLVM大体上可以分成3个部分。 (1)支持多种语言的前端。 (2...

  lYE0sTgD5uUi   2023年11月02日   48   0   0 LLVM初始化opengauss机器码

openGauss数据库源码解析系列文章——SQL引擎源码解析(二) 三、查询优化 openGauss数据库的查询优化过程功能比较明晰,从源代码组织的角度来看,相关代码分布在不同的目录下,如表1所示。 表1查询优化模块说明 模块 目录 说明 查询重写 src/gausskernel/optimizer/prep 主要包括子查询优化、谓词化简及正则化、谓词传递闭包等查询重写优化技术 统计信息 src/gausskernel/optimizer/commands/analyze.cpp 生成各种类型的统计信息,供选择率估算、行数估算、代价估算使用 代价估算 src/co...

  lYE0sTgD5uUi   2023年11月02日   28   0   0 数据分布子查询数据库opengauss

海量数据×桂林银行|满足金融用户稳健周密需求,做好国内数据库演进的实践担当openGauss 海量数据库[openGauss](javascript:void(0);)2023-03-0619:08发表于广东 金融业务一直是衡量数据库性能表现的“试金石”。金融行业涉及了银行、证券、保险、信托等多种业务系统,面临着数量大、数据复杂、实时性强、安全要求高等特点,对技术的先进性、安全性、成熟性都提出了更高要求,对数据库的高可用、高并发、高安全等性能有着更严苛的标准。 长期以来,国外数据库巨头在我国金融行业中占据着主流地位。不过随着国内数据库自主研发能力和性能表现的不断提升,以及信息技术相关产业发展的...

  lYE0sTgD5uUi   2023年11月02日   102   0   0 海量数据技术路线数据库

海量数据×桂林银行|满足金融用户稳健周密需求,做好国内数据库演进的实践担当openGauss 海量数据库[openGauss](javascript:void(0);)2023-03-0619:08发表于广东 金融业务一直是衡量数据库性能表现的“试金石”。金融行业涉及了银行、证券、保险、信托等多种业务系统,面临着数量大、数据复杂、实时性强、安全要求高等特点,对技术的先进性、安全性、成熟性都提出了更高要求,对数据库的高可用、高并发、高安全等性能有着更严苛的标准。 长期以来,国外数据库巨头在我国金融行业中占据着主流地位。不过随着国内数据库自主研发能力和性能表现的不断提升,以及信息技术相关产业发展的...

  lYE0sTgD5uUi   2023年11月02日   32   0   0 海量数据数据库迭代
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~