数据库是软件领域的核心关键技术,被誉为“软件皇冠上的明珠”。进入新时代,数据已经成为生产要素,得益于中国数字经济的迅猛增长,对数据库的要求也越来越高,有越来越多的优秀人才聚集到数据库核心能力研发的产业链中。华为作为业界领军者,二十年磨一剑,在时光洪流中坚持不懈打造高斯数据库,并将在未来五年继续携手百万社区开发者向着星辰大海进发。
经过近60年的蓬勃发展,数据库发生了翻天覆地的繁荣发展,百家争鸣,百花齐放,高斯数据库应运而生。早在2001年,华为就开启了自主研发数据库的历程,2005年华为启动SMD的开发,2008年基于Postgresql开源数据库的开发启动。2012年华为组建实验室,铸造“方舟”应对数字洪水,成立高斯部(纪念大数学家高斯),负责数据库产品技术研发。
2019年,高斯数据库正式发布,按照应用场景和产品特点分为三个系列:
1.GMDB(内存数据库);
2.GaussDB 100 OLTP数据库;
3.GaussDB 200 OLAP数据库;
GaussDB采用分布式关键技术架构,实现一套代码同时支持OLAP和OLTP业务场景。OLTP主要业务场景一类是金融银行业务场景,一类是互联网业务场景。满足以下5个重要需求:
(1)业务故障中断时间,恢复时间目标尽可能短,最好是RTO=0。
(2)任何故障,数据不出错,不丢失,数据恢复点目标RTO=0。
(3)并发和性能满足业务诉求。
(4)易于运维,最好是自动诊断,自动修复。
(5)易于调优,最好是自调优。
OLTP是数据仓库的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。OLTP数据分析场景有5个关键需求:
(1)数据量大,容量可扩展。
(2)复杂查询多,计算复杂度高,必须分布式并行计算。
(3)SQL自动优化能力要强,自动调优诉求强烈。
(4)数据入库速度要快。
(5)故障恢复RTO尽可能短,数据不丢失即RPO=0
Gauss DB以云服务形式提供商业版本,并在2020年推出开源数据库产品openGauss(社区网址为https://opengauss.org)。
openGauss整个系统设计是可插拔,自组装的,并支持多个存储引擎来满足不同场景的业务诉求。目前支持行存储引擎,列存储引擎和内存引擎:
(1)行存储引擎,主要面向OLTP场景设计,例如订货,发货和银行交易系统;
(2)列存储引擎,主要面向OLAP场景设计,例如数据统计报表分析;
(3)内存引擎,主要面向极致性能场景设计,例如银行风控场景。
openGauss行存储引擎采用原地更新(in-place update)设计,支持MVCC(Multi- version Concurrency Control,多版并发控制),同时支持本地存储和存储与计算分离的部署方式。行存储的特点是支持高并发读写,时延小,适合OLTP交易类业务场景。




