【云原生进阶之数据库技术】第四章-GaussDB-1-简介

1 分布式数据库简述

1.1 分布式数据库的架构演进

        随着数据量的爆发增长,传统集中式数据库面临极大的挑战:

  • 性能瓶颈:数据规模爆发增长,传统集中式数据库难以维持数据量大时的性能,而分布式数据库的性能可以水平扩展;
  • 缺失混合负载能力:数据量爆发增长带来对数据分析(OLAP)需求的增长。企业需要使用两套系统分别支撑事务交易(OLTP)和数据分析(OLAP),不仅造成了大量的数据冗余,同时增加了系统的复杂度和运维难度。而分布式数据库的混合负载能力可大幅度提升分析的时效性,减少数据冗余,并大大提高灵活性;
  • 高昂成本:集中式数据库水平扩展难,可靠性需要付出高昂的成本。而分布式数据库的架构支持灵活扩展,实现高可用方案的成本较低。

        分布式数据库与单机数据库的不同在于其可以将核心功能扩展到多台节点,甚至多个地域,包括事务管理、数据存储和数据查询等。从实现方式上看,分布式数据库主要有3种不同的技术路线:

1. 分布式中间件 + 单机数据库

        这条路线本质上是分布式系统由两部分组成:

a) 上层是分布式中间件:维护一套统一的分片规则,提供SQL 解析,请求转发和结果合并的能力。

b) 底层单机数据库:开源MySQL或PG单机数据库,提供数据存储和执行能力。

这种方式主要使用比较成熟的内核来解决扩展性的问题,所以生态友好、成本较低,也比较容易实现。

        不过,缺点也显而易见。比如功能降级、在全局事务能力和高可用等方面存在短板,需要有针对性增强,导致整个方案的复杂度高、机器冗余多。最重要的是,因为使用的是开源产品的内核,数据库会始终受制于开源代码修改、专利、发行方式等很多方面的风险,这种形式显然无法满足当前国内金融、政企客户的需求。

2. 基于分布式存储的分布式数据库。

        这种形态基于分布式存储,再叠加数据库能力。大部分公有云数据库采用这条技术路线。华为云GaussDB(for MySQL)就是这种形态的典型代表。

        这条路线有限地解决了扩展性问题,数据一致性主要依赖分布式存储引擎。上层的计算节点无状态,共享存储提供跨节点读写。这种架构充分利用分布式存储提供的高级特性,更容易形成技术竞争力。但是这种架构的扩展性有限,尤其是写节点。另外,这种架构对底座(分布式存储)有比较重的依赖,线下实现的成本高。

3. 原生分布式数据库。

        这种形态是基于分布式数据库理论实现的分布式数据库。这条路线是根据分布式一致性协议做底层设计。原生分布式数据库将分布式存储、事务和计算结合在一起,数据由系统自动打散并存储多个副本,通过一致性协议保证多个副本和事务的一致性。

        这种形态更容易在数据库本身所擅长的领域发挥优势,比如说性能、复杂SQL处理能力、企业级能力。集群的扩展和收缩对应用透明,按需扩展,支持大规模部署限制;数据一致性由事务层一致性协议保护,安全性更高;灵活部署,多活架构,对硬件的依赖低,可以通过普通服务器实现集群和高可用。

        因为金融政企客户在使用分布式技术之前,往往已经有分库分表、使用分布式中间件产品的经验,所以对原生分布式架构的认可度更高,学习成本也相对较低,因此,这种形态也是国内当前被采用较多的一种。

        华为云GaussDB分布式数据库就是这种形态的典型代表。GaussDB基于华为在数据库领域20多年的战略投入,已经在金融行业积累了非常丰富的实践经验,是企业数字化转型、核心数据上云、分布式改造的信赖之选。

2 GaussDB发展历史

        本节首先概要介绍华为自研数据库的早期发展历史及GaussDB的诞生和发展,然后介绍华为高斯数据库三个系列产品: GMDB内存数据库、GaussDB 100 OLTP数据库和GaussDB 200 OLAP数据库的发展历史。

2.1 概述

        华为公司研究数据库是从满足生产实践出发,从研发用于满足局限场景的较简单架构数据库产品开始,逐步向通用性、可规模商用的数据库产品演进,到2019年终于正式发布面向企业客户场景的通用分布式数据库产品,其发展历史如下图所示。

