GaussDB(DWS)采用分布式shared-nothing集群架构,支持行列混合存储计算,集成高可用、高可靠、高安全、高可扩展、智能化技术栈。

Shared-nothing架构

GaussDB(DWS)各个数据库实例(DN)拥有自己的CPU、内存和存储空间,实例之间不共享系统资源。

基于Shared-nothing/MPP的对等并行计算模型可以充分利用CPU/IO/Mem等资源,获得极致的运算性能和线性的可扩展性,从而支持PB级数据规模。

分布式存储

GaussDB(DWS)采用水平分表的方式,将数据表格的元组按照一定的分布策略分散存储到多个节点。查询的时候可以通过查询条件过滤不必要的数据,快速定位到数据存储位置,从而极大提升数据库性能。

在水平分表的基础上,GaussDB(DWS)支持数据分区(Partition),即根据表的一列或者多列,将要插入表的记录分为不重叠的若干个范围,为每个范围创建一个分区,用来存储相应的数据。

表2-1描述了在不同场景下,基于时间分片的方式分区后带来的收益。

表2-1 分区收益

场景描述

收益

当表中访问率较高的行位于一个单独分区或少数几个分区时。

大幅减少搜索空间,从而提升访问性能。

当需要查询或更新一个分区的大部分记录时。

仅需要连续扫描对应分区,而非扫描整个表,因此可大幅提升性能。

当需要大量加载或者删除的记录位于一个单独分区或少数几个分区时。

可直接读取或删除对应分区,从而提升处理性能;同时由于避免大量零散的删除操作,可减少清理碎片工作量。

数据分区带来的好处如下:

  • 改善可管理性

利用分区,可以将表和索引划分为一些更小、更易管理的单元。这样,数据库管理员在进行数据管理时就能采取“分而治之”的方法。 有了分区,维护操作可以专门针对表的特定部分执行。

  • 可提升删除操作的性能

删除数据时可以删除整个分区,与分别删除每行相比,这种操作非常高效和快速。

  • 改善查询性能

通过限制要检查或操作的数据数量,分区可带来许多性能优势,包括:

­-分区剪枝:

分区剪枝(也称为分区消除)是CN在执行时过滤掉不需要扫描的分区,只对相关的分区进行扫描的技术。分区剪枝通常可以将查询性能提高若干数量级

­-智能化分区联接:

通过使用一种称为智能化分区联接的技术,分区还可以改善多表联接的性能。当将两个表联接在一起,并且至少其中一个表使用联接键进行分区时,可以应用智能化分区联接。智能化分区联接将一个大型联接分为多个较小的联接,这些较小的联接包含与联接的表“相同”的数据集。这里,“相同”定义为恰好包含联接的两端中相同的分区键值集,因此可以确保只有这些“相同”数据集的联接才会有效,而不必考虑其他数据集。

全并行计算

GaussDB(DWS)实现了一套高效能的分布式执行引擎,充分利用集群中各节点的资源,发挥并行计算的极致性能。

图2-1 GaussDB(DWS)的全并行计算

如图2-1,GaussDB(DWS)的全并行计算核心技术如下:

  • MPP节点并行

分布式执行框架,VPP用户态TCP协议,支持>1000服务器,万级CPU核并行计算。

  • SMP(Symmetric Multi-Processing)算子并行

采用多线程并行算法执行同一个SQL,充分利用多核CPU资源,支持众核(>64 cores),NUMA架构优化。

  • SIMD(Single Instruction Multiple Data)指令级并行

一个指令执行一批数据的操作,支持X86,ARM指令。

  • LLVM(Low Level Virtual Machine)动态编译

将热点函数预编译成机器码,减少SQL执行指令数,提升性能。

行列混合存储与向量化执行

GaussDB(DWS)实现了行存储和列存储两种存储引擎,用户可以根据应用场景在建表时选择合适的存储方式,如图2-2所示。

图 2-2 GaussDB(DWS)行列混合存储引擎

其中列存储引擎支持数据压缩,对于非活跃的早期数据可以通过压缩来减少空间占用,降低采购和运维成本。压缩方式支持Delta Value Encoding、Dictionary、RLE 、LZ4、ZLIB等压缩算法,且能够根据数据特征自适应的选择压缩算法,平均压缩比7:1。压缩数据可直接访问,对业务透明,极大缩短历史数据访问的准备时间。

GaussDB(DWS)的向量化执行引擎一次处理一批元组,极大提升处理效率。支持行列存混合处理,当查询数据同时包括行存表和列存表时,支持行列两种引擎的自动转换,达到性能的最优化。

主备从HA技术

