首页 > 编程语言 >GaussDB技术解读——GaussDB架构介绍之数据持久化存取层(DataNode)关键技术方案

GaussDB技术解读——GaussDB架构介绍之数据持久化存取层(DataNode)关键技术方案

时间:2025-01-15 15:57:38浏览次数:1  
标签:数据 GaussDB 更新 元组 DataNode 版本 存取 页面

数据持久化存取层(DataNode)关键技术方案
Datanode节点主要负责数据的持久化和快速写入、读取。数据持久化采用物理日志wal,事务提交wal刷盘, 对外提供逻辑日志功能,反解析物理日志为SQL逻辑日志。

在这里插入图片描述

图1 datanode数据持久化

Astore:存储格式为追加写优化设计,其多版本元组采用新、老版本混合存储方式。当一个更新操作将老版本元组更新为新版本元组之后,如果老版本元组所在页面仍然有空闲空间,则直接在该页面内插入更新后的新版本元组,并在老版本元组中记录指向新版本元组地址的指针。在这个过程中,新版本元组以追加写的方式和被更新的老版本元组混合存放,这样可以减少更新操作的IO开销。然而,需要指出的是,由于新、老版本元组是混合存放的,因此在清理老版本元组时需要从混杂的数据中挑出垃圾数据,清理开销会比较大。同时,由于新版本元组位置相对老版本元组位置发生了变化,而索引中只记录了老版本元组的位置,因此容易导致索引膨胀。为了缓解索引膨胀这个问题,对于同一个页面内的更新,采用了HOT技术,将同一个记录的多个版本按从老至新的更新顺序给串连起来,但是这种从老至新的更新链顺序,对于并发的OLTP类短查询是效率是比较低,需要遍历的版本个数较多。

Ustore:与astore相比,ustore的最大特点在于新、老版本记录的分离存储。当一个更新操作将老版本元组更新为新版本元组之后,直接在老版本元组的位置覆写新版本元组内容,同时,将老版本元组移到统一管理历史版本的undo区域。在这个过程中,既需要修改数据页面,也需要修改undo页面,更新操作开销较astore的追加更新稍大。但是,就如同垃圾分类回收一样,这样带来的好处也是显而易见的,在清理老版本元组时,不再需要遍历扫描主表数据,直接按需回收undo区域即可,垃圾清理开销较astore不仅大幅降低,而且稳定可控。同时,由于新版本元组复用老版本元组的物理位置,因此索引无需更新,索引膨胀得到有效控制。另外,在ustore中,多个版本的更新链按从新至老的顺序串连,对于并发查询更友好。总而言之,ustore更适合更新频繁的业务场景。

标签:数据,GaussDB,更新,元组,DataNode,版本,存取,页面
From: https://www.cnblogs.com/xiaoxu0211/p/18673199

相关文章

  • GaussDB技术解读——GaussDB架构介绍之全局事务管理层(GTM)关键技术方案
    GTM仅处理全局时间戳请求,64位CSN递增,几乎都是CPU++和消息收发操作。不是每次都写ETCD,而是采用定期持久化到ETCD里,每次写ETCD的CSN要加上一个backup_step(100w),一旦GTM故障,CSN从ETCD读取出来的值保证单调递增。当前GTM只完成CSN++,预估可以支持200M/s请求。GTM处理......
  • GaussDB技术解读——GaussDB架构介绍之集群管理层(CM)关键技术方案
    GaussDBKernelV5集群管理层关键模块如下。图4集群管理层组件设计图CM组件提供了四种服务CMAgent,CMServer,OMMonitor,cm_ctl,与各类实例服务组件(CN,DN,GTM等)一起构成了整个数据库集群系统。cm_ctl通过命令行执行集群的启动、停止、状态查询、主备倒换、备机重......
  • GaussDB技术解读——GaussDB架构介绍之OM运维管理关键技术方案
    ​GaussDBKernelV5OM运维管理关键模块如下。OM运维主要功能有:安装升级节点替换扩容、缩容自动告警巡检备份恢复、容灾日志分析系统在华为云的部署模式下,OM相关组件部署示意图如下:图7华为云OM运维管理用户登录华为云Console,访问GaussDBKernelV5的管控页面,输入......
  • GaussDB 24
    GaussDB介绍华为自主创新研发的分布式关系型数据库。该产品具备企业级复杂事务混合负载能力,同时支持分布式事务,同城跨AZ部署,数据0丢失,支持1000+的扩展能力,PB级海量存储。同时拥有云上高可用,高可靠,高安全,弹性伸缩,一键部署,快速备份恢复,监控告警等关键能力,能为企业提供功能全面,稳定......
  • 详解GaussDB事务和并发控制机制,提升事务并发处理效率
    摘要:本文着重介绍了GaussDB的事务管理和并发控制机制,GaussDB采用多版本并发控制和两阶段锁相结合的机制。本文分享自华为云社区《华为云开发者云主机体验【玩转华为云】》,作者:GaussDB数据库。 事务是数据库的核心功能之一,其主要目的是保障数据库系统在并发处......
  • GaussDB修改账户登录失败后不锁定
    GaussDB中的GUC参数failed_login_attempts代表用户在连续输入错误密码被锁定的次数,默认值为10。当用户解锁用户后,重新登录还是被锁,说明在解锁后仍有其他客户端再次使用错误的密码尝试连接的次数超过GUC参数failed_login_attempts的值导致用户在此被锁。分布式下gs_gucreload......
  • 浅谈以 Oracle 为基准,GaussDB、达梦数据库(DM)和 PostgreSQL 的差异以及信创前景
    随着国内信息技术的快速发展,尤其是在“信息技术自主可控”(即信创)政策的推动下,国内企业和政府部门逐渐对数据库技术提出了自主可控的需求。尤其在数据库领域,国产数据库技术的崛起,正逐步替代传统的国际主流数据库系统(如Oracle等),成为我国数字化转型和数据安全战略中的关键一环。本......
  • 金砖技能大赛-内存取证
    检材链接:https://pan.baidu.com/s/1tYgIicCqJExmaMLYa3YeSA提取码:lulu按照惯例先打印出信息1.从内存中获取到用户admin的密码并且破解密码,以Flag{admin,password}形式提交(密码为6位);先使用lsadump指令看看python2vol.py-f/文件路径/文件hashdump最后一个是ad......
  • lovelymem梭哈solar内存取证---Alex4nd3r
    内存取证1请找到rdp连接的跳板地址flag{192.168.60.220}内存取证2请找到攻击者下载黑客工具的IP地址控制台信息flag{155.94.204.67}内存取证3攻击者获取的“FusionManager节点操作系统帐户(业务帐户)”的密码是什么flag{GalaxManager_2012}内存取证4请找到攻击......
  • PSRAM(Pseudo SRAM,伪静态随机存取存储器)与SRAM
    PSRAM(PseudoSRAM,伪静态随机存取存储器)与SRAM(静态随机存取存储器)存在多方面区别:###技术原理-**SRAM**:利用双稳态触发器(由多个晶体管组成)来存储数据。只要电源持续供电,触发器就能保持其存储的状态,不需要额外的刷新操作,数据可以随时被读取和写入。-**PSRAM**:本质上是一种特殊的D......