GaussDB全局事务管理层(GTM)关键技术方案

news/2024/10/30 12:08:46/文章来源:https://www.cnblogs.com/xiaoxu0211/p/18515592

GTM 仅处理全局时间戳请求, 64位CSN递增,几乎都是CPU ++和消息收发操作。不是每次都写ETCD, 而是采用定期持久化到ETCD 里, 每次写ETCD的CSN要加上一个backup_step (100w), 一旦GTM故障,CSN从ETCD读取出来的值保证单调递增。当前GTM 只完成CSN++, 预估可以支持200M/s 请求。GTM处理获取csn消息和csn++的消息, TCP 协议栈消耗CPU会非常严重,采用用户态协议栈提高GTM单节点的处理能力。未来架构演进完全去中心化,采用高精度时钟解决扩展性问题。

5.1 单节点的事务
在这里插入图片描述

图2 单节点事务处理

流程关键设计:GTM 只维护一个CSN++, snapshot 只包含CSNDN 本地维护事务id, 维护id到CSN的映射(CSN_LOG)DN 本地GC的过程中回填CSN单shared读事务使用local snapshot:get local latest CSN + get prepared_xidwait csn commit in process(same as before)如果row.csn < localsnapshot.csn || xid in prepared_xid list 可见, 否则不可见

5.2 跨节点事务
在这里插入图片描述

图3 跨节点事务处理流程

关键设计:第二阶段Commit 改为异步方式,只同步做prepare xact。(1.5 PC)DN 上行级别可见性判断:DN处于prepared状态的事务依赖对应CN上的事务是否提交,如果已经提交,且CSN比snapshot.CSN小,就可见对DN上处于prepared的事务,CN上的事务不处于提交状态,则必须判断是否残留状态,回滚。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/824089.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GaussDB集群管理层(CM)关键技术方案

GaussDB Kernel V5 集群管理层关键模块如下。图4 集群管理层组件设计图 CM 组件提供了四种服务 CM Agent, CM Server, OM Monitor, cm_ctl,与各类实例服务组件(CN, DN, GTM 等)一起构成了整个数据库集群系统。cm_ctl通过命令行执行集群的启动、停止、状态查询、主备倒换、备…

2024年10月中国数据库排行榜:TiDB续探花,GaussDB升四强

10月墨天轮排行榜解读已发布!OceanBase、PolarDB、TiDB三甲格局稳定,GaussDB排名攀升至第四,此外亦有部分产品表现亮眼,一起来看更多排名情况与解读。10月中国数据库流行度排行榜如期发布,再次印证了市场分层的加速形成。国家数据库测评结果已然揭晓,本批次通过的产品数量…

GaussDB技术解读——查询优化器

查询优化阶段主要是SQL执行过程中在优化器SQL Optimizer中执行的部分,优化器作为数据库的大脑是SQL执行路径决策者,从全局视角出发提升查询的性能,降低用户使用数据库调优的门槛。查询优化总体上分为逻辑优化、物理优化。查询优化从总体上可以分成两类: 1、基于规则的逻辑优…

markdown矩阵分块和latex中矩阵分块记录

1. markdown中常见的符号附件 \hat{X} \widehat{X} \check{X} \breve{X} \tilde{X} \dot{X} \ddot{X} \overline{X} \underline{X}2. markdown中矩阵 由\left[ right], \begin{array}{ccc} \end{array}包围,分行由\\实现,分列通过ccc固定列数,列与列间用&分割 代码:\…

二、DEBUG模式及常用指令

debug概述 debug是DOS、Windows都提供的实模式(8086方式)程序的调试工具。使用他可以查看CPU各种寄存器中的内容、内存的情况和在机器码级跟踪程序的运行 debug的功能 调试(Debug)的命令比较多,共有20多个,但这6个命令是和汇编学习密切相关的。 在以后的实验中,我们还会用…

207-FMC207-基于FMC 两路QSFP+光纤收发子卡

FMC207-基于FMC 两路QSFP+光纤收发子卡 一、板卡概述本卡是一个FPGA夹层卡(FMC)模块,可提供高达2个QSFP / QSFP +模块接口,直接插入千兆位级收发器(MGT)的赛灵思FPGA。支持利用Spartan-6、Virtex-6、Kintex-7 、Virtex-7FPGA系列FPGA。兼容xilinx 开发板使用。 实现高…

数据采集与融合实践作业三

数据采集与融合技术实践作业三 scrapy项目gitee链接:https://gitee.com/jsjdjjdjajsd/getinformation/tree/master/作业三 作业①: 要求:指定一个网站,爬取这个网站中的所有的所有图片,例如:中国气象网(http://www.weather.com.cn)。使用scrapy框架分别实现单线程和多线…

《vue3第五章》新的组件,包含:Fragment、Teleport、Suspense

《vue3第五章》新的组件,包含:Fragment、Teleport、Suspense@目录五、新的组件1.Fragment2.Teleport案例完整代码3.Suspense案例完整代码本人其他相关文章链接 五、新的组件 1.Fragment在Vue2中: 组件必须有一个根标签 在Vue3中: 组件可以没有根标签, 内部会将多个标签包含在…

h3c交换机推送日志至syslog服务器

华三官网文档并不完全正确,并且很多系统已经用rsyslog而不是syslog。在这里记录下配置 1、交换机侧配置 [H3C]info-center enable # ip替换成日志服务器的ip 使用local5作为日志主机记录工具。 [H3C]info-center loghost 172.20.161.249 facility local5 [H3C]info-center so…

redisr的发布与订阅

redis发布订阅理解图发布者(Publisher)使用 PUBLISH 命令将消息发布到指定的频道。订阅者(Subscriber)使用 SUBSCRIBE 命令订阅一个或多个频道以接收消息。所有订阅同一频道的订阅者都会收到此消息。频道(Channel)频道是消息的通道,发布者通过指定频道来发布消息,订阅者…

【征程 6 工具链性能分析与优化-1】编译器预估 perf 解读与性能分析

01 引言 本篇文章中,我们将首先介绍 layerdetails 中的参数信息,然后将结合实例分析如何利用 layerdetails 来分析模型的性能瓶颈,进而对模型的性能进行优化。 02 layerdetails 中信息解读 征程 6 工具链目前提供了两种方式生成性能评估报告:使用hb_compile工具编译模型时会…

《vue3第六章》其他,包含:全局API的转移、其他改变

《vue3第六章》其他,包含:全局API的转移、其他改变@目录六、其他1.全局API的转移2.其他改变 六、其他 1.全局API的转移Vue 2.x 有许多全局 API 和配置。例如:注册全局组件、注册全局指令等。//注册全局组件 Vue.component(MyButton, {data: () => ({count: 0}),template:…