华为云苏光牛:未来分布式数据库凭事务+存储破局,HTAP是特性但非万能丨新创访谈

语言: CN / TW / HK

承载着业务快速发展与数据体量激增的重压,数据库在可用性、扩展性、兼容性、稳定性等核心能力上被投注了越来越多的诉求与期望,面对这些由时代赋予数据库厂商和企业用户的新命题,解法显然不止一种,但思路却终归一致——顺势而为,应变而变。由此,近年来,我们看到了分布式架构带来的降本增效、云原生技术带来的弹性便捷,还看到了国产数据库从外围到核心业务系统应用的渐入佳境。这些看得见的变化仅仅只是开端,那些还未企及的变革,我们或许能从华为云数据库服务总经理苏光牛的本次专访中得到启发。

专访过程中,苏光牛多次表现出对国产数据库核心技术、用户适配度的信心和肯定,但他同时也指出,展望未来发展,一款真正的企业级分布式数据库,必定要在分布式事务和分布式存储上取得更大的改进和突破,才能从根本上解决用户的核心需求。此外,在国产数据库后续的大浪淘沙中,生态建设及人才培养将是制胜关键,需要持之以恒的投入。

而对于企业用户如何应对海量数据挑战,进行数据库改造和国产化替代,苏光牛一语中的,指出大多数企业的担忧并不在于数据库本身,而在于“变化”,担忧作出变化后带来不可预测和不可控制的风险。他建议企业抛开传统思想,用辩证的思维综合衡量规模、成本、效率、安全、运维难度等问题,致力于将更多精力集中在应用和业务当中。

以下内容整理自dbaplus社群联合发起人、新炬网络董事/副总经理程永新与华为云数据库服务总经理苏光牛的独家对话,希望能同时给到国产数据库厂商和企业用户更具体、更详实、更适用的数据库应用策略与发展建议。

新 创 访 谈

受访嘉宾: 苏光牛 (上图左二),华为云数据库服务总经理,负责华为云数据库业务的战略制定与发展,负责华为云数据库服务产品与解决方案的研发、运营和运维等。在数据库领域、IT基础设施、虚拟化和底层软件具备丰富的开发经验和团队管理经验,长期负责华为公司IT基础设施的研究与开发、虚拟化、数据库等解决方案的交付

采访者: 程永新 (上图左三),dbaplus社群联合发起人,新炬网络董事/副总经理,拥有超过20年IT行业管理经验,计算机本科、工商管理硕士及EMBA。

何为真正面向未来的分布式数据库

分布式事务+分布式存储齐头并进,

HTAP是趋势但并非万能

程永新: 作为一种新兴技术产品, 分布式数据库 的成熟度还有待提升,很多人依然保持观望态度,尤其是应用于核心系统,对此您有什么建议?

苏光牛: 从技术角度以及企业发展来看 ,随着业务的快速发展和数据量的爆发式增长,传统数据库在容量、扩展性、可用性等方面都遇到了巨大的挑战,只有分布式才能解决这些问题,才能满足企业的核心需求。所以在技术层面,分布式数据库是大势所趋,是未来。

从产品创新的角度来看 ,传统数据库以Oracle为代表,在集中式架构上已经做得非常成熟和完善,而基于企业客户当前的真实需求,分布式架构正是时代给予数据库产品的新命题。

从商业落地的现状来看 ,业界要对分布式数据库有信心,要给分布式数据库更多机会。以华为云GaussDB为例,当前已经在1500+政企客户规模商用,其中包括对数据库产品综合能力要求最为严苛的金融行业,GaussDB已经在国有6大行中的4家商用,并且应用在其核心业务系统中。经历更多核心业务系统的打磨,产品能力也将进一步得以完善成熟。

程永新: 分布式数据库目前有多种技术路线在同步发展,不同人口中的“分布式数据库”可能代表不同的技术栈,主要被归纳为分布式中间件、分布式事务、分布式存储这三大类。您认为未来的趋势是这种多样化持续发展,还是会最终统一为一种形态?或者说怎么才是真正的分布式数据库架构?

