云原生时代,数据库会如何演进 ?

IT猿人 2023-01-18
4429 字丨阅读本文需 10 分钟

伴随数字化转型步入“深水区”,企业的业务需求迭代迅速,数据量和并发访问量呈指数级增长,传统关系型数据库在海量数据存储和迁移、大规模的数据量和并发访问业务场景中越来越捉襟见肘。在数字化时代,云原生数据库应运而生,并发挥着越来越重要的作用。

云原生数据库不仅仅是“数据库”+“云”。众多的实践要求数据库厂商对数据库内核、架构进行重构,基于云的架构来构建“生于云、长于云”的数据库,以此实现资源的极致弹性、数据的全域高可用和极简的用户体验,让用户使用数据库像使用水电一样自由便捷。

一、云数据库进一步演进:云原生数据库诞生

相比传统数据库,云数据库确有一定的进步,但是其本质上并非针对云场景或云环境来设计和构建的,只是用到了云的资源,因此存在一些局限,比如资源利用率低、维护成本高、可用性低等,从而限制了业务发展。随着云计算深入发展,云计算步入云原生时代。同时,越来越多企业加速数字化转型,业务对数据的诉求不断提升,倒逼着云数据库进一步演进,更加适应云特性的云原生数据库就此诞生。云原生数据库的目标主要是充分利用云基础设施的资源弹性调度实现数据库资源的极致弹性伸缩、数据就近访问、多模兼容,让用户专注在业务创新,而不用在数据库管理和运维层面耗费资源。云原生数据库的这些优势,受到越来越多企业的欢迎,而且热度不断攀升,已经成为数据库行业的重要发展趋势之一。

为什么云原生数据库这么火?在华为云数据库软件总工程师彭立勋看来,第一,传统数据库的使用门槛相对较高。以前,数据库主要是本地部署(On-Premises),从采购机器、规划容量到部署软件,整个过程非常复杂。他说:“有了云计算,尤其是云原生数据库出现后,正好遇上企业数字化转型,对数据库的需求增加,而云原生数据库可以开箱即用,不用像以前那样做大量规划、采购和部署等。”

第二,云原生数据库能满足企业对数据库弹性伸缩的需求。而传统的做法是靠 DBA 规划,这很容易出现问题。对此,彭立勋深有感触,他以前做 DBA 时,要对容量做很精细的规划。如果规划没做对的话,要么浪费资源,要么性能不足,然后还要重新调整。

第三,云原生数据库可以从技术上解决传统数据库面临的资源、性能和扩展性受限等问题。传统上,这些问题要靠 DBA 不断提升自己的技术能力去解决。他表示,云原生数据库出现后,云服务商提供的相应产品本身就具备这样的能力,因此对企业来说,数据库的使用门槛大大降低。所以,在进行数字化转型时,很多企业倾向于选择云原生数据库。从传统数据库到云原生数据库,这是数据库自身的演进。更重要的是,数据库演进的背后折射出企业业务的变化。

据彭立勋介绍,首先,从以资源为中心到以应用为中心。从企业视角出发,它一定有一些自身需求,比如要求资源能弹性扩展。以前,缺乏这种技术时,企业主要是以资源为中心,有多少资源配多少数据库,然后再根据资源的表现和负载情况进行调整。云原生数据库出现后,从以资源为中心转变成以应用为中心,通过技术手段让用户使用更简单。企业只管用数据库,不用管背后到底需要多少资源。如果资源不够,系统自动帮你扩展,或者用户手动进行弹性扩展,速度更快、效率更高。并且,企业无需像以前那样预先规划资源,直接自动或手动调整资源即可。

其次,从以地域为中心到以流量为中心。以前,数据在哪,应用就要布置在哪,或者说应用在哪,数据也要同步到哪,这是以地域为中心。为了给用户提供最快访问,企业往往需要在各地设置数据中心,然后通过各种方法把数据同步到用户就近访问的地方。基于云原生数据库,企业只需要关注流量从哪里来,用户从哪里访问,数据库会将数据分布到不同的 Region,应用就近、随时随地访问数据。彭立勋表示:“应用在哪,数据库帮你把数据往哪同步。对用户来说,全球是一张网。”

最后,从以负载为中心到以数据为中心。传统上,不同的负载要放在不同的数据库里,比如报表、分析类的会放在一种数据库里,文档或键值类的放在另一种数据库。云原生数据库出现后,用户不同的负载由云服务商在后端适配不同的数据库实例,或者帮用户做同步,将数据放到适合做相应查询的数据库里。不管用户使用什么类型的负载和数据模型,都由云服务商帮用户判断。

“比如偏 OLAP 的,我们把它转到适合 OLAP 的数据查询的节点上。简单说,华为云云原生数据库改变了用户习惯,让用户对数据库的使用变得没有那么复杂。”他补充道。