传统的两副本策略(一主一备)的容错能力较差,节点发生故障后,为了服务可用性,一般都会选择让正常节点继续提供服务,在故障节点恢复前数据只有单副本运行。一旦正常主机再次发生故障,将造成数据丢失的严重后果。三副本策略可以避免这一问题,但带来了更多的存储成本开销。GaussDB(DWS)采用主备从高可用技术,使得集群在任意单点故障时仍保持两副本可用,相比传统三副本节约了三分之一的存储空间,但数据可靠性基本持平。

图2-3主备从复制原理示意图

如图2-3所示,GaussDB(DWS)引入备机和从备的概念,正常情况下主机和备机通过日志流复制和数据页流复制进行强同步,主机与从备仅保持连接并不发送日志和数据,因此从备不占用额外存储资源。当备机发生故障时,主机自动感知,将未完成同步的日志和数据发送给从备,并保持主从强同步。主备同步向主从同步的切换在内核底层HA实现,事务层并不感知,因此不会造成任何报错和不一致。

同理,当主机发生故障时,由集群管理感知并仲裁备机升主,升主后的备机连接从备进行主从强同步。因此,在一组DN内发生单点故障后,不会影响服务可用性,同时数据仍然有两份副本的可靠性保障。

在线扩容

GaussDB(DWS)提供最多达2048节点的扩展能力,通过加入新的节点,集群的存储容量和运算能力能够得到线性提升。

GaussDB(DWS)采用Node Group技术,支持多表并行扩容,扩容速度高达400G/小时/新增节点。其扩容过程如图2-4所示。

图2-4 扩容过程

GaussDB(DWS)在线扩容具有如下特点:

  • 扩容不中断业务。

扩容过程中支持数据持续入库、查询业务不中断。

  • 一致性Hash技术和多表并行扩容等技术,助力扩容性能提升。

采用一致性Hash技术使得重分布过程中需要迁移的数据量最小。

重分布过程中支持多表并行及用户自主选择表的重分布顺序。

支持扩容进度查询,实时监控扩容进度。

  • 随着节点数增加,集群性能线性增长。

在全并行分布式架构下,随着节点数的增加,集群的数据加载性能、业务处理性能和容量可线性扩展。

透明安全技术

GaussDB(DWS)支持对数据进行透明加密,加密解密的过程用户无感知。每个集群有一个CEK(集群秘钥),每个数据库采用单独配置的DEK(数据库加密密钥)加密保护,DEK使用CEK加密保护,保证秘钥安全。密钥通过Kerbores服务申请和加解密,加密算法通过配置项统一配置。目前支持AES、SM4算法,其中SM4算法在hi 1620以上版本芯片中支持硬件加速。

大数据中蕴藏巨大价值的同时,也带来了隐私信息保护方面的问题。GaussDB(DWS)支持客户以表的列为单元创建脱敏策略,客户可针对业务中的敏感数据进行策略创建,敏感数据的界定由客户结合自身业务场景识别。制定脱敏策略后,只有管理员和表对象的owner才能访问原始数据。同时,脱敏的数据可以参与实际运算及使用,仅在数据库服务最终返回结果时脱敏。

以图2-5为例,用户数据中每个人员的工资、email和手机号码均为敏感数据,包含了用户的隐私信息,如果明文显示,将会暴露用户的隐私,带来一系列问题。经过透明脱敏处理后,普通用户查看到的数据均被掩码显示,从而保护了用户的隐私。

图2-5 数据脱敏效果

数据脱敏的关键技术如下:

  • 策略可配置

客户可结合自身业务场景识别敏感数据并使用DDL在表的指定列创建脱敏策略。

  • 策略可扩展

内置数值、字符、时间类型脱敏函数,支持用户自定义脱敏函数。

  • 访问控制

制定脱敏策略后,只有管理员和表对象的owner才能访问原始数据。

  • 数据可用性

脱敏数据可以参与实际运算及使用,仅在最终返回结果时脱敏。

SQL自诊断

传统的SQL优化需要较多的前期工作收集信息,对优化人员的要求较高,尤其是分布式数据库,需要丰富的经验和深厚的知识才能够定位出问题SQL。如图2-6所示,GaussDB(DWS)在执行SQL的过程中能够智能化地分析发生的性能问题,以通俗易懂的方式记录和呈现给用户,实现自动化地诊断,帮助用户快速地识别和定位问题,方便性能调优。

图2-6 SQL自诊断技术原理