图 GaussDB发展历程图

2.1.1 华为自研数据库的早期发展阶段

        华为公司研究和开发数据库技术及产品,最早可追溯到2001年。当时,华为公司中央研究院Dopra团队为了支撑华为所生产的电信产品(交换机、路由器等),启动了内存数据存储组件DopraDB的研发,从此开启了华为自研数据库的历程。DopraDB后来随着业务和组织的切换,成为华为高斯数据库团队的GMDB V1系列产品。

        2005年,华为的通信产品需要一个以内存处理为中心的数据库,评估了当时最高性能的内存数据库软件,发现其性能和特性无法满足业务诉求,便启动了SMDB(Simple Memory DataBase)的开发。

        2008年,华为核心网产品线需要在产品中使用一款轻量级、小型化的磁盘数据库,于是华为基于PostgreSQL 开源数据库开发ProtonDB,这是华为与开源数据PostgreSQL数据库的第一次亲密接触。

2.1.2 GaussDB的诞生和发展阶段

        2011年“数字洪水”即将到来,华为铸造“方舟”应对,组建了2012实验室。华为公司认为在数字洪水时代,ICT(Information and Communications Technology,信息和通信技术)软件技术栈中数据库是不可缺少的关键技术,因此将原来分散在各个产品线的数据库团队及业务重新组合,在2012实验室中央软件院下成立了高斯部,负责华为公司数据库产品和技术的研发。高斯部得名于纪念大数学家高斯(Gauss)。

        高斯部的数据库产品研发历史按照场景和产品特点可分为三个系列:

  • GMDB(内存数据库);
  • GaussDB 100 OLTP数据库;
  • GaussDB 200 OLAP数据库。

2.1.3 数据库产业化阶段

        随着华为在2019年对业界正式发布高斯数据库,华为自研数据库进入了第三阶段,即数据库产业化阶段。华为高斯数据库后续的规划主要围绕如下方面展开。

  1. 数据库生态

        作为一款通用性、规模商用的数据库产品,生态是重中之重,华为将围绕两个方向来解决数据库生态问题。

        技术上采取“云化+自动化”方案。通过数据库运行基础设施的云化将DBA(数据库管理员)和运维人员的日常工作自动化,解决如补丁、升级、故障检测及修复等工作带来的开销。传统数据库随着业务负载变化越跑越慢的问题,依赖DBA 监控和优化来解决。而通过在数据库内部引入AI算法,实现免DBA自动数据优化,将进一步降低对人工的依赖。

        商业上开展与数据库周边生态伙伴的对接与认证,解决开发者/DBA 数据难获取、应用难对接等生态难题,减少企业客户使用华为高斯数据库面临的后顾之忧。

        数据库产业生态全景如下图所示:

图 数据库产业生态全景

2) 技术竞争力

        数据库作为“软件皇冠上的明珠”,其技术含量十分高,因此要想在市场上击败竞争对手,必须持之以恒地在关键技术上进行大规模投资。华为高斯数据库将在如下方向构筑竞争力。

  1. 分布式。构筑世界领先的分布式事务能力和跨DC(Data Center,数据中心)高可用能力,解决传统关系数据库的扩展性、可用性不足等瓶颈。
  2. 云化架构。未来10年云数据库将成为市场主流,华为高斯数据库需要构筑满足公有云、私有云和混合云场景的云化架构,满足各种企业场景的云数据库诉求。
  3. 混合负载。过去由于数据库性能不足,架构缺乏隔离性,一个数据库实例难以在满足SLA(Service Level Agreement,服务水平协议)前提下,同时支撑不同业务负载(交易型、分析型)的运行。随着硬件性能的提升和新数据架构理论的创新,在一套数据库中运行多种负载已经成为行业趋势,这不但简化了系统部署、消除了数据复制或搬迁带来的数据一致性问题,同时也提升了系统的可靠性和实时性。
  4. 多模异构。传统数据库围绕关系数据进行管理,随着移动互联网、IoT(Internet of Things,物联网)、人工智能的普及应用,新类型数据(时序、图、图像等)成为接下来十年数据库系统主要的管理类型,这需要支持多模数据管理的新型数据库。通用处理器随着晶体管制程逐步走到极限,而异构加速器(FPGA/GPU/NPU等)大放异彩,在AI(人工智能)等场景大量使用,如何通过改造优化数据库架构,实现充分利用“通用处理器+异构加速器”算力优势,是高斯数据库重点发展方向之一。
  5. AI+DB。2010年起随着大数据量和大计算量的普及,AI算法精度和适用范围足以支撑在特定场景(如数据库参数调优、SQL执行优化等)下解决问题; 另一方面,随着深度神经网络的普及化,对过去无法有效处理的图像、语音、文本等非结构化数据,已经能很好地从中抽取结构化信息,如何将其用在数据库中解决非结构化数据的高效管理也成为当前研究的热点。