此外是商业模式的改变。传统数据库是基于授权来获取商业收入,企业在使用数据库前要先购买 license。如果预估不准,企业采购的 license 就会存在浪费或不足的情况。而云原生数据库是以云服务的方式提供给用户,按需使用,用多少资源、使用多长时间,相应的为使用资源付费。

二、云原生数据库领域的挑战和进展

在过去相当长的一段时间里,云服务中被使用最多的是虚拟机,也就是物理服务器在云端的虚拟化服务。IT 用户享受到的好处是最朴素的自服务、免运维、高可用、高弹性、高可扩展性和按使用付费,当然这些都只是在虚拟机和 OS 层面(Infrastructrue as a service)。

为了更好地满足数据库用户的需求,云厂商开始提供数据库服务(Database as a service,DBaas)。为了降低开发成本和用户的学习难度及应用迁移门槛,最早的 DBaaS 大多是基于 IaaS 的数据库运维自动化,本质是传统数据库系统平移到云端的一种全托管服务,用户看到的和使用的数据库,除了在访问 OS 层面有所限制,其他并无二致。

在云计算(IaaS)成为趋势并逐渐成为 IT 行业的标准基础设施之后,上述这种做法导致的问题便浮出水面:

问题一:数据本身的爆炸式增长,数据库无论在物理环境还是云端虚拟环境,都需要具备更高的扩展性和更强悍的性能。传统数据库的架构由于受限于历史原因,本身具有的缺陷和瓶颈在云端则更加明显。例如,进行性能优化和执行调度时,传统数据库在资源有上限的物理环境中更在意资源的使用率,并且需要投入大量精力来考虑 RTO 和 RPO,那么整个系统就会因此增加复杂度。然而,这种复杂度在云端是没必要的,并且会造成巨大的资源浪费和开发投入。

问题二:随着数字化程度的进一步加深,业务敏捷度也成为 IT 系统最关注的核心指标之一,数据库的弹性能力是支撑应用和业务敏捷度最重要的基础能力。基于物理环境设计的传统数据库,即使平移到云端,也无法充分利用云端计算和存储资源的高弹性能力。例如物理环境和云端环境的硬件特性,包括但不限于吞吐量、读写特性、资源部署时间、资源回收时间以及消耗成本,都是不同的。如果没有考虑到这些不同点,就会严重影响数据库实际的弹性能力。

问题三:由于大多数用户在数据库上的预算增长超过其他组件的增长,使其更加看重数据库服务的性价比。然而,多云部署日益流行的今天,每个云厂商的定价策略,计算、存储和网络资源的计价方式和能力表现都有或多或少的差异。如果仅仅将一个传统数据库平移上云,很难基于这些复杂的因素做出最优的判断决策,也无法达到最优性价比。

因此,用户和市场都需要一款能充分利用云端的计算、存储和网络资源特性,具备真正的高弹性、高可用和高性价比优势的数据库,这就是云原生数据库发展的最核心驱动力。要实现这样的目的,一个基于云环境精心设计、打磨的技术架构是不可或缺的。这就需要长期持续的投入,才能对云环境足够的了解并对数据库生态充分适应。

在基础设施层面,其能力也在不断演进。《2021 InfoQ 年度技术盘点与展望》的“架构篇”里提到。在 2021 年,各个云服务商都在不断拓展 Serverless 产品线的能力。在 Web 应用、微服务、事件处理和批处理任务等场景,Serverless 正在成为最流行的架构。在 2022 年,这个趋势依旧在延续,并且还在不断深化,代表企业有亚马逊云科技、阿里云等,这也意味着 Serverless 已经从概念和愿景逐步演进至落地实践。

Serverless 能更好的提供计算资源的弹性和可扩展性,从而提高应用系统的性价比。对于计算成本占比较多的数据库系统来说,是一个不可忽略的重要技术趋势。同时,能否利用好 Serverless 服务也是架构是否云原生的重要指标之一。相比之下,国外企业的上云速度与规模快于国内,其已经累计了大量的云上数据以及应用场景,可以帮助数据库厂商打磨云原生数据库能力。以 Snowflake 为代表的云原生数据库,目前已经到达了收获的阶段,在 Snowflake 公布的 2023 财年第三季度的财务数据显示,Snowflake 第三财季的总营收为 5.57 亿美元,同比增长 67%。而在国内,Serverless 在数据库中还没有得到大规模应用。

离商用化尚有距离的 CXL 也是云厂商关注的热点技术趋势,此外,GPU、FPGA 等异构芯片在云端的使用也在加速增长,这些对数据库的技术演进也会有较大影响。