GaussDB(DWS) 数据仓库服务核心技术相关推荐

  1. 光大银行刘淼:基于华为云GaussDB(DWS) 数据仓库创新实践

    摘要:面向未来数据平台3.0要做架构减法,平台由N->1,华为云GaussDB(DWS)未来作为数据仓库唯一平台,数据链路实现从数据湖直接到华为云GaussDB(DWS)数据仓库. 日前,华为举 ...

  2. 基于GaussDB(DWS)的全文检索特性,了解一下?

    摘要:全文检索是在互联网场景下应用非常广泛的特性,搜索引擎.站内搜索.电商搜索等场景下都会使用到,GaussDB(DWS)同样也支持全文检索功能,是基于GIN索引实现的,下面给大家详细介绍一下Gaus ...

  3. 华为云发布 GaussDB(DWS) 实时数仓,技术创新释放行业数据价值

    8 月 31 日,在华为云 TechWave 大数据专题日上,华为云发布了 GaussDB(DWS)实时数仓,工商银行.广东移动.清华大学等分享了大数据技术创新及应用实践. 围绕数据全生命周期提供整体 ...

  4. 云图说|数据仓库服务 GaussDB(DWS) 的“千里眼、顺风耳”—数据库智能运维

    摘要:数据库智能运维(DMS)是GaussDB(DWS) 为客户数据库快速.稳定运行提供保驾护航的能力,对业务数据库所使用磁盘.网络.OS指标数据,集群运行关键性能指标进行收集.监控.分析.通过综合收 ...

  5. 华为云原生之数据仓库服务GaussDB(DWS)的深度使用与应用实践

    一.GaussDB(DWS)简介 ① 什么是 GaussDB(DWS)? 数据仓库服务 GaussDB(DWS) 是一种基于华为云基础架构和平台的在线数据处理数据库,提供即开即用.可扩展且完全托管的分 ...

  6. 【文末彩蛋】数据仓库服务 GaussDB(DWS)单点性能案例集锦

    摘要:介绍了13种GaussDB(DWS)单点性能的案例. 一.数据倾斜 1.1 问题描述 某局点SQL执行慢,涉及大表的SQL执行不出来结果. 1.2 分析过程 数据倾斜在很多方面都会有体现: 1) ...

  7. 华为云原生数据仓库GaussDB(DWS)深度技术解读:融、快、大、稳、易

    摘要:云原生数据仓库GaussDB(DWS)架构师应邀为大家解读数仓深度技术. "云原生"在2020年成为备受瞩目的热词,云原生在确保企业数字化转型中资源快速供给.按需使用的同时, ...

  8. 从数据仓库双集群系统模式探讨,看GaussDB(DWS)的容灾设计

    摘要:本文主要是探讨OLAP关系型数据库框架的数据仓库平台如何设计双集群系统,即增强系统高可用的保障水准,然后讨论一下GaussDB(DWS)的容灾应该如何设计. 当前社会.企业运行当中,大数据分析. ...

  9. 云小课|大数据时代的隐私利器-GaussDB(DWS)数据脱敏

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要: 数据仓库服务Ga ...

最新文章

  1. 计算机控制系统康波答案,计算机控制系统(康波)第4章部分参考答案[1]
  2. spark 朴素贝叶斯
  3. 互联网1分钟 |1101
  4. [vue] 移动端ui你用的是哪个ui库?有遇到过什么问题吗?
  5. matlab 子图title的位置_matlab 画图基本介绍
  6. 计算机基础.doc,大学生计算机基础.doc
  7. python变量详解_python基础教程-03-变量详解
  8. selenium常用方法
  9. 单机手机消消乐php游戏源码,JS叠房子消消乐小游戏代码
  10. C++ wchar_t转char
  11. paip.提升用户体验----c++ 源码字体自定义制造总结
  12. PRINCE2认证之项目四大管理步骤
  13. 如何通过vin及发动机号查询车辆出险、理赔、事故记录
  14. 2021最新文本综述:从浅层到深度学习(附PDF下载)
  15. 计算机老师一句话,写给老师的一句话短句 感谢老师的简单一句话
  16. linux系统怎么打开菜单,Linux如何编辑开始菜单
  17. 4G LTE浪潮何时席卷全球?
  18. Android手机模拟器旋转快捷键
  19. 20220728使用电脑上的蓝牙和汇承科技的蓝牙模块HC-05配对蓝牙串口传输
  20. 对曲面的积分求椭圆的面积_此题是关于数学考研的曲面积分题∫∫(xdydz+ydzdx+zdxdy)/(x2+y2+z2)3/2,曲面是上半椭圆球面...

热门文章

  1. Spring+Vue房屋租赁租房系统
  2. 坑爹的vcruntime140d.dll
  3. 老龄化社会,“免验”的验证码更重要
  4. 物联网卡在物联网生态中扮演着什么样的角色?
  5. 使用seq2seq预测当天的股票价格
  6. 如何用mysql将excel中多个逗号分隔的字符变成多行展示的问题
  7. 创新、发展、升级,5G时代引领通信行业转型
  8. opencv1.0环境配置
  9. 5种很牛的两位数乘法速算方法
  10. Dropzone单文件上传、多文件上传、文件夹上传,springmvc接收,上传至Minio的一系列问题