苏光牛: 分布式中间件是介于上层应用和数据库之间的一层架构,或者说更贴近于应用层。实际上,分布式中间件会造成应用复杂度的提升,而通过底层数据库来实现分布式,应用开发者只需要关注数据库提供的API和开放能力,降低了应用的复杂度,企业可以将更多资源投入到应用以及业务本身。

我们认为真正的分布式数据库应该是分布式事务与分布式存储的深度融合,这是分布式数据库的典型特征。 首先,分布式事务最大的特点就是解决性能问题,分布式数据库要确保高可用必须在分布式事务上进行更多的改进;其次,分布式存储也要重点突破,要做到在存储上具备一定的计算能力,让存储去理解一定的数据结构。

华为云GaussDB在分布式事务以及分布式存储层面做了大量优化和创新,在分布式事务层面提升性能和数据一致性;在存储层面充分利用存储的计算能力,创新性地推出了近存储数据处理(NDP, Near Data Processing),并结合并行处理(PQ, Parallel Processing),进一步提升了分布式数据库性能。

程永新: 不少企业在经历了数据库拆分后,随着对数据一致性和实时性要求的进一步提高,发现对数据库整合的需求越来越强烈,最终又想回到集中式架构的怀抱。您认为企业该如何避免盲目跟风为了拆而拆,重新审视数据库架构选型的合理性?

苏光牛: 相比较集中式数据库,分布式数据库的扩展性、可靠性、可用性以及灾备能力的增强,可以给企业的运维以及系统设计带来更大的弹性。但 这不意味着一个分布式数据库就可以满足企业的所有诉求 ,而是要从业务、安全、容灾、性能以及运维角度出发,综合考量,选择适合自身业务和应用场景的数据库,设计合适的数据库架构,不能为了拆而拆。

程永新: 说到合还是分这个话题,不得不提到近年来许多国内外数据库厂商都在聚焦的HTAP,您如何看待这种可同时支持OLTP和OLAP的混合负载能力?会是未来数据库主流发展方向吗?

苏光牛: HTAP是未来数据库发展的一个方向,一个数据库同时满足企业对OLTP和OLAP的诉求,保证了查询和分析结果的实时性,更好地支持业务决策的实时性和敏捷性,但是 需要注意以下三点:

  • 分布式数据库是实现HTAP的最佳方案;

  • HTAP有一定的适用范围,是在TP的基础上增强了其AP能力,支持对查询分析有时效性诉求的业务场景。另外,一个数据库不可能存储企业所有的数据;

  • 从企业的业务角度出发,复杂决策需要汇聚不同来源、不同类型的数据在一个集中点,需要通过专业的数据仓库、数据湖或者湖仓一体的方案来构建专业的数据分析系统。

数据库迁移的风险防控与选型建议

兼容Oracle是个移动靶,

还容易把自身产品做成“四不像”

程永新: 更换数据库存在不少挑战,一是新产品、新架构带来的风险,二是迁移改造中的不确定性,三是产品本身在稳定性上潜在的问题。应对这些情况,有没有较为稳妥的迁移方式?

苏光牛: 数据库是底层软件,上面是应用和中间件,下面是操作系统和硬件,所以数据库尤其是异构数据库的替换是一个非常复杂的系统性工程,在替换过程中会遇到各种各样的问题,这些问题的解决不是靠某个工具或某个人就能搞定的, 比较稳妥的方式是把整个迁移过程细化、分解,针对每个阶段都制定详细的方案并做好验证,能工具化的一定要工具化 ,因为工具出错的概率比人要低很多,不能工具化的一定要找对应的专家来解决,过程中做好风险管理,及时闭环。

为了帮助客户迁移,我们提供了多种工具,比如:

  • 数据库迁移工具UGO,实现异构数据库对象和应用迁移,语法的转化率达到90%以上;提供14类核心对象的采集,是当前业界最全的对象采集工具;

  • 数据在线迁移工具DRS,能帮助客户实现数据的在线迁移、数据校验;

  • 流量回放工具,可实现对源端业务流量抓取,然后在目标端进行回放能力,确保迁移后业务的稳定性和性能。

程永新: 在不少“去O”项目中,为了尽量减少迁移工作,会选择兼容Oracle语法、甚至存储过程的产品。此类产品确实减少了迁移工作量,但从长远角度来看会是一个很好的选择吗?

