GaussDB实时分析组件

news/2025/1/17 8:59:59/文章来源:https://www.cnblogs.com/xiaoxu0211/p/18676115

云原生数据库以OLTP为主,同时也支持基于OLTP数据的OLAP需求,如每日报表。在云原生数据库中,DBA可以选择为这部分表创建列存索引。创建完列存索引之后,执行器在做顺序扫描的时候,会自动选择列存索引进行数据的读取,实现快速扫描计算的能力。

云原生数据库以行存为基础,数据的增删改都先以行存的形式落到数据库中。事务、xlog等机制保障了行存的ACID特性。行存采用Inplace-update引擎,一个Tuple一旦被插入到表中,位置基本不会改变。每个Tuple可以用它的物理位置(文件页号+页内偏移,称为RowID),作为唯一标识。事务的多版本在回滚段中,可以根据RowID直接访问。

云原生数据库中的列存索引方案如下图所示:列存是根据行存构建的一个read-only的副本,每次对行存的更新操作会在元数据区域(In Memory Delta Unit,IMDU)增加一条RowID记录。列存扫描的时候会查看元数据区域,确定哪些Tuple已经失效,再去行存中根据RowID读相应的数据。后台线程会周期性地更新列存,回收元数据。如果列存索引和更新操作不在同一台机器上,使用batch模式,即把一个事务中产生的所有失效信息,统一打包到一个RPC请求中,发送给列存索引所在的实例上,从而减少对OLTP请求的影响。行存的block为8KB,列存需要较多的数据量才能实现更好的压缩、向量化操作等优化。所以一个IMCU对应多个行存的block,目前暂定为1024个,这样一个1024个block称为一个Super Block。

在这里插入图片描述
为了支持列存大小超过内存容量的场景,列存索引支持从内存中置换到磁盘上。但是列存本身在故障情况下并不能保证自身的一致性,故障重启之后列存需要根据行存的内容重新构建。所以这里的磁盘对于列存来说,是内存的延伸,用来缓存额外的数据。

因为DU容量小,且经常被修改,所以可以常驻内存。列存索引和行存完全是解耦开的。部署形态上,列存索引既可以与行存在一个实例中,节约物理资源;也可以与行存在不同的实例中,避免OLAP请求对OLTP请求产生影响。两种部署形态分别如下图所示:

在这里插入图片描述

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

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

相关文章

GaussDB关键技术方案_通信组件

GaussDB关键技术方案_通信组件 云原生数据库采用shared disk架构,各个计算节点对等,计算节点之间通过页面交换实现缓存数据的一致性,为了提高页面传递的效率,需要利用RDMA或UB单边读写的能力;云原生数据库为了管理动态资源,需要对动态资源的owner分配进行加锁,分布式锁管…

arch linux使用qemu创建和使用一个win7镜像

安装qemu sudo pacman -S qemu 创建虚拟硬盘 qemu-img create -f qcow2 disk.img 10G (其中10G表示硬盘大小。) 启动虚拟机 qemu-system-x86_64 -enable-kvm -m 2048 -hda disk.img -cdrom your_iso.iso (-enable-kvm启用KVM加速,-m 2048设置内存大小为2048MB,your_iso.is…

一款基于 .NET8 + Vue 开源、免费、跨平台的企业级在线考试系统

前言 今天大姚给大家分享一款基于 .NET8 + Vue 开源、免费(AGPL-3.0开源协议)、跨平台的企业级在线考试系统:XBLMS。 项目介绍 XBLMS是一款基于 .NET8 + Vue 开源、免费(AGPL-3.0开源协议)、跨平台的企业级在线考试系统,系统支持多种数据库系统,包括人大金仓、达梦、Oce…

Typora Markdown编辑器

Typora Markdown编辑器 Typora for Mac是一款功能丰富、界面简洁优雅的Markdown编辑器,它既简单易用,又具有丰富的功能。无论您是写作爱好者还是专业人士,Typora都能帮助您提高写作效率,制作出清晰、专业的文档。

在Mac上快速运行Windows软件,玩黑神话悟空、办公-CrossOver

CrossOver 在Mac上快速运行Windows软件-安装 CrossOver 可以在 Mac 上运行成千上万的 Windows 程序。从办公软件、实用工具、游戏到设计软件,只需在 Mac 的 dock 轻按一下便可运行。您可以 Windows 程序和 Mac 程序之间随意切换,而这一切无需重启、无需虚拟机,也无需购买 Wi…

MAC|win——NTFS和APFS文件系统

问题:2T的Windows机械硬盘+读写器+转接头,连接到Mac,能读取机械硬盘里的内容,但是,无法写入(新建目录、写入文件)。 答案: NTFS(New Technology File System)和APFS(Apple File System)分别是微软和苹果推出的文件系统,它们在设计理念、性能、兼容性和应用场景上各…

Synfig Studio 1.5 (Linux, macOS, Windows) - 开源 2D 动画软件

Synfig Studio 1.5 (Linux, macOS, Windows) - 开源 2D 动画软件Synfig Studio 1.5 (Linux, macOS, Windows) - 开源 2D 动画软件 Open-source 2D Animation Software 请访问原文链接:https://sysin.org/blog/synfig-studio/ 查看最新版。原创作品,转载请保留出处。 作者主页…

LibreOffice 24.8 (Linux, macOS, Windows) - 自由免费的全能办公套件

LibreOffice 24.8 (Linux, macOS, Windows) - 自由免费的全能办公套件LibreOffice 24.8 (Linux, macOS, Windows) - 自由免费的全能办公套件 professional FREE and open source painting program 请访问原文链接:https://sysin.org/blog/libreoffice/ 查看最新版。原创作品,…

UWP 部署失败 DEP0700 0x80073CF0 错误 0x800701C0 从位置 AppxManifest.xml 中打开文件失败

具体的错误内容如下 DEP0700: 应用程序注册失败。[0x80073CF0] 错误 0x800701C0: 从位置 AppxManifest.xml 中打开文件失败,错误为: 无法遍历该路径,因为它包含不受信任的装入点。 对应的英文版错误大概内容如下 DEP0700: Registration of the app failed. [0x80073CF0] erro…

【ChatGPT】Mr. Ranedeer 个性化学习定制

Mr. Ranedeer 是ChatGPT 的一个插件,它可以用来定制任何学习路线,并且在你学习的过程中,对你不了解或者有错误i的地方进行改正并加以练习。 你的学习风格、沟通方式、沟通类型、语气和推理框架,Mr. Ranedeer 都能为你做到全方面私人定制。使用的过程中,非氪金玩家尽量使用…

似乎没有提供具体文章内容或者特定样式段落数量的要求以下是一个基本示例这里创造一个简单的标题来的文章使…………似乎没有提供具体文章内容或者特定样式、段落数量的要求,以下是一个基本示例。这里创造一个简单的标题《来》的文章,使用 ` ` 标记创建标题,然后在不同 `p` …

举例说明HTML5的Canvas元素有什么用途?

HTML5 的 <canvas> 元素是一个非常强大的工具,它提供了一个画布,允许开发者使用 JavaScript 来绘制图形、动画,甚至创建复杂的游戏。以下是一些 <canvas> 元素的主要用途:图形绘制:使用 <canvas>,你可以绘制各种基本图形,如线条、矩形、圆形、多边形等…