2.2 高斯数据库产品研发历史

2.2.1 GMDB内存数据库历史

        2012年,华为高斯部成立后,结合电信软件公司在SMDB长期使用中面临的“开发效率低、数据一致性弱”等关键痛点,立项开发了高斯部成立后的第一款产品:GMDB V2系列。GMDB V2与GMDB V1最大差别在于,它是一款支持SQL/关系模型和ACID能力的全功能内存数据库。GMDB V2最终于2012年起在融合计费系统中成功商用,到2018年,基于GMDB V2内存数据库产品的融合计费系统所支撑的用户数超20亿。

        2016年起,华为高斯部面向核心网产品线NFV(Network Function Virtualization,网络功能虚拟化)场景,启动分布式内存数据库产品GMDB V3系列的研发。2018年GMDB在NFV 首次商用,并在电信行业的NFV 场景第一个实现了灰度升级(意指不停止业务实现服务在线升级)、在线补丁升级等关键能力。

2.2.2 GaussDB 100 OLTP数据库历史

        2012年起,华为高斯部启动了GaussDB 100的研究工作。GaussDB 100早期版本V1系列是基于PostgreSQL V8发展而来的,主要是面向华为公司内各产品线在操作管理类系统中所使用的OLTP类型磁盘数据库场景。该系列产品在华为公司大量商用。

        随着互联网、移动互联网业务的兴起,网络数据量和业务量均呈现爆炸式增长,传统集中式数据库已经无法满足大容量、高扩展的诉求。2016年起,华为高斯部启动分布式OLTP数据库的研发工作,分布式OLTP数据库具备分布式事务强一致、高性能、高扩展、高可用等特点,可以满足金融、电信、能源等主流行业核心业务系统的要求。目前GaussDB 分布式OLTP数据库已针对金融、政府等高端客户商用上线。

2.2.3 GaussDB 200 OLAP数据库历史

        2012年,华为高斯部启动了PteroDB(羽龙)项目,孵化面向企业数据仓库场景的MPP架构OLAP数据库。2014年华为公司成功击败竞争对手进入工商银行总行下一代EDW(Enterprise Data Warehouse,企业数据仓库)联合创新项目。经过工商银行2年孵化,GaussDB 200于2016年开始进入商用,逐步替换了友商数据仓库一体机产品。2019年一季度,工商银行总行最后一台友商数据仓库一体机下线、业务负载全面由GaussDB 200承载。

        2019年5月15日,华为公司正式向业界宣布GaussDB品牌,揭开了GaussDB产业化的帷幕。

3 GaussDB技术特性

3.1 原生分布式数据库的挑战和关键技术

        原生分布式数据库基于分布式数据库理论,是一款对于用户应用透明的分布式数据库。不过,实现分布式关系数据库有几个关键挑战:

第一,安全可信。

        分布式、云化环境的复杂性增加了安全风险,比如数据泄露和丢失的风险增加,身份认证和访问控制以及数据传输、存储安全的控制难度提升。

第二,事务系统的正确性及性能。

        分布式数据库中经常有一次操作涉及多台数据库的场景,需要一种方案来维护整个数据库集群事务的ACID特性,避免出现部分成功部分失败等无法接受的情况。

        另外,在大并发场景下事务管理器容易成为性能的单点瓶颈,比如获取事务唯一标识、全局快照、频繁交互导致大量的网络通信和锁等待等。

第三,分布式查询能力。

        在分布式系统中,需要在最短时间内获取准确的查询结果,提升查询性能。