苏光牛: 的确,现在有很多数据库厂商为了减少迁移工作量,主动或被动选择了兼容Oracle这个策略,但显然这不是最好的选择。首先, 兼容Oracle是一个移动靶,永远不可能做到100%兼容 ,因为Oracle本身也在演进;其次, 做Oracle兼容很容易把自己的产品做成一个“四不像” ,今天兼容Oracle,明天就有可能兼容DB2或SQL Server,这么做反而会牺牲掉自身产品原生设计的优势;另外, Oracle兼容也可能存在法律风险 ,尤其是兼容Oracle特有的语法,要慎重。

程永新: 站在用户的角度看,目前各分布式数据库厂商在产品技术实现上存在较大差异,并且没有通用的使用标准,您有什么选型建议?

苏光牛: 我认为在产品选型时应该考虑以下几个方面:

  • 厂商层面: 产品是否是长期战略投入以及具备规模商用能力,是否有完整的产业生态、未来人才储备,确保厂商有能力长期服务客户并保证市场人才供给;

  • 技术层面: 产品的成熟度如何,是否经过核心商业系统对高可靠性、高可用性、安全性的打磨和考验,是否有规模应用案例;

  • 外围工具: 是否提供数据迁移、容灾备份,以及完善的管理监控工具来帮助客户更好地使用和管理数据库;

  • 生态开放: 数据库能力开放,客户不被封闭生态所绑定。

云化及国产化的势在必行

拥抱云架构,借助国产数据库优势,

应变而变才能乘势而上

程永新: 数据库上云是大势所趋,但鉴于中国国情等特殊原因,金融、电信、政务等行业的数据不可能完全搬到公有云上,混合云将成为中国企业用云的主流模式。然而由于不同的云资源壁垒难以打通,各业务系统架构也缺乏规模效应,会使混合云运维与运营更加复杂,稳定性、数据一致性等问题得不到保障,可有较好的解决方法?

苏光牛: 数据库上云已经是业界共识,即使客户因为特殊原因无法将业务部署到公有云,最终也会采用混合云或者云化架构。 如今,我们面临的是愈加庞大的IT系统场景,如果企业没能及时转变到云架构的设计思路,依然用传统思维去建设和应对大规模复杂IT系统,当遇到机器故障时就很容易酿成事故。混合云或云架构的弹性和易用性给企业运维带来的好处是显而易见的,但既然选择这种特殊方式,就免不了要接受一定的运维成本,但相对于企业自行搭建一套负载均衡等平台,无论是从人员成本、运维成本还是使用难度来说,整体下来其实都比用公有云要高。

为了满足不同的客户诉求,华为云数据库以公有云和华为云Stack形式提供服务,客户可以选择适合业务模式的部署形式;而且云上云下版本、技术栈、API保持一致,客户可以在合适的时间在混合云和公有云之间迁移。

程永新: 圈子里不乏这样一些声音,说目前市面上不少国产数据库都是由MySQL和PostgreSQL魔改而来的,倒不如直接用MySQL或PostgreSQL。对此您有什么看法?

苏光牛: 这是一个产品应用场景的问题,开源数据库产品和自研产品针对的应用场景和客户诉求是不同的。 直接使用开源数据库产品,要求企业自身具备一定的人才储备和技术能力,熟悉产品的使用场景和技术细节 ,可以在产品出现问题而社区没有修复的情况下,有能力解决问题。

开源数据库对于初创期的数据库厂商来说,的确是一个很好的范本和参考对象,但要作为一款企业级数据库推出市面,真正满足企业实际需求,其实需要做很多非功能性的属性,包括性能、可安装、可用性、易用性、安全性等,这些非功能性需求对数据库来说占比非常高,但开源产品是不具备的。

在华为云上,我们提供了不同的数据库服务来满足不同应用场景的客户诉求:

  • 华为云RDS for MySQL、RDS for PostgreSQL、DDS文档数据库服务(文档类型Mongo),基于开源打造的数据库服务,主要面向数据规模较小、对性能要求不高的业务场景,提供极致性价比的解决方案。

  • 华为GaussDB系列,立足创新与自研,一方面拥抱并兼容MySQL等生态,另一方面打造开放的openGauss生态,主要面向政企客户,满足对高性能、高可靠、高安全以及服务能力等方面的诉求。 

