GaussDB 如何给世界一个更优选择?
![](https://static001.geekbang.org/infoq/b0/b016d9796d95d0fb679e996d82d23680.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
华为云 CEO 张平安
11 月 7 日,华为全联接大会 2022 第一天,华为云 CEO 张平安在主题演讲中,专门有一页 PPT 谈到了 GaussDB 信息量很大,不仅特别强调“GaussDB 云原生交易数据库,给世界一个更优选择”,同时,还分享了 2 个案例和一些数据。
华为云特别强调“云原生交易数据库”而非常规的“云原生数据库”,多出“交易”两字,不会是无意义的行为,这个小细节上的变化意味着什么?给世界一个更优选择,是哪些方面更优?背后有怎样的技术创新?这是本文要探讨的重点。
强调“交易”
意味着什么
众所周知,数据库按应用方向的不同,主要分为 2 大场景:OLTP(交易)和 OLAP(分析)。从中国市场看,OLTP 仍然是国外厂商占据最大市场份额,是国产化替换的主要市场,反而 OLAP 中国公司有一定商业基础。
Gartner 预测,“到 2025 年,中国分析型数据库市场来自海外厂商将只剩下 30%,交易型数据库市场海外厂商市场也只会剩下 50%左右。”这对国内数据库厂商而言意味着巨大的市场机会。在这样的背景下,张平安特别强调“交易”,难道是华为云释放的将发力 OLTP 场景下的国产替代信号吗?
数据库是所有应用的核心组件。大家知道,交易型数据库是最难的,在关键行业的核心应用领域,交易型数据库基本上都是来自美国的数据库。演讲中,张平安分享了 2 个案例,这两个案例共同点很显然,都是交易型场景替换。
一个是华为内部实践,华为集团流程 IT ERP 系统部署 GaussDB 后,各项性能和指标超过预期,采购履行耗时从 90 分钟下降到 15 秒;端到端订单履行耗时从 23 分钟下降到 9 秒;在历史峰值 5 倍压力下性能依然稳定不下降。
不要小看这个内部实践案例,华为集团流程 IT ERP 系统是个非常复杂的系统,该系统涉及 170 多个国家和地区,500+外围应用、3 万+个外围集成点,对数据库容量、性能以及可靠性都有极高要求。如:数据量大,单一个业务场景数据体量就高达百亿,而 ERP 总共有上百个业务,且数量还在持续增长;每分钟 30 万次库存查询请求及数万笔并发交易事务处理,区别于银行和互联网的交易事务,华为 ERP 关联系统众多,完成一笔入库交易比完成一笔秒杀交易在场景复杂度、技术复杂度、外部依赖等方面差异很大,华为 ERP 系统万级 TPS 比互联网的百万级 TPS 更难处理。据了解,该系统底层数据库过去 20 多年一直使用的是 Oracle,因为众所周之的原因,现在替换为 GaussDB。
另外一个是邮储银行案例,新一代分布式核心系统基于 GaussDB 为全行 6 亿多个人客户提供日均 20 亿笔的处理能力,联机交易处理效率提升 1 倍,批处理效率提升 33%,在 9 月底的三季度结息中,新系统仅用 23 分钟就完成了原来 Oracle 系统 70 分钟才能完成的操作。
张平安还提到,“GaussDB 已经在工行、招行、邮储等大型银行的核心业务系统上线使用,承担越来越多的业务负载。基于 GaussDB,新意科技打造了“证券业务核心系统”,服务于兴业证券、 南方基金等客户。”
显然,在 OLTP 场景下,GaussDB 已经可以实现国外数据库的完全替代,GaussDB 接下来将发力 OLTP 场景下的国产化替代,而金融行业肯定是重点。
如何理解
“更优选择”
“GaussDB 云原生交易数据库,给世界一个更优选择”,这其中“更优选择”指的哪些方面?华为云的论据是什么?
演讲中,张平安说:“为了给全球客户提供一个更优选择,华为云全新打造了全球领先的云原生交易数据库 GaussDB,更快、更稳、更可信。”
显然,“更优选择”包含 3 个方面:更快、更稳、更可信。
而这 3 个“更优选择”,据老鱼了解,对标的是“O”记。
更快对应性能,数据显示,GaussDB 比厂商 O 在公有云上同规格测试快 45%。
更稳对应高可用,华为云去年首先创新推出“同城双集群”方案,即在两个数据中心部署两套独立的数据库软件,任何软硬件故障完全隔离 RPO 等于 0。
更可信对应安全与自主可控,安全上,GaussDB 内核是目前唯一通过国际 CC EAL4+级认证的国产数据库。而自主可控上,GaussDB 代码自研率非常高,其研发历程可以追溯到 2007 年,投入之大积累之深,国内可比肩的并不多。另外,华为还积极倡导技术开源,深度参与信创数据库标准制定。因此,说 GaussDB 是一款完全符合国产化和信创标准的数据库,并不为过。
“更优选择”
背后的技术创新
为什么 GaussDB 能在性能、高可用、安全 3 个方面做到更优?背后有哪些内核级的技术创新?
高性能方面,从公开的可查询资料中可以发现,GaussDB 有 2 个方面的关键创新:
其一、是存储引擎,GaussDB 全新上线的 Ustore 存储引擎,又名 In-place Update 存储引擎(原地更新),这个存储引擎在以前的文章中,老鱼有过介绍。这是个行存储引擎,在以前版本的 GaussDB 内核中使用的行存储引擎是 Append Update(追加更新)模式,追加更新对于业务中的增、删以及 HOT(Heap Only Tuple) Update(即同一页面内更新)有很好的表现,但对于跨数据页面的非 HOT UPDATE 场景,垃圾回收不够高效。Ustore 存储将“有效数据”与“垃圾数据”分离存储,同时采用多版本索引技术,有效提升了存储空间的效率和性能。官方数据显示,相比常规引擎,性能抖动降低 70%,同时,整体性能提升 10%以上。
另一个,是软硬协同 Numa-Aware,鲲鹏服务器多 CPU-socket 架构下跨 NUMA 内存访问延迟存在严重的不对称,相比 x86 内存访问时延高 50%、并发控制原语代价高 2-3 倍,在数据库中以进一步恶化 OLTP 瓶颈,此外鲲鹏架构下 CPU 物理核心数相比 x86 有了大规模的提升,如何优化 NUMA 带来的访问时延问题,如何充分利用众核 CPU 解决并发控制问题成为了鲲鹏上优化数据库 OLTP 负载性能的主要挑战。因此,软硬协同 Numa-Aware 应运而生,通过内核线程调度 NUMA 亲和、关键数据 NUMA 化分布、LSE ARM 指令级性能优化等关键技术优化,GaussDB 实现了鲲鹏环境下性能 40%以上的提升。
据内部人士透露,2021 年,在 21 个金融政府大客户(涵盖银行、保险、公安、大型国企等)现场 POC 测试中,GaussDB 在性能上平均领先对手 50%,在人行、邮储等 POC 测试中,更是完胜竞品。
高可靠方面,当前谈的比较多的是通过一套数据库集群拉远,通过不断增加数据中心的方式,来提高可用性。从同城两中心到两地三中心,再到三地五中心,但是实际很少有应用企业能提供类似三地五中心这么高规格的基础设施,“中心”增加带来的可靠性收益逐步降低。
华为云认为,不管几个中心,只要整体一套软件(集群),就无法做到软硬件故障的完全隔离。数据库软件 bug,导致即使有同城备中心,切换也没有用,因为备中心是同一套软件。
去年底, GaussDB 首先创新推出了 “同城双集群”方案,这是一个重大的内核新特性。简单的说,就是同城的两个数据中心完全部署两套独立的数据库软件,任何软硬件故障完全隔离,支持版本轮换升级、应用灰度升级,主中心升级时应用还可以访问备中心正常开展业务,支持 RPO=0 、RTO<60s 的同城双集群切换,尽最大可能保障企业用户的核心业务 7x24 小时无中断。老鱼获悉,今年,这个方案已经在工商银行的 5A 级核心全球信贷系统完成上线,并联合工行向其他银行进行规模推广。
高安全方面,就在上月,GaussDB 成为中国首个获得国际 CC EAL4+级别认证的数据库产品。很多人可能不知道 CC EAL4+意味着什么?CC 认证是国际公认计算机维度的高级别安全认证,也是国际范围内 30 多个国家官方认可的通用标准。其中,EAL4+认证难度有多大?对比目前国外常见数据库主流版本通过的 EAL2 认证来说,EAL2 为结构测试级,开发者可递交设计信息、测试结果进行评估,而 EAL4 作为系统设计、测试和复查级,评估程序更为严谨,有对评估对象模块底层设计和实现子集的分析,更有对产品代码的审视和对产品研发环境的站点审计等。
而 GaussDB 能拿到 CC EAL4+主要的关键技术有 2 个:全密态和防篡改。这方面最近披露的资料比较多,就不在这里过多赘述,需要强调的是,2022 年 GaussDB 由纯软全密态全新升级为软硬结合全密态,据说相比竞品纯硬件方案性能优 20%。另外,GaussDB 还是业内首个以最高分通过信通院防篡改数据库基础能⼒评测的数据库产品。
公开资料显示,目前,GaussDB 已经在超过 2500 家大客户得到了商用,遍布金融、电商、游戏、汽车、制造、能源等各行各业。尤其是金融行业,已经在工行、招行、邮储银行等 30 多家金融企业的核心业务系统中广泛应用,GaussDB 通过这些案例,不论是技术本身,还是去 O 的方法论,都得到了较充分的实践。所以,在明确对比对象和具体指标前提下,GaussDB 说自己是更优选择,没毛病。不得不说,华为云还是一如既往的严谨,用“更优选择”而非“最优选择”,这是相对与绝对的区别。
评论