民生银行拥抱openGauss,MogDB配套工具MTK支撑多源异构数据库平滑迁移 成就客户的[openGauss](javascript:void(0);)2023-02-2318:00发表于广东 伴随着国内数字化建设与转型的高速发展,数据规模与体量逐年激增,加之开源、云部署成为重要趋势,越来越多的组织开始考虑对现有传统数据库进行替换,以应对新的、更复杂的业务需求。 数据库的替换必然带来海量数据搬迁以及大量的数据处理程序迁移改造工作。如何进行平滑无缝的迁移并确保业务的连续和数据的一致,成为企业在数据库替换选型时不得不考量的重要因素。 民生银行拥抱openGauss 作为中国大陆第一家由民间资...

  lYE0sTgD5uUi   2023年11月02日   30   0   0 数据SQL数据库

openGauss开源社区再次入选“科创中国”开源创新榜 openGauss2023-02-2118:03发表于广东 openGauss开源社区入选“科创中国”开源创新榜 2月20日,在2023“科创中国”年度会议上,中国科协正式发布了2022年“科创中国”系列榜单。openGauss开源社区入选“科创中国”开源创新榜年度优秀开源社区,这也是openGauss开源社区连续两年入选该榜单。 2022年“科创中国”开源创新榜,挖掘30项具有创新性的优秀开源产品,活跃度高、贡献度高的优秀社区,以及推动开源产业发展的优秀开源机构,引领打造开源创新生态。 2020年6月30日,openGauss数据...

  lYE0sTgD5uUi   2023年11月02日   48   0   0 解决方案开源社区数据库

openGauss数据库荣获中国计算机学会(CCF)科技成果特等奖 openGauss2023-02-2118:03发表于广东 喜讯 2023年2月18日,中国计算机学会(CCF)颁布了2022年度“CCF科技成果奖”。华为与清华大学、中国移动联合申报的“openGauss:企业级开源数据库系统”凭借在企业核心应用场景、在NUMA-Aware事务处理方法、主备共享存储技术、AI算子加速等核心技术创新获得组委会一致认可,最终获得2022年度“CCF科技成果奖”下设的“科技进步特等奖”。CCF理事长梅宏教授和奖励委员会主席廖湘科教授为获奖项目代表颁奖,清华大学李国良教授代表openGauss数据库...

  lYE0sTgD5uUi   2023年11月02日   37   0   0 中国移动新版本数据库

openGauss数据库源码解析系列文章——事务机制源码解析(四) 四.基于鲲鹏服务器的性能优化 本章着重介绍openGauss基于硬件结构的锁相关的函数及结构体的性能优化。 1.WALGroupinset优化 数据库redo日志缓存系统指的是数据库redo日志持久化的写缓存,数据库redo日志落盘之前会写入到日志缓存中再写到磁盘进行持久化。日志缓存的写入效率是决定数据库整体吞吐量的主要因素,而各个线程之间写日志时为了保证日志顺序写存在锁争抢,锁的争抢就成为了性能的主要瓶颈点。openGauss针对鲲鹏服务器ARMCPU的特点,通过group的方式进行日志的插入,减少锁的争抢,提升WAL日志的...

  lYE0sTgD5uUi   2023年11月02日   63   0   0 数组缓存缓冲池

openGauss数据库源码解析系列文章——事务机制源码解析(二) 二、事务并发控制 事务并发控制机制用来保证并发执行事务的情况下openGauss的ACID特性。下面将逐一介绍事务并发控制的各组成部分。 (一)事务状态机 openGauss将事务系统分为上层(事务块TBlockState)以及底层(TransState)两个层次。 通过分层的设计,在处理上层业务时可以屏蔽具体细节,实现灵活支持客户端各类事务执行语句(BEGIN/STARTTRANSACTION/COMMIT/ROLLBACK/END)。 (1)事务块TBlockState:客户端query的状态,用于提高用户操作数据的灵活性...

  lYE0sTgD5uUi   2023年11月02日   55   0   0 元组回滚状态机

openGauss数据库源码解析系列文章——事务机制源码解析(三) 三、锁机制 数据库对公共资源的并发控制是通过锁来实现的,根据锁的用途不同,通常可以分为3种:自旋锁(spinlock)、轻量级锁(LWLock,lightweightlock)和常规锁(或基于这3种锁的进一步封装)。使用锁的一般操作流程可以简述为3步:加锁、临界区操作、放锁。在保证正确性的情况下,锁的使用及争抢成为制约性能的重要因素,下面先简单介绍openGauss中的3种锁,最后再着重介绍openGauss基于鲲鹏架构所做的锁相关性能优化。 (一)自旋锁 自旋锁一般是使用CPU的原子指令TAS(test-and-set)实现...

  lYE0sTgD5uUi   2023年11月02日   50   0   0 死锁检测自旋锁死锁

