mayipaobu 2019-06-22
最近一个月,华为公司面向全球发布了人工智能原生(AI-Native)数据库GaussDB和业界性能的分布式存储FusionStorage 8.0,将多年的AI技术和能力以及数据库经验融入到新品,实现很多创新性突破,比如人工智能技术融入分布式数据库的全生命周期、一套存储可同时支持块、文件、对象、HDFS协议等。
其中,最为标杆性的场景应用实属招商银行,在实践中:
华为GaussDB管理数据容量提升10倍,AZ内故障恢复速度提升30倍。以故障恢复为例,GaussDB的RTO时间小于1秒,而其他厂商则需要30秒;
FusionStorage 8.0在招行,部署渠道接入、开发测试、VDI以及大数据系统,一套存储替代原有4种存储设备,节省40%的TCO,业务上线速度提升9倍。其次,将人工智能技术融入存储全生命周期管理,从资源规划、业务发放、系统调优、风险预测和故障定位等方面实现智能运维管理,实现云上云下协同。再者,分布式存储性能业界第一,单节点性能高达16.8万每秒读写速度(IOPS)和1毫秒以内延时。基于ARM的算力,IOPS提升20%,基于AI Fabric网络,时延降低15%。
历时9年的研发和打磨,低调谨慎的华为终于掀开了GaussDB数据库的神秘面纱,让之走到了台前。
其实,GaussDB并非是一个产品,而是系列产品的统称,目前GaussDB至少包含有3款产品,有面向OLTP的数据库,面向OLAP的数据仓库,还有面向事务和分析混合处理的HTAP数据库。
做数据库内核开发如在刀尖上跳舞,压力很大,但凡在内核架构与机制制定上有一丝一毫没考虑清楚,那么,上线就一定会出问题,后果严重。因为,一旦确定的方向进行不下去,就会导致推倒重来。一位核心研发工程师对笔者说。
2007年,因为电信实时计费项目困境,华为开始组织人手研发内存数据库,项目代号GMDB,这是可追溯华为最早的数据库研发记录。
当时,华为决定自研内存数据库的想法并不高大上,而是很单纯,完全不是外界所猜想的搞个数据库去售卖并干掉谁,纯粹只是因为在电信计费领域,华为解决方案找不到能与之很好契合的数据库,仅此而已。
众所周知,电信行业对数据库要求较高,尤其是可用性,定制化需求较多,涉及改动工作量大,而采用国外数据库,让原厂来配合改动,人家未必会配合。因此,无奈下,华为被迫走上了自研数据库的道路,以此来提升自身解决方案的竞争力。
不过,2007年的GMDB并没有取得大规模商用,只在小范围内进行试用,但这个版本却锻炼了一大批人。当时,国内对数据库内核开发知之甚少,有经验者寥寥,都是摸着石头过河。
但有苗不愁长,到了2010年,华为数据库研发团队开始对2007年版本进行全面重构,并写下了重构版本的第一行代码:
“typedef struct st_database{...}database_t;”
数据库对象的定义。
从这个版本开始,华为数据库的定位已经不再仅局限于内存数据库,而是在向通用关系型数据库逐渐转变,重构过程中,开始融入大量非内存数据库的特性,这就是Gauss OLTP数据库的前身。
重构后的版本,质量上取得了显著提升,2012年,GMDB开始大规模商用,主要应用于电信计费领域,同时,在华为内部,众多配套的解决方案也开始使用GMDB。
华为GaussDB 200开始于2012年,研发团队分析了业界数据库相关理论和技术,在基于传统关系型数据库的SQL引擎和事务强一致性等基础上,进行了分布式、并行计算的改造。历时6年,打造了一款架构领先的分析型数据库,为各行业PB级海量数据分析提供有竞争力的解决方案。
GaussDB 200可以很好兼容标准ANSI SQL 99/2003语法和PostgreSQL生态。
与传统数据仓库产品使用专有硬件不同,GaussDB 200运行在通用X86服务器上,采用MPP+shared-nothing架构,因而能够具备良好的扩展性。可以在不中断业务的前提下,实现数据库的在线扩容。
这个扩容采用表级扩容机制,即完即用,支持未扩容表与已扩容表之间关联分析;通过引入一套增量机制记录扩容重分布过程中的数据修改(增删改),待基线数据重分布完成后,将增量数据Merge到扩容后的集群中;提供任务自动等待Retry机制,确保新旧数据切换业务不中断、无感知。
GaussDB 200 MPP节点间并行+SMP单机多核并行+列存向量化指令集并行+LLVM机器码编译等技术,可以充分发挥集群硬件资源,能够达到万亿级数据查询秒级响应的能力。其中通用X86服务器上,可以提供弹性集群、跨代兼容等特性,避免硬件锁定。
GaussDB 200支持通过SQL访问HDFS上的数据,支持CUDF,支持全文检索,从而为数据业务创新,提供简单应用的技术手段。
还记得华为GaussDB发布视频中的一行文字:向数学致敬、向科学家致敬。GaussDB,不仅蕴含着华为对数学和科学的敬畏,也承载着华为对基础软件的坚持和梦想。
后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~