第四,高可用能力。

        分布式数据库需要确保异常场景下(如:节点硬件故障或者Bug宕机等)数据库系统的连续可用。

分布式数据库的挑战和关键技术

3.2 分布式数据库技术的发展方向

        基于新需求、新场景、以及全池化架构、新网络和大模型等新技术的出现,我们认为分布式数据库技术主要向以下六个方向发展。

分布式数据库技术的发展方向

  • 高可用能力的持续提升

        高可用是目前大多数金融政企客户首要关注的问题,特别是对于多地、多中心容灾有要求的客户。针对这样的客户,华为云GaussDB已经提供了多种解决方案,如支持同城双活、异地容灾、两地三中心的解决方案,支持同城双活强同步的解决方案,支持异步数据复制、多地多活的高可用解决方案。面向未来,分布式数据库将具备真正全球部署能力的多活架构。

  • 软硬件深度协同

        硬件和软件两者之间相辅相成,互相促进。利用新型硬件(GPU、FPGA、高速网络)和华为在芯片、服务器、存储、网络、操作系统、数据库的全栈软硬件能力,提升性能和高可用能力。

        首先,数据库的持久化逻辑,深度整合到了计算与存储分离的技术底座中,分布式数据库可以获得在容量、弹性、扩展性方面的巨大提升,同时能提供给客户一致的体验。

        其次,从计算节点卸载下推到存储中,特别是对一些复杂的查询处理,同时叠加并行处理能力,使得这些计算逻辑能充分利用下面整个存储池的能力,同时最关键的是能做到对业务透明。

        最后,就是高性能。高性能的实现除了I/O聚合之外,单条交易的本质就是网络的时延和处理的时延。所以,网络对于分布式数据库的时延(性能)影响是巨大的。

        总而言之,软硬协同带给我们的不仅仅是性能扩展方面的优势,更是可以通过软硬协同打造真正企业级的可靠性。

  • 企业级混合负载 (HTAP)

        近年来企业级混合负载(HTAP)的兴起,旨在打破事务处理(TP)和分析(AP)之间的壁垒。分布式数据库都应具备混合负载能力,即在支持高并发、事务性请求的同时,对分析型的复杂查询提供了良好的支持,从而大幅度降低成本,同时提高企业决策的效率。

HTAP架构的核心技术:

        第一,透明路由。通过自动选择行存引擎、列存引擎以及行列组合,提供查询的准确性和实时性,增加客户的易用性,提升HTAP产品的商用价值。

        第二,性能提升。TP要求的是低时延、高吞吐,而AP要求的是复杂查询的能力。常规执行优化技术包括并行执行、编译执行、向量化执行等,在这些技术的基础上进一步加速复杂查询,支撑企业级混合负载。

        第三,数据新鲜度。保证数据高新鲜度、高性能,保证HTAP架构能够具备更多应对用户的能力。

        第四,资源隔离。用户对TP性能要求比较高,在引入实时AP的同时,不能影响TP的能力和性能,需要在资源隔离、数据新鲜度以及性能的提升方面做好权衡。

  • 云原生多主

        单一架构其实并不能解决今天行业碰到的所有问题,但云原生多主架构可以帮助解决两类问题:

  1. 第一个,是高可用的问题,希望能基于多主架构,解决切换时业务中断的问题。
  2. 第二个,是扩展性的问题,基于多主架构,融合软硬协同的进展,真正能在计算节点以下,持续提升产品的性能和弹性。
  • 数据安全可信

        当今世界,每个国家、组织和个人都在关注安全、合规和隐私的问题,几年前数据无保护随意获取并使用的便利不再,这也促进了技术的进步和落地。未来,全行业都会面临越来越严格的对于可信安全方面的要求。

        全密态是华为云数据库为了提升隐私保护能力研制的一项关键技术,全密态支持数据在整个计算过程中同样是以密文形式存在,实现了让整个敏感数据在全生命周期当中都得到保护。因此,无论数据处于何种状态,攻击者都无法获取到有效信息,从而保障了企业数据全生命周期的隐私安全。

  • AI-Native

        机器学习已被广泛用于优化数据管理问题,如数据清理、数据分析、查询重写、数据库诊断等。然而,传统的机器学习算法无法解决泛化和推理问题。幸运的是,大模型(LLM)可以帮助解决这些限制,为智能化数据管理提供了很好的机会。

        借助AI/LLM,未来分布式数据库将朝着全流程、全链路、高效易用的智能化数据库的方向发展,在数据库咨询、开发、运维等关键阶段,构建相应的自动化能力:

第一,咨询阶段,提供专家式辅助,制定精细化方案。

  • HLD助手,结合专家经验,自动生成数据库HLD;
  • DB知识库,通过积累运维工单、答疑、文档手册等,形成数据库行业知识库;
  • 问答助手,通过提供ChatBot,实现交互式运维。

第二,开发阶段,提供开发辅助,提升SQL开发效率。

  • 通过构建NL2SQL转换能力,让自然语言转换为SQL语句;
  • 同时,增强的SQL转换能力提升异构数据库间的SQL语句转换自动化率。

第三,运维阶段,实现预测性维护,提升系统可靠性。

  • 智能巡检,可以构筑Schema/SQL、中间件/告警等全链路可观测可跟踪能力;
  • 智能故障处理,通过全链路感知编排,提供精准分析,快速定位故障并给出建议;
  • SQL质量提升能力,可以快速找出问题SQL,诊断根因,提供全局分析。

        综上,分布式数据库性能卓越,凭借高可用、高可扩展性、高性价比等优势,已经被对数据库要求最严苛的金融行业所认可,并逐渐被应用在更广阔的领域。不过,从总体发展状态来看,目前还处于早期,但发展方向明朗,上升空间很大。

3.3 GaussDB能力综述

        GaussDB是深度融合华为在数据库领域多年的经验,结合企业级场景需求,推出的新一代企业级分布式数据库,支持集中式和分布式两种部署形态。它面向金融互联网交易和政企OA/办公场景,具有安全可靠、超高性能、简单易用等优势。

3.3.1 GaussDB部署架构

        GaussDB定位为企业级云分布式数据库,架构上着重构筑传统数据库的企业级能力和互联网分布式数据库的高扩展和高可用能力。

        对比传统形态,GaussDB能够获得:

  • 高性能:支持分布式事务强一致性,同时32节点下能够达到1200万tpmC的性能实测指标;
  • 高可用:支持同城跨AZ多活容灾,两地三中心金融级部署场景;
  • 高拓展:当前支持最大256节点的在线扩容,同时保障客户拥有卓越的性能线性增长,打破传统DIY架构的性能天花板;
  • 易运维:高度支持HTAP混合负载场景,极大的减少了业务改造成本,同时基于云平台获在线监控,运维,升级等便利的能力。

        GaussDB在华为云上拥有两种部署形态:集中式和分布式,分别面向企业核心交易和未来海量事务型场景,打造差异化竞争力。

3.3.1.1 集中式部署

        集中式部署又包括单机和主备两种类型。

        以主备为例,支持1+2(最大保护)主备,基于数据库日志复制的热备,在单机性能可满足需求的情况下,提供高可用。

        其中,1+1(最大可用)指的是,数据会同步写往备机。但如果出现网络等影响,无法完成同步操作,会转为异步。后续网络恢复,会自动追上。在数据不同步期间,切换会有数据丢失。

        1+2(最大保护)则意味着数据会同步写往备机,且要求必须有一个确认,才向客户端返回。可靠性高。

        集中式版本拥有开源生态,用户可以通过开源网站直接下载,作为国内唯一开源数据库,也是华为开源、开放、不LOCKIN单一厂商的最佳证明。

3.3.1.2 分布式部署

        分布式部署方面,数据按shard划分,读写负载准线性扩展,满足大规模业务量场景,支持两地三中心高可用部署。另外,分布式版本承载华为云自研分布式组件体系,是传统企业拥抱互联网,面向未来海量事务型场景挑战的有力保障。

        下面是分布式架构中的一些关键角色:

CM(S)

集群管理模块(Cluster Manager)。管理和监控分布式系统中各个功能单元和物理资源的运行情况,确保整个系统的稳定运行。

GTM

全局事务管理器(Global Transaction Manager),负责生成和维护全局事务ID、事务快照、时间戳等全局唯一的信息。

CN