在软件应用方面,智能制造、机器人、自动驾驶和元宇宙等新应用还在不断成长之中,数据库厂商也需要关注这些领域的需求增长和变化。这些应用场景相关的图数据库、区块链数据库、时序数据库等也在持续迭代。

三、云原生数据库未来将如何发展

从星星之火到燎原之势,在数据库领域,云原生数据库蔚然成风,风起云涌之后的云原生数据库又将怎样演进、驶向何方?

在华为云看来,“以客户为中心,解决客户最关注的问题”是接下来云原生数据库发展演进的关键。基于此,华为云提出云原生数据库的三大发展方向:Serverless、Regionless 和 Modeless,这也成为 华为云云原生数据库 的发展指南。

彭立勋说:“客户最关注的几个问题,一是资源调度,二是数据访问,三是使用体验。现在,越来越多的客户希望聚焦业务,聚焦于挖掘数据的价值,而非聚焦做一个具体的技术,因为对大部分有这种业务的企业来说,它并非一家做 IT 技术的企业,它关注的是自己所在领域的业务。所以,针对这几个方面,我们提出 Serverless、Regionless 和 Modeless 三大发展方向。”

具体说来,Serverless 要解决资源调度问题,实现资源的极致弹性。在遭遇故障、规格变更时,整个资源弹性调度速度可以从分钟级缩短到秒级,这样对用户来说,真正的无感知;Regionless 是解决用户的数据访问,数据库全域可用,业务可以在任意地方进行接入和访问,同时带来跨地域的高可用,用户只需关注业务的数据流动而不用担心业务的跨地域部署和访问;Modeless 要解决的是使用体验,一个统一入口能智能地处理各种类型的负载,不管是交易型、分析型、 NoSQL 模型、 MySQL 模型,我们以统一入口,提供给用户,提升用户的易用性和效率。

当然,Serverless、Regionless 和 Modeless 的落地应用还需要更具体的技术支撑。Serverless 方向,华为云云原生数据库在三个能力上重点投入,分别是 ALT、AST、ATC。首先是通过 ALT 应用无损透明倒换框架(Application Lossless and Transparent)实现应用层对底层调度倒换的无感知,当用户进行主备切换、小版本升级或者规格变更时,系统可以打包用户的会话上下文状态,在达到安全的事务边界后,确保会话上下文状态被完整重放至目标节点并与原会话一一关联保证业务持续性,不受各种操作的影响。

其次是通过 AST 应用弹性透明调度框架(Application Scaling Transparent)满足根据负载智能调度实例的需求,AST 融合了一些 AI 的能力,能够根据客户负载情况生成模型预测,从而以更精确的方式,提前扩缩资源。

最后是通过 ATC 应用透明集群(Application Transparent Cluster)实现读写能力的横向透明扩展。

Regionless 方向,华为云云原生数据库会重点聚焦于全域分层式引擎、全域数据总线(Global Dataflow Bus )和全域一致性集群三个方面。彭立勋认为, Regionless 首先要实现的便是低成本跨越存储,不同的数据中心的存储成本是不一样的,从成本角度考虑,最合理的方式就是将客户不常用的或者对时间不敏感的资源,放到一些比较低成本的地域, 华为云云原生数据库的全域分层式引擎就是为了实现这个诉求;同时,要为所有的数据提供就近访问、跨域访问的数据分布,还需要有一个全域的数据总线(Global Dataflow Bus),它能让用户在不同的 Region 之间按需复制数据,接下来还将根据数据的访问频次更加智能地判断、精细化调度;此外,面向数据全球化的场景,华为云云原生数据库也在投入全域一致性集群方面的研发,利用类似全球转发的技术,去实现用户不管从全球哪里接入,所看到的数据都是一致的。

彭立勋称:“最终我们要达到的目的是通过 Regionless 实现全球数据多活、故障自动再倒换、本地数据就近访问、全域数据分层的低成本存储。”

Modeless 方向,一方面华为云云原生数据库充分利用软硬件结合的优势,去高效处理不同类型的查询,比如数据并行查询 NDPQ 技术;另一方面推出了 HTAP 混合负载查询能力,它能够为用户同时提供一个一致性的行存和列存,给用户提供两种数据模型,通过优化器的智能调度,就能判断用户到底是适合哪一种数据模型,然后再从相应的数据引擎中把数据抽出来,实现快速访问;除此之外,针对多种模型混合的业务,华为云云原生数据库正在规划多模一体化的模型处理与转换总线,最终实现一个接口满足所有模型。

文章来源: 东方财富网,InfoQ

免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处本网。非本网作品均来自其他媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如您发现有任何侵权内容,请依照下方联系方式进行沟通,我们将第一时间进行处理。

0赞 好资讯,需要你的鼓励
来自:IT猿人
0

参与评论

登录后参与讨论 0/1000

为你推荐

加载中...