程永新: 如今,数据库国产化替代已不再停留于能不能的问题,而是对谁能交付得更快、投入成本更少、安全性更高的考量。您认为目前国产数据库与Oracle为代表的国外商用数据库还存在哪些差距?接下来国产数据库该如何在技术、生态等层面消除用户的后顾之忧?

苏光牛: 首先,以Oracle为代表的传统数据库产品,经过多年发展和积累,产品能力完善,生态成熟。与之相比,目前国产数据库在特性上仍然存在不少差距,但在实际的企业使用中,已经足够满足包括接口上、数据迁移上、应用改造上等大多数需求。而且随着业务的增长,企业对数据库的可用性、可靠性、性能以及扩展性提出了新的要求,传统数据库已经无法满足,而 云原生、分布式,则更适合企业当下及未来对数据库的诉求 ,这也是以GaussDB为代表的国产数据库的优势所在。

在技术层面,其实国产数据库的性能已不是问题,当然也不能盲目追求性能数字,很多特殊的优化手段在实际应用中根本无法使用,多数企业更多的担忧其实在于变化,担心变化后带来不可预测和不可控制的风险。所以正如我前面所说,业界要给国产数据库更多信心和机会,只有经历过核心系统的不断打磨,才能促进产品技术能力的进一步成熟。在生态层面,以GaussDB为例,我们通过产学研用全面结合,为业界培养未来数据库人才,同时为开发者提供全方位的资源支持,上线GaussDB从初级到专家的培训认证,以及与合作伙伴联合开发解决方案,从全产业链打造生态,确保为用户提供可靠的、持续的服务和支持。

以开源打造数据库根技术

开源需要持之以恒的投入,

国产数据库亟需人才的培养

程永新: 开源是近年数据库领域非常火的一个词,2020年华为就开源了openGauss,对于这种投入巨大且短期内较难收益的举措,你们是出于怎样的考量要和开发者、伙伴一起共建openGauss开源社区?

苏光牛: 华为一直积极参与开源社区,是多个全球顶级开源项目的重要成员,在开源领域贡献排名国内公司第一。

说到数据库,华为在2001年就开始做数据库,当时是为了满足运营商业务需求,做的是一个内存数据库。从2011年开始战略投入,荟聚全球7大研究所、1000多名数据库专业人才,结合华为软硬全栈协同方面的优势,先满足华为自身极度复杂业务场景的需求。

在当前的大环境下,中国需要发展自己的数据库根技术。基于华为多年参与、支持开源社区的积累, 我们将GaussDB单机主备能力开源,与合作伙伴、客户、开发者共建、共享、共治openGauss开源社区,共同促进国内数据库行业的快速发展,打造数据库根技术。

程永新: 在开源至今一年多的时间里,开源给你们带来了什么?

苏光牛: 数据库是一个生态型的产品,只有把生态做起来,才能形成共赢的局面。 从2020年6月开源到现在,openGauss社区吸引了2500多开发者、30000多用户、20个兴趣小组、6个城市用户组,12家合作伙伴基于openGauss发布了自有品牌数据库,100家头部企业加入社区,我们看到了一个蓬勃发展、越来越活跃的openGauss开源社区。

程永新: 您如何看待国产数据库相继开源的热潮及未来发展?

苏光牛: 开源将会促进国产数据库的快速发展,对整个数据库行业以及数据库从业者都是有利的。但是 开源需要真正的开源,不是简单的开放代码,而是需要长期的、大量的人员和资源投入,与业界共建社区、不断改进产品 。长远来看,只有像华为这样将开源当作业务来做的才得以促进开源的持续发展,获得生态的成功。

纵观当下国产数据库百花齐发的态势,未来要想真正将数据库产品做大做强,我认为核心在于人才。因为数据库是一个对工程化要求特别高的东西,对代码精细化程度有非常高的标准,如何把成熟的理论在代码层面实现出来,既满足高可用,又满足高性能,还要满足数据一致性等基本要求,并不是一件简单的事情。所以 国产数据库想保持向上的势头,未来发展必须注重数据库内核人才的引入和培养。