协调节点(Coordinator Node)。负责接收来自应用的访问请求,并向客户端返回执行结果;负责分解任务,并调度任务分片在各DN上并行执行。

DN

数据节点(Datanode)。负责存储业务数据(支持行存、列存、混合存储)、执行数据查询任务以及向CN返回执行结果。

Storage

服务器的存储资源,持久化存储数据。

        分布式架构又可以分为独立部署&混合部署。

        混合部署方案适合通用客户,其方案包括:1、各角色3副本,数据3副本部署;2、各角色进程合一部署,对外只体现数据库节点;

        这样部署的优势是组网简洁明了,交付界面高效;起点配置要求低,适配场景比较通用;和未来的技术演进方向匹配。

        另一个独立部署方案适合高端客户,它的方案包括:1、各角色3副本,数据3副本部署;2、关键角色进程分开部署,对外体现CMS、GTM、CN、DN主、DN备。独立部署方案下,用户可以根据业务负载确定CN和DN的最佳比例,达成最高效的组网。

3.3.1.3 分布式部署案例

        GaussDB支持多种高可用部署形态,保证系统的稳定性和可靠性。下面我们看两个典型案例。

1)两地三中心。

        同城有两个双活数据中心,两个数据中心同时承载业务,异地一个容灾数据中心;同城可实现节点级、AZ级、数据中心级等故障高可用,同时提供跨城的异地容灾能力。

GaussDB两地三中心高可用部署

2)同城3AZ高可用+异地容灾。

        同城采用逻辑3AZ、3副本部署,异地采用单AZ、3副本部署,提供了同城抵御节点级故障和AZ级故障的能力,跨城的Region级容灾的能力。

GaussDB同城3AZ高可用+异地容灾

3.3.2 解读GaussDB分布式关键特性

        GaussDB分布式数据库研发了一系列高性能、高可用、安全特性迎接上述四大挑战,下面挑选几个有代表性的特性加以说明。

3.3.2.1 全密态技术

        传统的加密方式在服务端加密,密钥管理员是可以获取的。而全密态数据库的密钥掌握在用户自己手上,数据库管理员无法获取,加解密过程仅在客户侧完成,数据在存储、传输、查询整个生命周期过程中均以密文形态存在,避免管理员恶意获取密钥解密数据。

全密态数据库

3.3.2.2 分布式事务GTM-Lite

        如下图所示,GaussDB没有采用传统的事务列表的管理方式,而是提供了一个CSN(提交系列号),通过对比CSN的大小来实现事务可见性判断。

GTM-Lite技术示意

        当事务开始时,根据事务隔离级别的不同,从GTM-Lite获取一个CSN值,作为这个事务的查询快照点(如果是可重复读,只需要在事务开始时获取一次CSN值,如果是读已提交,每次SELECT时都需要重新取一次CSN值)。

        当事务提交时,向GTM-Lite申请一个新的CSN值,作为这个事务提交CSN值,并记录到事务提交记录中。

        GTM-Lite技术通过CSN提交序列号进行可见性判断,无需耗费大量计算资源来遍历列表;无锁化原子操作提供CSN序列号,无需锁等待;节点间事务交互仅需要一个CSN,网络开销跟事务规模无关。在保证事务全局强一致的同时,提供高性能的事务处理能力,避免了单GTM的性能瓶颈。

3.3.2.3 分布式查询优化
3.3.2.3.1 分布式执行

        GaussDB是如何处理分布式数据库集群中的业务应用SQL的呢?

  1. 业务应用的SQL会下发给CN节点;
  2. CN利用数据库的优化器生成分布式的执行计划,每个DN会按照执行计划的要求处理数据;
  3. 数据基于一致性Hash算法分布在每个DN,因此DN在处理数据的过程中,可能需要从其他DN获取数据,GaussDB提供三种stream流(广播流broadcast、聚合流gather和重分布流redistribute)实现数据在DN间的流动;
  4. DN将结果集返回给CN进行汇总;
  5. CN将汇总的结果返回给业务应用。

分布式查询示意图

        让我们展开看一下节点间的数据交换。比如某条SQL的执行逻辑如下图所示:

SQL执行逻辑图

        以两个DN为例, 在执行过程中,DN会按照redistribute键将数据发送到对应的节点。

        Redistribute算子接收到C/D两表join的数据之后,根据重分布键计算将数据发给DN1还是DN2,Redistribute Collector收集到重分布之后的数据之后发给上层的Join算子再做Join计算。

CN、DN间的数据流动图

        另外,GaussDB的优化器会根据统计信息选取针对当前SQL性能最优的Stream流算子完成CN、DN间的数据流动。

3.3.2.3.2 全并行架构

        GaussDB采用全并行架构,从MPP节点并行、SMP线程并行、到SIMD指令并行,到LLVM CodeGen技术,全面挖掘系统计算资源的潜力,提升查询性能。

3.3.2.4 GaussDB重做日志

        重做日志在如下场景可以发挥作用,提升系统的可用性

  1. 当数据库发生故障,如宕机,可以通过重做日志文件恢复数据。
  2. HA架构下,主备通过重做日志文件进行数据同步。
  3. 备份恢复时,通过归档重做日志文件实现PITR。

        GaussDB使用WAL (Write Ahead Log) 机制实现重做日志,在提升可用性的同时兼顾性能,即在数据修改时遵循 no-force-at-commit 策略,在提交时并不强制写。为了保证数据在数据库发生故障时可以恢复,通过Redo 机制,用连续的、顺序的日志条目的写出将随机的、分散的数据块的写出推延,这个推延使得数据的写出可以获得批量效应的性能提升。

3.3.2.5 基于NUMA-Aware实现高性能事务处理

        基于鲲鹏CPU的NUMA-Aware数据库架构,性能更强。

3.3.2.6 集群HA,多层级冗余实现系统无单点故障

        GaussDB通过硬件冗余、实例冗余、数据冗余,实现整个系统无单点故障,高可用。其中硬件高可用包括存储磁盘RAID冗余、网络双交换机冗余、多网卡冗余、主机UPS电源保护。软件高可用则包括协调节点CN实例多活冗余、数据节点/全局事务管理/ 集群管理器实例Active-Standby冗余。除此之外,还支持软硬件故障检测,最终进一步保障数据库的高可用。

3.3.2.7 跨AZ/Region容灾技术带来高可用

        集群内HA,数据不丢失,业务秒级中断;同城跨AZ容灾,数据不丢失,分钟级恢复,以及两地三中心部署。除了同城跨AZ和两地三中心,GaussDB还在探索异地多活,其主要特征有:

  • 支持多中心统一查询及全局一致读,整体资源利用率高;
  • 灵活的高可用方案:通过配置多副本,可以实现DC,AZ,Region级高可用容灾策略;
  • 负载分担及故障无缝切换;
  • 支持平滑在线扩容。
3.3.2.8 Scale-out在线横向扩展带来高扩展

        GaussDB支持单集群最大256节点,节点扩展下能够获得卓越的性能线性比,同时节点扩容能够做到完全在线,对客户透明。节点扩容完成后DN数据自动重分布,CN自动完成负载均衡。

        最后,除了带来GaussDB分布式关键特性解读之外,在1024程序员狂欢节期间,华为云还准备了一大波技术干货直播活动,既能学技术,还能抽盲盒、锦鲤大礼包。

参考链接

【文章汇总】GaussTech技术专栏-云社区-华为云

【酷哥说库】系列课程汇总-云社区-华为云

【GaussTech】分布式数据库技术的演进和发展方向-云社区-华为云

GaussDB系列数据库简介_gaussdb官网-CSDN博客

GaussDB社区_华为云GaussDB_开发者社区_华为云

高斯数据库GaussDB详解

GaussDB(DWS)介绍-CSDN博客

gaussdb简介

将GaussDB主备版同步到Oracle_数据复制服务 DRS_华为云

Oracle迁移至GaussDB最佳实践

本地Oracle同步到GaussDB分布式版_数据复制服务 DRS_华为云

GaussDB架构(上)_高斯db用了多久-CSDN博客

GaussDB架构(下)_数据库_Gauss松鼠会-华为开发者空间

GaussDB经验总结

openGauss核心技术

openGauss内核分析

一文读懂GaussDB的六大关键技术特性-云社区-华为云

【openGauss数据库内核分析系列】:SQL by pass & 经典执行器_opengauss内核-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江中散人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值