openGauss数据库源码解析系列文章——事务机制源码解析(一) 一、事务整体架构和代码概览 事务模块总体结构如图1所示。 图1总体结构 在openGauss中,事务的实现与存储引擎的实现有很强关联,代码主要集中在src/gausskernel/storage/access/transam及src/gausskernel/storage/lmgr下,关键文件如图1所示。 (1)事务管理器:事务系统的中枢,它的实现是一个有限循环状态机,通过接受外部系统的命令并根据当前事务所处的状态决定事务的下一步执行过程。 (2)日志管理器:用来记录事务执行的状态以及数据变化的过程,包括事务提交日志(CL...

  lYE0sTgD5uUi   2023年11月02日   127   0   0 可见性并发控制数据

【观察】汇聚中国开源数据库创新力量,openGauss驶入发展“快车道” 毫无疑问,数据库是“软件产业皇冠上的明珠”,是数字基础设施不可或缺的底座之一。但也要看到,由于数据库难度大,产业投入周期长,迫切需要凝聚产业力量共建基础能力。 在此背景之下,作为定位企业级开源数据库的openGauss,自2020年6月30日正式开源上线以来,在数据库核心技术方面持续突破,与产业链伙伴共建数据库开源根社区,共同繁荣数据库开源生态,并在行业核心场景中实现了规模化应用,成为了中国发展最快的开源数据库社区。 在近期举办的openGaussSummit2022上,openGauss社区理事会理事长江大勇对外公布的...

  lYE0sTgD5uUi   2023年11月02日   32   0   0 解决方案中国移动数据库

openGauss年终成绩单出炉,聚开发者之力,建繁荣生态 伍杏玲openGauss2023-01-1117:57发表于广东 经过20多年的发展,如今中国数据库呈现百花齐放、欣欣向荣的新局面。近年来,中国开源以燎原之势发展,一个让人无法忽视的变革悄然发生:据DB-Engines数据显示,2021年,开源数据库数量首次超过了商业数据库数量。数据库市场发生革命性改变,开源数据库等新一代数据库正在加速崛起,成为数据库领域的全新力量。 其中openGauss表现强劲,自开源以来,坚持打造数据库根技术、建设根社区、繁荣新生态。在2022年12月29日举办的openGaussSummit2022上,ope...

  lYE0sTgD5uUi   2023年11月02日   57   0   0 开发者池化数据库

openGauss+Wasm:构建安全高效的UDF执行引擎 很多人听说WebAssembly,或者它的简称Wasm,可能还是由于它在浏览器中得到了广泛的应用。但是,近些年随着Wasm持续不断的发展,其在服务器端的应用也越来越广泛。在刚刚过去的10月底,Docker发布了Docker+Wasm的技术预览版本,旨在为广大开发者提供一个更快速便捷地构建Wasm应用程序的容器环境,这一动作标志着Wasm在云原生领域已经得到了有效应用。那么,什么是Wasm呢? WebAssemby是什么? 先来看看官方的定义: WebAssembly(abbreviatedWasm)isabinaryinstruct...

  lYE0sTgD5uUi   2023年11月02日   86   0   0 开发人员

openGauss获2022年度创新产品奖! 喜讯 openGauss企业级开源数据库获IT1682022年度创新产品奖! 获奖理由 开源社区是openGauss的重要创新平台,提供openGauss与开发者、用户、产业伙伴联接的桥梁。openGauss以社区为依托,联合产业链上下游共同创新,孵化新技术、推广新产品、落地新方案。从水平扩展能力半径,持续提供领先的技术产品;垂直丰富应用场景,不断提升满足行业核心应用的需求。 openGauss企业级开源数据库 数字时代,海量数据与丰富的场景需求,对数据库提出了新挑战,也带来了创新机会。数据库的核心能力要从高性能全并行处理、软件高可用、智能优化、...

  lYE0sTgD5uUi   2023年11月02日   48   0   0 高可用运维数据库

openGauss内核分析(八):执行算子探究 执行引擎位于优化器和存储引擎之间,负责将数据从存储引擎读取出来,根据计划将数据处理加工返回给客户端。执行器接收到的指令就是优化器应对SQL查询而翻译出来的关系代数运算符所组成的执行树,如下图所示: 图中每一个方块代表一个具体关系运算代数符,我们称之为算子,每个算子有统一的接口,从下层的一个或者多个算子获得输入,然后将运算结果返回给上层算子。整个查询执行过程主要是两个流,驱动流和数据流。 向上的流代表数据流,是指下层算子将数据返回给上层算子的过程,这是一个从下至上、从叶节点到跟节点的过程。在openGauss中,所有的叶子节点都是表数据扫描算子...

  lYE0sTgD5uUi   2023年11月02日   43   0   0 元组数据sed

openGauss内核分析(九):数据库表的创建过程 除了DML之外的所有查询都通过ProcessUtility模块来执行,包括了各类DDL语句、事务相关语句、游标相关语句等。上层调用函数为exec_simple_query函数,其中PortalStart函数和PortalDrop函数部分较为简单。核心函数是PortalRun函数下层调用的standard_ProcessUtility函数,该函数通过switchcase语句处理了各种类型的查询语句,包括事务相关查询、游标相关查询、schema相关操作、表空间相关操作、表定义相关操作等。 standard_ProcessUtility函数会根据...

  lYE0sTgD5uUi   2023年11月02日   28   0   0 opengauss

openGauss内核分析(六):执行计划生成 SQL语句解析完成后被解析成Query结构,在进行优化时是以Query为单位进行的,Query的优化分为基于规则的逻辑优化(查询重写)和基于代价的物理优化(计划生成),主入口函数为subquery_planner。subquery_planner函数接收Query(查询树),返回一个Plan(计划树)。 Plansubquery_planner(PlannerGlobalglob,Queryparse,PlannerInfoparent_root,boolhasRecursion, doubletuple_fraction,PlannerInf...

  lYE0sTgD5uUi   2023年11月02日   96   0   0 执行计划返回结果List

openGauss内核分析(七):SQLbypass&经典执行器(二) 02经典的执行器 关闭enable_opfusion,简单insert的执行计划是这样的: 在这种执行流程中Portal是执行SQL语句的载体,每一条SQL对应唯一的Portal,不同的查询类型对应的Portal类型也有区别。 typedefenumPortalStrategy{ PORTAL_ONE_SELECT,//SQL语句包含单一的SELECT查询 PORTAL_ONE_RETURNING,//INSERT/UPDATE/DELETE语句包含Returning PORTAL_ONE_MOD_WITH,//...

  lYE0sTgD5uUi   2023年11月02日   91   0   0 SQL查询语句执行流程

openGauss内核分析(七):SQLbypass&经典执行器(一) 酷哥[openGauss](javascript:void(0);)2023-01-1717:55发表于广东 执行引擎一般负责查询的执行,执行引擎在SQL执行栈中起到接收优化器生成的执行计划Plan、并对通过存储引擎提供的数据读写接口,实现对数据进行计算得到查询的结果集。 在典型的OLTP场景中,简单查询占了很大一部分比例。这种查询的特征是只涉及单表和简单表达式的查询,因此为了加速这类查询,openGauss提出了SQLbypass框架,在parse层对这类查询做简单的模式判别后,进入到特殊的执行路径里,跳过经典...

  lYE0sTgD5uUi   2023年11月02日   62   0   0 执行计划SQL执行流程

openGauss内核分析(十):数据库索引的创建过程 数据库索引可以提高数据的访问速度,openGauss支持唯一索引、多字段索引、部分索引和表达式索引。行存表(ASTORE存储引擎)支持的索引类型:btree(行存表缺省值)、hash、gin、gist。行存表(USTORE存储引擎)支持的索引类型:ubtree。列存表支持的索引类型:Psort(列存表缺省值)、btree、gin。全局临时表不支持GIN索引和Gist索引。 如上一篇分析数据库表的创建过程,standard_ProcessUtility函数会根据nodeTag(parsetree)的值来确定sql的操作类型,createta...

  lYE0sTgD5uUi   2023年11月02日   34   0   0 存储引擎分区表

【我和openGauss的故事】openGauss价值特性(二) 索引推荐(Index-Advisor) Index-Advisor共包含三个子功能,单查询索引推荐,虚拟索引和负载级别索引推荐。 单查询索引推荐 功能支持用户在数据库中直接进行操作,本功能基于查询语句的语义信息和数据库的统计信息,对用户输入的单条查询语句生成推荐的索引。本功能涉及的函数接口如下。 gs_index_advise()功能:只针对单条的SQL语句 环境如下: openGauss=selectcount()fromemployee; count --------- 1000000 (1row) ----------...

  lYE0sTgD5uUi   2023年11月02日   25   0   0 执行计划查询语句数据库

【我和openGauss的故事】openGauss价值特性(一) openGauss是一款高性能、易运维的开源关系型数据库。openGauss提供了众多的价值特性,可以极大地帮助数据库开发和运维工程师方便地进行数据库管理和维护。本文将对openGauss所提供的planhint、索引推荐、闪回恢复做一个简单的介绍。 PlanHint调优 PlanHint为用户提供了直接影响执行计划生成的手段,用户可以通过指定join顺序、join、scan方法、指定结果行数等多个手段来进行执行计划的调优,以提升查询的性能。 支持范围 当前版本PlanHint支持的范围如下,后续版本会进行增强。 指定Join...

  lYE0sTgD5uUi   2023年11月02日   37   0   0 置数据执行计划调优

怎样缓存时序数据更合理?解密DBMind在时序数据缓存上的代码实践openGauss 业务背景 DBMind是openGauss开源的数据库自治运维底座,在设计和实现上,融合了大量的工程技巧和优化。其中,DBMind的一个功能需求是“通过从时序数据库中获取监控数据,然后基于该监控数据进行分析”,上述提到的时序数据,可以用于异常检测、时序预测以及多指标关联分析等。同时,上述DBMind功能总体上可以认为是一个近似使用滑动窗口进行离线分析的功能。 注 时序数据至少由两部分组成,即时间标志(可以是时间戳)和该时间标志上的值。为了方便表示,下文中所有时序数据均只表示其时间戳,省略具体值。表示形式可以是...

  lYE0sTgD5uUi   2023年11月02日   44   0   0 缓存数据时间序列
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~